PIPS-NLP
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
sLinsysRoot Class Referenceabstract

#include <sLinsysRoot.h>

Inheritance diagram for sLinsysRoot:
sLinsys NlpGenLinsys LinearSystem sLinsysRootAggregation sLinsysRootAug

Public Member Functions

 sLinsysRoot (sFactory *factory_, sData *prob_, bool createChild=true)
 
 sLinsysRoot (sFactory *factory, sData *prob_, OoqpVector *dd_, OoqpVector *dq_, OoqpVector *nomegaInv_, OoqpVector *rhs_, OoqpVector *additiveDiag_, bool createChild=true)
 
virtual int factor2 (sData *prob, Variables *vars)
 
virtual void initializeKKT (sData *prob, Variables *vars)
 
virtual void reduceKKT ()
 
virtual int factorizeKKT ()
 
virtual void finalizeKKT (sData *prob, Variables *vars)=0
 
virtual void Lsolve (sData *prob, OoqpVector &x)
 
virtual void Dsolve (sData *prob, OoqpVector &x)
 
virtual void Ltsolve (sData *prob, OoqpVector &x)
 
virtual void Ltsolve2 (sData *prob, StochVector &x, SimpleVector &xp)
 
virtual void solveReduced (sData *prob, SimpleVector &b)=0
 
virtual void putXDiagonal (OoqpVector &xdiag_)
 
virtual void putSDiagonal (OoqpVector &sdiag_)
 
virtual void putYDualDiagonal (OoqpVector &ydiag)
 
virtual void putZDiagonal (OoqpVector &zdiag)
 
virtual void setAdditiveDiagonal ()
 
virtual void AddChild (sLinsys *child)
 
void sync ()
 
virtual ~sLinsysRoot ()
 
void myAtPutZeros (DenseSymMatrix *mat)
 
void myAtPutZeros (DenseSymMatrix *mat, int row, int col, int rowExtent, int colExtent)
 
void submatrixAllReduce (DenseSymMatrix *A, int row, int col, int drow, int dcol, MPI_Comm comm)
 
virtual void UpdateMatrices (Data *prob_in, int const updateLevel=2)
 
virtual void setXDiagonal (OoqpVector &xdiag)
 
virtual void setSDiagonal (OoqpVector &sdiag)
 
virtual void setYDiagonal (OoqpVector &ydiag)
 
virtual void setZDiagonal (OoqpVector &zdiag)
 
- Public Member Functions inherited from sLinsys
 sLinsys (sFactory *factory, sData *prob)
 
 sLinsys (sFactory *factory, sData *prob, OoqpVector *dd, OoqpVector *dq, OoqpVector *nomegaInv, OoqpVector *rhs, OoqpVector *additiveDiag_=NULL)
 
virtual ~sLinsys ()
 
virtual void factor (Data *prob, Variables *vars, RegularizationAlg *RegInfo)
 
virtual void factor (Data *prob, Variables *vars)
 
virtual void solveCompressed (OoqpVector &rhs)
 
void joinRHS (OoqpVector &rhs_in, OoqpVector &rhs1_in, OoqpVector &rhs2_in, OoqpVector &rhs3_in)
 
void separateVars (OoqpVector &x_in, OoqpVector &y_in, OoqpVector &z_in, OoqpVector &vars_in)
 
void joinRHSXSYZ (OoqpVector &rhs_in, OoqpVector &rhs1_in, OoqpVector &rhs2_in, OoqpVector &rhs3_in, OoqpVector &rhs4_in)
 
void separateVarsXSYZ (OoqpVector &x_in, OoqpVector &s_in, OoqpVector &y_in, OoqpVector &z_in, OoqpVector &vars_in)
 
virtual void addLnizi (sData *prob, OoqpVector &z0, OoqpVector &zi)
 
void LniTransMult (sData *prob, OoqpVector &y, double alpha, OoqpVector &x)
 
virtual void allocU (DenseGenMatrix **Ut, int np)
 
virtual void allocV (DenseGenMatrix **V, int np)
 
virtual void computeU_V (sData *prob, DenseGenMatrix *U, DenseGenMatrix *V)
 
virtual void addTermToDenseSchurCompl (sData *prob, DenseSymMatrix &SC)
 
virtual void addColsToDenseSchurCompl (sData *prob, DenseGenMatrix &out, int startcol, int endcol)
 
