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

HuberVars Class Reference
[Huber]

#include <HuberVars.h>

Inheritance diagram for HuberVars:

Variables List of all members.

Public Methods

 HuberVars (int nobservations_in, int npredictors_in)
 HuberVars (int nobservations_in, int npredictors_in, double *beta, double *t, double *lambda1, double *lambda2, double *gamma1, double *gamma2)
virtual ~HuberVars ()
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 double findBlocking (Variables *step, double &primalValue, double &primalStep, double &dualValue, double &dualStep, int &firstOrSecond)
virtual void interiorPoint (double alpha, double beta)
virtual void print ()
virtual void printBeta ()
virtual void copy (Variables *b)
virtual void shiftBoundVariables (double alpha, double beta)
virtual double violation ()
virtual double onenorm ()
virtual double infnorm ()

Public Attributes

int nobservations
int npredictors
SimpleVectorHandle beta
SimpleVectorHandle t
SimpleVectorHandle gamma1
SimpleVectorHandle gamma2
SimpleVectorHandle lambda1
SimpleVectorHandle lambda2

Detailed Description

Variables class for Huber


Constructor & Destructor Documentation

HuberVars::HuberVars int    nobservations_in,
int    npredictors_in
 

constructor to make a Huber variables object of specified dimensions

HuberVars::HuberVars int    nobservations_in,
int    npredictors_in,
double *    beta,
double *    t,
double *    lambda1,
double *    lambda2,
double *    gamma1,
double *    gamma2
 

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

virtual HuberVars::~HuberVars   [virtual]
 

destructor for Huber variables object


Member Function Documentation

virtual void HuberVars::copy Variables   b [virtual]
 

copy the variables

Implements Variables.

virtual double HuberVars::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:
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 HuberVars::infnorm   [virtual]
 

compute the inf-norm of the variables

Implements Variables.

virtual void HuberVars::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 HuberVars::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 HuberVars::mustep Variables   step,
double    alpha
[virtual]
 

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

Implements Variables.

virtual void HuberVars::negate   [virtual]
 

negate the value of all the variables in this structure

Implements Variables.

virtual double HuberVars::onenorm   [virtual]
 

compute the 1-norm of the variables

Implements Variables.

virtual void HuberVars::print   [virtual]
 

print all variables in the Svm variables structure

Reimplemented from Variables.

virtual void HuberVars::printBeta   [virtual]
 

print only the interesting variables; namely, the coefficients of the predictor variables

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

given variables b, compute a <- a + alpha b, where a are the variables in this class

Implements Variables.

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

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

Implements Variables.

virtual double HuberVars::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 HuberVars::violation   [virtual]
 

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

Implements Variables.


Member Data Documentation

SimpleVectorHandle HuberVars::beta
 

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

SimpleVectorHandle HuberVars::gamma1
 

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

SimpleVectorHandle HuberVars::gamma2
 

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

SimpleVectorHandle HuberVars::lambda1
 

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

SimpleVectorHandle HuberVars::lambda2
 

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

int HuberVars::nobservations
 

number of observations

int HuberVars::npredictors
 

number of predictor variables

SimpleVectorHandle HuberVars::t
 

vectors that make up the Huber 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 Mon May 24 17:40:46 2004 for OOQP by doxygen1.2.18