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

SvmVars Class Reference
[Svm]

#include <SvmVars.h>

Inheritance diagram for SvmVars:

Variables List of all members.

Public Member Functions

 SvmVars (int hyperplanedim_in, int nobservations_in)
 SvmVars (int hyperplanedim_in, int nobservations_in, double w[], double v[], double z[], double u[], double s[])
virtual ~SvmVars ()
virtual void saxpy (Variables *b, double alpha)
virtual void negate ()
virtual double mu ()
virtual double mustep (Variables *step, double alpha)
virtual double stepbound (Variables *b)
virtual void interiorPoint (double alpha, double beta)
virtual void shiftBoundVariables (double alpha, double beta)
virtual double violation ()
virtual void print ()
virtual void printCoefs ()
virtual void copy (Variables *b)
virtual double findBlocking (Variables *step, double &primalValue, double &primalStep, double &dualValue, double &dualStep, int &firstOrSecond)
virtual void asMfile (ostream &os)
virtual double onenorm ()
virtual double infnorm ()

Public Attributes

int hyperplanedim
int nobservations
SimpleVectorHandle z
SimpleVectorHandle w
SimpleVectorHandle u
SimpleVectorHandle v
SimpleVectorHandle s
double beta

Detailed Description

Variables class for Svm.


Constructor & Destructor Documentation

SvmVars::SvmVars int  hyperplanedim_in,
int  nobservations_in
 

constructor to make a Svm variables object of specified dimensions

SvmVars::SvmVars int  hyperplanedim_in,
int  nobservations_in,
double  w[],
double  v[],
double  z[],
double  u[],
double  s[]
 

constructor to make a Svm variables object of specified dimensions for which storage has already been allocated for the five individual vector components

virtual SvmVars::~SvmVars  )  [virtual]
 

destructor for Svm variables object


Member Function Documentation

virtual void SvmVars::asMfile ostream &  os  )  [virtual]
 

write current set of variables to given output stream

virtual void SvmVars::copy Variables b  )  [virtual]
 

copy the variables

Implements Variables.

virtual double SvmVars::findBlocking Variables step,
double &  primalValue,
double &  primalStep,
double &  dualValue,
double &  dualStep,
int &  firstOrSecond
[virtual]
 

Performs the same function as stepbound, and supplies additional information about which component of the nonnegative variables is responsible for restricting alpha. In terms of the abstract formulation, the components have the following meanings.

Parameters:
step step in the variables
primalValue the value of the blocking component of the primal variables s.
primalStep the corresponding value of the blocking component of the primal step variables b->s.
dualValue the value of the blocking component of the dual variables z.
dualStep the corresponding value of the blocking component of the dual step variables b->z.
firstOrSecond 1 if the primal step is blocking, 2 if the dual step is block, 0 if no step is blocking.
See also:
stepbound

Implements Variables.

virtual double SvmVars::infnorm  )  [virtual]
 

compute the inf-norm of the variables

Implements Variables.

virtual void SvmVars::interiorPoint double  alpha,
double  beta
[virtual]
 

In the abstract QP formulation, sets s to alpha, z to beta and the other variable components to zero.

Implements Variables.

virtual double SvmVars::mu  )  [virtual]
 

compute complementarity gap, obtained by taking the inner product of the complementary vectors and dividing by the total number of components

Implements Variables.

virtual double SvmVars::mustep Variables step,
double  alpha
[virtual]
 

compute the complementarity gap resulting from a step of length "alpha" along direction "step"

Implements Variables.

virtual void SvmVars::negate  )  [virtual]
 

negate the value of all the variables in this structure

Implements Variables.

virtual double SvmVars::onenorm  )  [virtual]
 

compute the 1-norm of the variables

Implements Variables.

virtual void SvmVars::print  )  [virtual]
 

print the variables

Reimplemented from Variables.

virtual void SvmVars::printCoefs  )  [virtual]
 

print only the interesting parts of the SVM variable vector (that is, the coefficient that define the separating hyperplane)

virtual void SvmVars::saxpy Variables b,
double  alpha
[virtual]
 

performs saxpy operation: add alpha*b to current variables

Implements Variables.

virtual void SvmVars::shiftBoundVariables double  alpha,
double  beta
[virtual]
 

In the standard QP formulation, sets s += alpha, z += beta

Implements Variables.

virtual double SvmVars::stepbound Variables b  )  [virtual]
 

calculate the largest alpha in (0,1] such that the nonnegative variables stay nonnegative in the given search direction. In the abstract problem formulation, this is the largest value of alpha such that (s,z) + alpha * (b->s,b->z) >= 0.

See also:
findBlocking

Implements Variables.

virtual double SvmVars::violation  )  [virtual]
 

The amount by which the current variables violate the non-negativity constraints.

Implements Variables.


Member Data Documentation

int SvmVars::hyperplanedim
 

dimension of Euclidean space in which each observation resides

int SvmVars::nobservations
 

number of observations

SimpleVectorHandle SvmVars::s
 

vectors and the scalar that make up the Svm variables; see the paper by E. M. Gertz and S. J. Wright for details of the formulation

SimpleVectorHandle SvmVars::u
 

vectors and the scalar that make up the Svm variables; see the paper by E. M. Gertz and S. J. Wright for details of the formulation

SimpleVectorHandle SvmVars::v
 

vectors and the scalar that make up the Svm variables; see the paper by E. M. Gertz and S. J. Wright for details of the formulation

SimpleVectorHandle SvmVars::w
 

vectors and the scalar that make up the Svm variables; see the paper by E. M. Gertz and S. J. Wright for details of the formulation

SimpleVectorHandle SvmVars::z
 

vectors and the scalar that make up the Svm variables; see the paper by E. M. Gertz and S. J. Wright for details of the formulation


The documentation for this class was generated from the following file:
Generated on Wed Mar 22 13:58:35 2006 for OOQP by doxygen 1.3.5