virtual void symAddColsToDenseSchurCompl (sData *prob, double *out, int startcol, int endcol)
 
virtual void addTermToSchurResidual (sData *prob, SimpleVector &res, SimpleVector &x)
 
virtual int GetNegEigVal ()
 
virtual void _backSolve (sData *prob, OoqpVector &ParSol_, OoqpVector &Vec_, StochVector *End_Par_Pos_)
 
virtual void _addTargetParsLnizi (sData *prob, OoqpVector &ParSol_, OoqpVector &Vec_, OoqpVector *goal_Par)
 
virtual void _setupColOfBordMat (sData *prob, OoqpVector *rhs_St, const int ColIDX, bool &allzero, const int aimlevel)
 
virtual void _assembleSC (sData *prob, OoqpVector *rhs_St_in, const int ColIDX, const int aimlevel, DenseSymMatrix &SC)
 
virtual void _setupYaddLniTx (sData *prob, OoqpVector &y_, double alpha, SimpleVector &x, const int aimlevel)
 
- Public Member Functions inherited from NlpGenLinsys
 NlpGenLinsys (NlpGen *factory, NlpGenData *data, LinearAlgebraPackage *la)
 
 NlpGenLinsys ()
 
 ~NlpGenLinsys ()
 
virtual void solve (Data *prob, Variables *vars, Residuals *res, Variables *step)
 
virtual void solve_NTsteps (Data *prob, Variables *vars, Residuals *resids, Variables *Nstep, Variables *Tstep, Variables *NTstep)
 
virtual void solve_IterRefine (Data *prob_in, Variables *vars_in, Residuals *res_in, Variables *step_in, Residuals *KKT_Resid_in, Variables *KKT_sol_in)
 
virtual void solveXYZS (OoqpVector &stepx, OoqpVector &stepy, OoqpVector &stepz, OoqpVector &steps, OoqpVector &ztemp, NlpGenData *data)
 
virtual void solveCompressedAugXSYZ (OoqpVector &stepx, OoqpVector &steps, OoqpVector &stepy, OoqpVector &stepz, NlpGenData *prob)
 
virtual void solveCompressedAugXSYZ_PETSC (OoqpVector &stepx, OoqpVector &steps, OoqpVector &stepy, OoqpVector &stepz, NlpGenData *prob)
 
virtual void solveBiCGStab (OoqpVector &stepx, OoqpVector &steps, OoqpVector &stepy, OoqpVector &stepz, NlpGenData *data)
 
virtual void computeDiagonals (OoqpVector &dd, OoqpVector &omega, OoqpVector &t, OoqpVector &lambda, OoqpVector &u, OoqpVector &pi, OoqpVector &v, OoqpVector &gamma, OoqpVector &w, OoqpVector &phi)
 
virtual void solveCompressedBiCGStab (OoqpVector &stepx, OoqpVector &stepy, OoqpVector &stepz, NlpGenData *data)
 
virtual void solveCompressedIterRefin (OoqpVector &stepx, OoqpVector &stepy, OoqpVector &stepz, NlpGenData *data)
 
virtual void matXYZMult (double beta, OoqpVector &res, double alpha, OoqpVector &sol, NlpGenData *data, OoqpVector &solx, OoqpVector &soly, OoqpVector &solz)
 
virtual void matXSYZMult (double beta, OoqpVector &res, double alpha, OoqpVector &sol, NlpGenData *data, OoqpVector &solx, OoqpVector &sols, OoqpVector &soly, OoqpVector &solz)
 
virtual void factorNoMatChange (Data *prob_in, Variables *vars_in, RegularizationAlg *RegInfo)
 
virtual double computeResidual (NlpGenData *data, OoqpVector &res_, OoqpVector &sol_, OoqpVector &solx_, OoqpVector &sols_, OoqpVector &soly_, OoqpVector &solz_)
 
virtual double computeResidual_FullKKT (NlpGenData *data, NlpGenResiduals *res_, NlpGenVars *sol_, NlpGenVars *var_)
 
virtual double eval_xWx (NlpGenData *prob, NlpGenResiduals *resid, NlpGenVars *steps)
 
virtual void computeQuantitiesForDualReg (NlpGenData *prob, NlpGenVars *vars, NlpGenResiduals *resid, NlpGenVars *steps, double *dualRegQuantities)
 
