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

QpGenLinsys Class Reference
[QpGen]

#include <QpGenLinsys.h>

Inheritance diagram for QpGenLinsys:

LinearSystem QpGenDenseLinsys QpGenSparseLinsys List of all members.

Public Methods

virtual void factor (Data *prob, Variables *vars)
virtual void solve (Data *prob, Variables *vars, Residuals *res, Variables *step)
virtual void joinRHS (OoqpVector &rhs, OoqpVector &rhs1, OoqpVector &rhs2, OoqpVector &rhs3)
virtual void separateVars (OoqpVector &vars1, OoqpVector &vars2, OoqpVector &vars3, OoqpVector &vars)
virtual void solveXYZS (OoqpVector &stepx, OoqpVector &stepy, OoqpVector &stepz, OoqpVector &steps, OoqpVector &ztemp, QpGenData *data)
virtual void solveCompressed (OoqpVector &rhs)=0
virtual void putXDiagonal (OoqpVector &xdiag)=0
virtual void putZDiagonal (OoqpVector &zdiag)=0
virtual void computeDiagonals (OoqpVector &dd, OoqpVector &omega, OoqpVector &t, OoqpVector &lambda, OoqpVector &u, OoqpVector &pi, OoqpVector &v, OoqpVector &gamma, OoqpVector &w, OoqpVector &phi)

Protected Attributes

OoqpVectorHandle nomegaInv
OoqpVectorHandle rhs
int nx
int my
int mz
OoqpVectorHandle dd
OoqpVectorHandle dq
OoqpVectorHandle ixupp
OoqpVectorHandle icupp
OoqpVectorHandle ixlow
OoqpVectorHandle iclow
int nxupp
int nxlow
int mcupp
int mclow

Detailed Description

Linear System solvers for the general QP formulation. This class contains definitions of methods and data common to the sparse and dense special cases of the general formulation. The derived classes QpGenSparseLinsys and QpGenDenseLinsys contain the aspects that are specific to the sparse and dense forms.

See also:
QpGenSparseLinsys , QpGenDenseLinsys


Member Function Documentation

virtual void QpGenLinsys::computeDiagonals OoqpVector   dd,
OoqpVector   omega,
OoqpVector   t,
OoqpVector   lambda,
OoqpVector   u,
OoqpVector   pi,
OoqpVector   v,
OoqpVector   gamma,
OoqpVector   w,
OoqpVector   phi
[virtual]
 

computes the diagonal matrices in the augmented system from the current set of variables

virtual void QpGenLinsys::factor Data   prob,
Variables   vars
[virtual]
 

sets up the matrix for the main linear system in "augmented system" form. The actual factorization is performed by a routine specific to either the sparse or dense case.

See also:
QpGenSparseLinsys::factor , QpGenDenseLinsys::factor

Implements LinearSystem.

Reimplemented in QpGenDenseLinsys, and QpGenSparseLinsys.

virtual void QpGenLinsys::joinRHS OoqpVector   rhs,
OoqpVector   rhs1,
OoqpVector   rhs2,
OoqpVector   rhs3
[virtual]
 

assembles a single vector object from three given vectors

Parameters:
rhs  (output) final joined vector
rhs1  (input) first part of rhs
rhs2  (input) middle part of rhs
rhs3  (input) last part of rhs

virtual void QpGenLinsys::putXDiagonal OoqpVector   xdiag [pure virtual]
 

places the diagonal resulting from the bounds on x into the augmented system matrix

Implemented in QpGenDenseLinsys, and QpGenSparseLinsys.

virtual void QpGenLinsys::putZDiagonal OoqpVector   zdiag [pure virtual]
 

places the diagonal resulting from the bounds on Cx into the augmented system matrix

Implemented in QpGenDenseLinsys, and QpGenSparseLinsys.

virtual void QpGenLinsys::separateVars OoqpVector   vars1,
OoqpVector   vars2,
OoqpVector   vars3,
OoqpVector   vars
[virtual]
 

extracts three component vectors from a given aggregated vector.

Parameters:
vars  (input) aggregated vector
vars1  (output) first part of vars
vars2  (output) middle part of vars
vars3  (output) last part of vars

virtual void QpGenLinsys::solve Data   prob,
Variables   vars,
Residuals   res,
Variables   step
[virtual]
 

solves the system for a given set of residuals. Assembles the right-hand side appropriate to the matrix factored in factor, solves the system using the factorization produced there, partitions the solution vector into step components, then recovers the step components eliminated during the block elimination that produced the augmented system form

See also:
QpGenSparseLinsys::solveCompressed , QpGenDenseLinsys::solveCompressed

Implements LinearSystem.

virtual void QpGenLinsys::solveCompressed OoqpVector   rhs [pure virtual]
 

perform the actual solve using the factors produced in factor.

Parameters:
rhs  on input contains the aggregated right-hand side of the augmented system; on output contains the solution in aggregated form
See also:
QpGenSparseLinsys::solveCompressed , QpGenDenseLinsys::solveCompressed

Implemented in QpGenDenseLinsys, and QpGenSparseLinsys.

virtual void QpGenLinsys::solveXYZS OoqpVector   stepx,
OoqpVector   stepy,
OoqpVector   stepz,
OoqpVector   steps,
OoqpVector   ztemp,
QpGenData   data
[virtual]
 

assemble right-hand side of augmented system and call solveCompressed to solve it


Member Data Documentation

OoqpVectorHandle QpGenLinsys::dd [protected]
 

temporary storage vectors

OoqpVectorHandle QpGenLinsys::dq [protected]
 

temporary storage vectors

OoqpVectorHandle QpGenLinsys::iclow [protected]
 

index matrices for the upper and lower bounds on x and Cx

OoqpVectorHandle QpGenLinsys::icupp [protected]
 

index matrices for the upper and lower bounds on x and Cx

OoqpVectorHandle QpGenLinsys::ixlow [protected]
 

index matrices for the upper and lower bounds on x and Cx

OoqpVectorHandle QpGenLinsys::ixupp [protected]
 

index matrices for the upper and lower bounds on x and Cx

int QpGenLinsys::mclow [protected]
 

dimensions of the upper and lower bound vectors

int QpGenLinsys::mcupp [protected]
 

dimensions of the upper and lower bound vectors

int QpGenLinsys::my [protected]
 

dimensions of the vectors in the general QP formulation

int QpGenLinsys::mz [protected]
 

dimensions of the vectors in the general QP formulation

OoqpVectorHandle QpGenLinsys::nomegaInv [protected]
 

stores a critical diagonal matrix as a vector

int QpGenLinsys::nx [protected]
 

dimensions of the vectors in the general QP formulation

int QpGenLinsys::nxlow [protected]
 

dimensions of the upper and lower bound vectors

int QpGenLinsys::nxupp [protected]
 

dimensions of the upper and lower bound vectors

OoqpVectorHandle QpGenLinsys::rhs [protected]
 

right-hand side of the system


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