PIPS-NLP
|
#include <SimpleVector.h>
Public Member Functions | |
SimpleVector (int nx) | |
SimpleVector (double *v, int nx) | |
virtual | ~SimpleVector () |
virtual void | copyIntoArray (double v[]) |
virtual void | copyFromArray (double v[]) |
virtual void | copyFromArray (char v[]) |
virtual void | setToZero () |
virtual void | setToConstant (double c) |
virtual void | randomize (double alpha, double beta, double *ix) |
virtual void | copyFrom (OoqpVector &v) |
virtual double | twonorm () |
virtual double | infnorm () |
virtual double | onenorm () |
virtual void | min (double &m, int &index) |
virtual void | max (double &m, int &index) |
virtual void | componentMult (OoqpVector &v) |
virtual void | scalarMult (double num) |
virtual void | printSolutionToStdErr (OoqpVector &v) |
virtual void | componentDiv (OoqpVector &v) |
virtual void | writeToStream (std::ostream &out) const |
virtual void | writefToStream (std::ostream &out, const char format[]) const |
virtual void | scale (double alpha) |
virtual void | axpy (double alpha, OoqpVector &x) |
virtual void | axzpy (double alpha, OoqpVector &x, OoqpVector &z) |
virtual void | axdzpy (double alpha, OoqpVector &x, OoqpVector &z) |
virtual void | addConstant (double c) |
virtual void | gondzioProjection (double rmin, double rmax) |
virtual double | dotProductWith (OoqpVector &v) |
virtual double | shiftedDotProductWith (double alpha, OoqpVector &mystep, OoqpVector &yvec, double beta, OoqpVector &ystep) |
virtual void | negate () |
virtual void | invert () |
virtual int | allPositive () |
virtual long long | numberOfNonzeros () |
virtual int | matchesNonZeroPattern (OoqpVector &select) |
virtual void | selectNonZeros (OoqpVector &select) |
virtual void | addSomeConstants (double c, OoqpVector &select) |
virtual void | writefSomeToStream (std::ostream &out, const char format[], OoqpVector &select) const |
virtual void | axdzpy (double alpha, OoqpVector &x, OoqpVector &z, OoqpVector &select) |
virtual int | isKindOf (int kind) |
virtual int | somePositive (OoqpVector &select) |
virtual void | divideSome (OoqpVector &div, OoqpVector &select) |
virtual double | stepbound (OoqpVector &v, double maxStep) |
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) |
double * | elements () |
virtual void | print () |
virtual void | findBlockingPD (OoqpVector &wstep_vec, OoqpVector &u_vec, OoqpVector &ustep_vec, double *w_elt, double *wstep_elt, double *u_elt, double *ustep_elt, int &first_or_second, double *alphaPri, double *alphaDual) |
virtual double | sumLog (OoqpVector *select) |
virtual double | sumPowElt (const double pow_in) |
virtual double | sumElt () |
virtual void | MinComponentOrConstant (OoqpVector *vec_in, double minVal) |
virtual void | correctLargeVal (const double testVal, const double corVal, const int absFlag) |
virtual void | MinComponentBetween (OoqpVector *vec_in, OoqpVector *select_in=NULL) |
virtual void | setToConstantFromTo (double c, int start, int end) |
virtual void | SetComponentFromMaxXorY (OoqpVector *x_in, OoqpVector *y_in, OoqpVector *select=NULL) |
virtual void | SetComponentFromMaxXorY (OoqpVector *x_in, OoqpVector *y_in, int Start, int End, int xStart, int xEnd, int yStart, int yEnd) |
virtual void | SetComponentFromMaxXorConstant (OoqpVector *x_in, const double y_in) |
virtual void | SetComponentFromMaxXorConstant (OoqpVector *x_in, const double y_in, int Start, int End, int xStart, int xEnd) |
virtual void | copyFromFromTo (OoqpVector *vec_in, int VStart, int VEnd, int VinStart, int VinEnd) |
virtual void | copyFromArrayFromTo (double *w, int VStart, int VEnd, int Wstart, int Wend) |
virtual void | copyIntoArrayFromTo (double *w, int VStart, int VEnd, int Wstart, int Wend) |
virtual void | absVal (OoqpVector *vec_in) |
virtual void | copyIntoArrayWithIndex_AggVarCon (double *ResultArray, const int *vecmap, const int _length, bool isVar=true) |
double & | operator[] (int i) |
const double & | operator[] (int i) const |
![]() | |
long long | length () const |
OoqpVector (int n_=0) | |
virtual | ~OoqpVector () |
double | Norm (const int Norm_Type, OoqpVector *vec2=NULL) |
double | Norm (const int Norm_Type, const double norm1, const double norm2) |
![]() | |
int | refs () |
IotrRefCount () | |
Protected Attributes | |
int | preserveVec |
double * | v |
Additional Inherited Members | |
![]() | |
static void | release (IotrRefCount **obj) |
static void | addRef (IotrRefCount *const *obj) |
![]() | |
int | n |
![]() | |
static int | instances = 0 |
![]() | |
virtual | ~IotrRefCount () |
Simple sequential vectors with element access.
SimpleVector::SimpleVector | ( | int | nx | ) |
SimpleVector::SimpleVector | ( | double * | v, |
int | nx | ||
) |
|
virtual |
|
virtual |
Return the absolute value
Implements OoqpVector.
|
virtual |
Add c to the elements of this OoqpVector object
Implements OoqpVector.
|
virtual |
Add the constant c to some of the elements of this OoqpVector
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. |
Implements OoqpVector.
|
virtual |
True if all elements of this OoqpVector are positive.
Implements OoqpVector.
|
virtual |
this += alpha * x / z
Implements OoqpVector.
|
virtual |
this += alpha * x / z
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. |
Implements OoqpVector.
|
virtual |
this += alpha * x
Implements OoqpVector.
|
virtual |
this += alpha * x * z
Implements OoqpVector.
|
virtual |
Divide the components of this OoqpVector by the components of v.
Implements OoqpVector.
|
virtual |
Multiply the components of this OoqpVector by the components of v.
Implements OoqpVector.
|
virtual |
Copy the elements of v into this OoqpVector object.
Implements OoqpVector.
|
virtual |
Copy the elements of the C-style array v into this OoqpVector.
Implements OoqpVector.
|
virtual |
Copy the elements of the C-style char array v into this OoqpVector.
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Copy the elements of this OoqpVector into the C-style array v.
Implements OoqpVector.
|
virtual |
|
virtual |
Reimplemented from OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Divide selected elements of this OoqpVector by the corresponding element in div.
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 |
Implements OoqpVector.
|
virtual |
Return the dot product of this OoqpVector with v
Implements OoqpVector.
|
inline |
Returns a pointer to the elemens of this vector.
|
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.
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
perform the projection operation required by Gondzio algorithm: replace each component of the vector v by vp_i - v_i, where vp_i is the projection of v_i onto the box [rmin, rmax]. Then if the resulting value is less than -rmax, replace it by -rmax.
Implements OoqpVector.
|
virtual |
Return the infinity norm of this OoqpVector object.
Implements OoqpVector.
|
virtual |
Invert (1/x) the elements of this OoqpVector.
Implements OoqpVector.
|
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.
Implements OoqpVector.
|
virtual |
True if this OoqpVector has the same non-zero pattern as select.
Implements OoqpVector.
|
virtual |
|
virtual |
Return the minimum value in this vector, and the index at which it occurs.
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Negate all the elements of this OoqpVector object.
Implements OoqpVector.
|
virtual |
Return the number of non-zero elements in this OoqpVector.
Implements OoqpVector.
|
virtual |
Return the one norm of this OoqpVector object.
Implements OoqpVector.
|
inline |
Access the individual elements of this vector.
|
inline |
|
virtual |
Implements OoqpVector.
|
virtual |
|
virtual |
Fill this OoqpVector with random elements
alpha | |
beta | the elements will be in the interval [alpha, beta] |
ix | an aribitray number used to seed the random number generator |
Implements OoqpVector.
|
virtual |
Write the components of this OoqpVector, one element per line, to the stream out. Multiply the components of this OoqpVector by num.
Implements OoqpVector.
|
virtual |
Scale each element of this OoqpVector by the constant alpha
Implements OoqpVector.
|
virtual |
Set each element of this OoqpVector to zero if the corresponding element in select is zero.
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Set all elements of this OoqpVector to the constant value c
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Set all elements of this OoqpVector to zero.
Implements OoqpVector.
|
virtual |
Return the inner product <this + alpha * mystep, yvec + beta * ystep >
Implements OoqpVector.
|
virtual |
True if selected elements of this OoqpVector are positive
select | Each element of this OoqpVector must be positive if the corresponding element of select is non-zero. |
Implements OoqpVector.
|
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.
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
virtual |
Write some elements of this OoqpVector to a stream, subject to a format.
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. |
Implements OoqpVector.
|
virtual |
Write the components of this OoqpVector to a stream, subject to a format.
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. |
Implements OoqpVector.
|
virtual |
Implements OoqpVector.
|
protected |
|
protected |