virtual void copyXSYZ_fromArray (OoqpVector &vec_xsyz, double *array_in, const int nb_col)
 
virtual void copyXSYZ_toArray (OoqpVector &vec_xsyz, double *array_in, const int nb_col)
 
- Public Member Functions inherited from LinearSystem
virtual ~LinearSystem ()
 

Public Attributes

std::vector< sLinsys * > children
 
int iAmDistrib
 
bool firstQUpdate
 
bool firstBUpdate
 
std::map< int, int > LocQMap
 
std::map< int, int > LocBMap
 
- Public Attributes inherited from sLinsys
int negEigVal
 
SymMatrixkkt
 
MPI_Comm mpiComm
 
sTreestochNode
 
bool isActive
 
- Public Attributes inherited from NlpGenLinsys
OoqpVectornomegaInv
 
OoqpVectorrhs
 
OoqpVectorrhs_back
 
NlpGenfactory
 
long long nx
 
long long my
 
long long mz
 
double priReg
 
double dualReg
 
OoqpVectordd
 
OoqpVectordq
 
OoqpVectortemp_diagX
 
OoqpVectortemp_diagS
 
OoqpVectortemp_diagY
 
OoqpVectortemp_diagZ
 
OoqpVectoradditiveDiag
 
OoqpVectorixupp
 
OoqpVectoricupp
 
OoqpVectorixlow
 
OoqpVectoriclow
 
int nxupp
 
int nxlow
 
int mcupp
 
int mclow
 
int num_slacks
 
int useRefs
 
OoqpVectorsol
 
OoqpVectorres
 
OoqpVectorresx
 
OoqpVectorress
 
OoqpVectorresy
 
OoqpVectorresz
 
OoqpVectorsol2
 
OoqpVectorres2
 
OoqpVectorres3
 
OoqpVectorres4
 
OoqpVectorres5
 
OoqpVectorsol2Bicg
 
OoqpVectorres2Bicg
 
OoqpVectorres3Bicg
 
OoqpVectorres4Bicg
 
OoqpVectorres5Bicg
 
int KryIter
 
bool allocateSpace
 

Protected Member Functions

 sLinsysRoot ()
 
virtual void createChildren (sData *prob)
 
virtual void deleteChildren ()
 
virtual SymMatrixcreateKKT (sData *prob)=0
 
virtual DoubleLinearSolvercreateSolver (sData *prob, SymMatrix *kktmat)=0
 
- Protected Member Functions inherited from sLinsys
 sLinsys ()
 

Protected Attributes

OoqpVectorzDiag
 
OoqpVectorxDiag
 
OoqpVectoryDiag
 
OoqpVectorsDiag
 
- Protected Attributes inherited from sLinsys
int locnx
 
int locmy
 
int locmz
 
DoubleLinearSolversolver
 
sDatadata
 
- Protected Attributes inherited from NlpGenLinsys
bool fullQ
 

Detailed Description

ROOT (= NON-leaf) linear system

Constructor & Destructor Documentation

sLinsysRoot::sLinsysRoot ( )
inlineprotected
sLinsysRoot::sLinsysRoot ( sFactory factory_,
sData prob_,
bool  createChild = true 
)
sLinsysRoot::sLinsysRoot ( sFactory factory,
sData prob_,
OoqpVector dd_,
OoqpVector dq_,
OoqpVector nomegaInv_,
OoqpVector rhs_,
OoqpVector additiveDiag_,
bool  createChild = true 
)
sLinsysRoot::~sLinsysRoot ( )
virtual

Member Function Documentation

void sLinsysRoot::AddChild ( sLinsys child)
virtual
void sLinsysRoot::createChildren ( sData prob)
protectedvirtual
virtual SymMatrix* sLinsysRoot::createKKT ( sData prob)
protectedpure virtual

Implemented in sLinsysRootAggregation, and sLinsysRootAug.

virtual DoubleLinearSolver* sLinsysRoot::createSolver ( sData prob,
SymMatrix kktmat 
)
protectedpure virtual

Implemented in sLinsysRootAggregation, and sLinsysRootAug.

void sLinsysRoot::deleteChildren ( )
protectedvirtual

Implements sLinsys.

