Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

OoqpVector Class Reference
[AbstractLinearAlgebra]

#include <OoqpVector.h>

Inheritance diagram for OoqpVector:

IotrRefCount SimpleVector List of all members.

Public Methods

int length ()
virtual void setToZero ()=0
virtual void setToConstant (double c)=0
virtual void randomize (double alpha, double beta, double *ix)=0
virtual void copyFrom (OoqpVector &v)=0
virtual double infnorm ()=0
virtual double onenorm ()=0
virtual void componentMult (OoqpVector &v)=0
virtual void componentDiv (OoqpVector &v)=0
virtual void scalarMult (double num)=0
virtual void writefToStream (ostream &out, const char format[]) const=0
virtual void scale (double alpha)=0
virtual void axpy (double alpha, OoqpVector &x)=0
virtual void axzpy (double alpha, OoqpVector &x, OoqpVector &z)=0
virtual void axdzpy (double alpha, OoqpVector &x, OoqpVector &z)=0
virtual void addConstant (double c)=0
virtual void gondzioProjection (double rmin, double rmax)=0
virtual void min (double &m, int &index)=0
virtual double dotProductWith (OoqpVector &v)=0
virtual double shiftedDotProductWith (double alpha, OoqpVector &mystep, OoqpVector &yvec, double beta, OoqpVector &ystep)=0
virtual void negate ()=0
virtual void invert ()=0
virtual int allPositive ()=0
virtual int numberOfNonzeros ()=0
virtual int matchesNonZeroPattern (OoqpVector &select)=0
virtual void selectNonZeros (OoqpVector &select)=0
virtual void addSomeConstants (double c, OoqpVector &select)=0
virtual void writefSomeToStream (ostream &out, const char format[], OoqpVector &select) const=0
virtual void axdzpy (double alpha, OoqpVector &x, OoqpVector &z, OoqpVector &select)=0
virtual int somePositive (OoqpVector &select)=0
virtual void divideSome (OoqpVector &div, OoqpVector &select)=0
virtual int isKindOf (int kind)=0
virtual double stepbound (OoqpVector &v, double maxStep)=0
virtual double findBlocking (OoqpVector &wstep_vec, OoqpVector &u_vec, OoqpVector &ustep_vec, double maxStep, double *w_elt, double *wstep_elt, double *u_elt, double *ustep_elt, int &first_or_second)=0
virtual void copyIntoArray (double v[]) const=0
virtual void copyFromArray (double v[])=0
virtual void copyFromArray (char v[])=0

Detailed Description

An abstract class representing the implementation of a OoqpVector.

Do not create instances of OoqpVector. Create instance of subclasses of OoqpVector instead.


Member Function Documentation

virtual void OoqpVector::addConstant double    c [pure virtual]
 

Add c to the elements of this OoqpVector object

Implemented in SimpleVector.

virtual void OoqpVector::addSomeConstants double    c,
OoqpVector &    select
[pure virtual]
 

Add the constant c to some of the elements of this OoqpVector

Parameters:
c  The constant to be added
select  a mask OoqpVector. The constant c is added to an element of this OoqpVector only if the corresponding element of select is non-zero.

Implemented in SimpleVector.

virtual int OoqpVector::allPositive   [pure virtual]
 

True if all elements of this OoqpVector are positive.

Implemented in SimpleVector.

virtual void OoqpVector::axdzpy double    alpha,
OoqpVector &    x,
OoqpVector &    z,
OoqpVector &    select
[pure virtual]
 

this += alpha * x / z

Parameters:
select  only perform the division on elements of x and z if the corresponding element of select is non-zero. Generally we avoid performing the division if we know that it will result in division by zero. The OoqpVector select may be x, z or a third OoqpVector.

Implemented in SimpleVector.

virtual void OoqpVector::axdzpy double    alpha,
OoqpVector &    x,
OoqpVector &    z
[pure virtual]
 

this += alpha * x / z

Implemented in SimpleVector.

virtual void OoqpVector::axpy double    alpha,
OoqpVector &    x
[pure virtual]
 

this += alpha * x

Implemented in SimpleVector.

virtual void OoqpVector::axzpy double    alpha,
OoqpVector &    x,
OoqpVector &    z
[pure virtual]
 

this += alpha * x * z

Implemented in SimpleVector.

virtual void OoqpVector::componentDiv OoqpVector &    v [pure virtual]
 

Divide the components of this OoqpVector by the components of v.

Implemented in SimpleVector.

virtual void OoqpVector::componentMult OoqpVector &    v [pure virtual]
 

Multiply the components of this OoqpVector by the components of v.

Implemented in SimpleVector.

virtual void OoqpVector::copyFrom OoqpVector &    v [pure virtual]
 

Copy the elements of v into this OoqpVector object.

Implemented in SimpleVector.

virtual void OoqpVector::copyFromArray char    v[] [pure virtual]
 

Copy the elements of the C-style char array v into this OoqpVector.

Implemented in SimpleVector.

virtual void OoqpVector::copyFromArray double    v[] [pure virtual]
 

Copy the elements of the C-style array v into this OoqpVector.

Implemented in SimpleVector.

virtual void OoqpVector::copyIntoArray double    v[] const [pure virtual]
 

Copy the elements of this OoqpVector into the C-style array v.

Implemented in SimpleVector.

virtual void OoqpVector::divideSome OoqpVector &    div,
OoqpVector &    select
[pure virtual]
 

Divide selected elements of this OoqpVector by the corresponding element in div.

Parameters:
div  If element i of this OoqpVector is selected, then it will be divided by element i of div.
select  Perform division on elements of this OoqpVector only if the corresponding element in select is non-zero

Implemented in SimpleVector.

virtual double OoqpVector::dotProductWith OoqpVector &    v [pure virtual]
 

Return the dot product of this OoqpVector with v

Implemented in SimpleVector.

virtual double OoqpVector::findBlocking OoqpVector &    wstep_vec,
OoqpVector &    u_vec,
OoqpVector &    ustep_vec,
double    maxStep,
double *    w_elt,
double *    wstep_elt,
double *    u_elt,
double *    ustep_elt,
int &    first_or_second
[pure virtual]
 

Return the largest value of alpha in the interval [0,1] for which: this + alpha * wstep_vec >= 0 and u_vec + alpha * ustep_vec >= 0. Also return the components this[i], wstep_vec[i], u_vec[i], ustep_vec[i], where i is the index of the "blocking" component - the one that limits the step length to alpha. Also return first_or_second=1 if the blocking component is in "this", and first_or_second=2 if the blocking component is in u_vec.

Implemented in SimpleVector.

virtual void OoqpVector::gondzioProjection double    rmin,
double    rmax
[pure virtual]
 

Perform the projection needed by Gondzio's multiple corrector method.

See also:
SimpleVector::gondzioProjection

Implemented in SimpleVector.

virtual double OoqpVector::infnorm   [pure virtual]
 

Return the infinity norm of this OoqpVector object.

Implemented in SimpleVector.

virtual void OoqpVector::invert   [pure virtual]
 

Invert (1/x) the elements of this OoqpVector.

Implemented in SimpleVector.

virtual int OoqpVector::isKindOf int    kind [pure virtual]
 

True if this OoqpVector identifies itself as having the type kind.

Classes overriding this method must call the inherited version, so that the class hierarchy is supported.

Implemented in SimpleVector.

int OoqpVector::length   [inline]
 

Return the length of this vector.

virtual int OoqpVector::matchesNonZeroPattern OoqpVector &    select [pure virtual]
 

True if this OoqpVector has the same non-zero pattern as select.

Implemented in SimpleVector.

virtual void OoqpVector::min double &    m,
int &    index
[pure virtual]
 

Return the minimum value in this vector, and the index at which it occurs.

Implemented in SimpleVector.

virtual void OoqpVector::negate   [pure virtual]
 

Negate all the elements of this OoqpVector object.

Implemented in SimpleVector.

virtual int OoqpVector::numberOfNonzeros   [pure virtual]
 

Return the number of non-zero elements in this OoqpVector.

Implemented in SimpleVector.

virtual double OoqpVector::onenorm   [pure virtual]
 

Return the one norm of this OoqpVector object.

Implemented in SimpleVector.

virtual void OoqpVector::randomize double    alpha,
double    beta,
double *    ix
[pure virtual]
 

Fill this OoqpVector with random elements

Parameters:
alpha 
beta  the elements will be in the interval [alpha, beta]
ix  an aribitray number used to seed the random number generator

Implemented in SimpleVector.

virtual void OoqpVector::scalarMult double    num [pure virtual]
 

Multiply the components of this OoqpVector by num.

Implemented in SimpleVector.

virtual void OoqpVector::scale double    alpha [pure virtual]
 

Scale each element of this OoqpVector by the constant alpha

Implemented in SimpleVector.

virtual void OoqpVector::selectNonZeros OoqpVector &    select [pure virtual]
 

Set each element of this OoqpVector to zero if the corresponding element in select is zero.

Implemented in SimpleVector.

virtual void OoqpVector::setToConstant double    c [pure virtual]
 

Set all elements of this OoqpVector to the constant value c

Implemented in SimpleVector.

virtual void OoqpVector::setToZero   [pure virtual]
 

Set all elements of this OoqpVector to zero.

Implemented in SimpleVector.

virtual double OoqpVector::shiftedDotProductWith double    alpha,
OoqpVector &    mystep,
OoqpVector &    yvec,
double    beta,
OoqpVector &    ystep
[pure virtual]
 

Return the inner product <this + alpha * mystep, yvec + beta * ystep >

Implemented in SimpleVector.

virtual int OoqpVector::somePositive OoqpVector &    select [pure virtual]
 

True if selected elements of this OoqpVector are positive

Parameters:
select  Each element of this OoqpVector must be positive if the corresponding element of select is non-zero.

Implemented in SimpleVector.

virtual double OoqpVector::stepbound OoqpVector &    v,
double    maxStep
[pure virtual]
 

Return the largest value of alpha in the interval [0, maxStep] for which: this + alpha * v >= 0. Set firstBlocking to be the "blocking" index i - the one that limits the step length to alpha.

Implemented in SimpleVector.

virtual void OoqpVector::writefSomeToStream ostream &    out,
const char    format[],
OoqpVector &    select
const [pure virtual]
 

Write some elements of this OoqpVector to a stream, subject to a format.

Parameters:
out  a C++-style output stream
format  a string used to format the output. The substring %{index} will be substituted by the index of the current element and the string %{value} will be substituted with the element's value.
select  a mask OoqpVector. An element if this OoqpVector is written only if the corresponding element of selec is non-zero.

Implemented in SimpleVector.

virtual void OoqpVector::writefToStream ostream &    out,
const char    format[]
const [pure virtual]
 

Write the components of this OoqpVector to a stream, subject to a format.

Parameters:
out  a C++-style output stream
format  a string used to format the output. The substring %{index} will be substituted by the index of the current element and the string %{value} will be substituted with the element's value.

Implemented in SimpleVector.


The documentation for this class was generated from the following file:
Generated on Mon May 24 17:40:46 2004 for OOQP by doxygen1.2.18