void sLinsysRoot::Dsolve ( sData prob,
OoqpVector x 
)
virtual

commented - already done in addLnizi - cpetra

Implements sLinsys.

Reimplemented in sLinsysRootAggregation.

int sLinsysRoot::factor2 ( sData prob,
Variables vars 
)
virtual

Implements sLinsys.

Reimplemented in sLinsysRootAggregation.

int sLinsysRoot::factorizeKKT ( )
virtual

Reimplemented in sLinsysRootAggregation.

virtual void sLinsysRoot::finalizeKKT ( sData prob,
Variables vars 
)
pure virtual

Implemented in sLinsysRootAggregation, and sLinsysRootAug.

void sLinsysRoot::initializeKKT ( sData prob,
Variables vars 
)
virtual

Reimplemented in sLinsysRootAggregation.

void sLinsysRoot::Lsolve ( sData prob,
OoqpVector x 
)
virtual

memopt here

Implements sLinsys.

Reimplemented in sLinsysRootAggregation.

void sLinsysRoot::Ltsolve ( sData prob,
OoqpVector x 
)
virtual

Implements sLinsys.

Reimplemented in sLinsysRootAggregation.

void sLinsysRoot::Ltsolve2 ( sData prob,
StochVector x,
SimpleVector xp 
)
virtual

Implements sLinsys.

void sLinsysRoot::myAtPutZeros ( DenseSymMatrix mat)
void sLinsysRoot::myAtPutZeros ( DenseSymMatrix mat,
int  row,
int  col,
int  rowExtent,
int  colExtent 
)
void sLinsysRoot::putSDiagonal ( OoqpVector xdiag)
virtual

places the diagonal resulting from the bounds on Cx into the augmented system matrix — corresponding to slack variables S

Implements sLinsys.

void sLinsysRoot::putXDiagonal ( OoqpVector xdiag)
virtual

places the diagonal resulting from the bounds on x into the augmented system matrix — corresponding to pri variables X

Implements sLinsys.

void sLinsysRoot::putYDualDiagonal ( OoqpVector ydiag)
virtual

places the diagonal resulting from the bounds on x into the augmented system matrix — for Regularization dual Y

Implements sLinsys.

void sLinsysRoot::putZDiagonal ( OoqpVector sdiag)
virtual

places the diagonal resulting from the bounds on Cx into the augmented system matrix — corresponding to slack variables S, z is the dual for s

Implements sLinsys.

void sLinsysRoot::reduceKKT ( )
virtual

Reimplemented in sLinsysRootAggregation.

void sLinsysRoot::setAdditiveDiagonal ( )
virtual

Implements sLinsys.

void sLinsysRoot::setSDiagonal ( OoqpVector sdiag)
virtual

Implements NlpGenLinsys.

void sLinsysRoot::setXDiagonal ( OoqpVector xdiag)
virtual

Implements NlpGenLinsys.

void sLinsysRoot::setYDiagonal ( OoqpVector ydiag)
virtual

Implements NlpGenLinsys.

void sLinsysRoot::setZDiagonal ( OoqpVector zdiag)
virtual

Implements NlpGenLinsys.

virtual void sLinsysRoot::solveReduced ( sData prob,
SimpleVector b 
)
pure virtual

Implemented in sLinsysRootAggregation, and sLinsysRootAug.

void sLinsysRoot::submatrixAllReduce ( DenseSymMatrix A,
int  row,
int  col,
int  drow,
int  dcol,
MPI_Comm  comm 
)
void sLinsysRoot::sync ( )
virtual

Implements sLinsys.

void sLinsysRoot::UpdateMatrices ( Data prob_in,
int const  updateLevel = 2 
)
virtual

Reimplemented from NlpGenLinsys.

Member Data Documentation

std::vector<sLinsys*> sLinsysRoot::children
bool sLinsysRoot::firstBUpdate
bool sLinsysRoot::firstQUpdate
int sLinsysRoot::iAmDistrib
std::map<int,int> sLinsysRoot::LocBMap
std::map<int,int> sLinsysRoot::LocQMap
OoqpVector* sLinsysRoot::sDiag
protected
OoqpVector* sLinsysRoot::xDiag
protected
OoqpVector* sLinsysRoot::yDiag
protected
OoqpVector* sLinsysRoot::zDiag
protected

The documentation for this class was generated from the following files: