PIPS-NLP
Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | List of all members
sLinsysRootAggregation Class Reference

#include <sLinsysRootAggregation.h>

Inheritance diagram for sLinsysRootAggregation:
sLinsysRoot sLinsys NlpGenLinsys LinearSystem

Public Member Functions

 sLinsysRootAggregation (sFactory *factory_, sData *prob_)
 
 sLinsysRootAggregation (sFactory *factory, sData *prob_, OoqpVector *dd_, OoqpVector *dq_, OoqpVector *nomegaInv_, OoqpVector *rhs_, OoqpVector *additiveDiag)
 
virtual ~sLinsysRootAggregation ()
 
virtual SymMatrixcreateKKT (sData *prob)
 
virtual DoubleLinearSolvercreateSolver (sData *prob, SymMatrix *kktmat)
 
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)
 
virtual void Dsolve (sData *prob, OoqpVector &x)
 
virtual void Lsolve (sData *prob, OoqpVector &x)
 
virtual void Ltsolve (sData *prob, OoqpVector &x)
 
virtual void solveReduced (sData *prob, SimpleVector &b)
 
void submatrixReduce (DenseSymMatrix *A, int row, int col, int drow, int dcol, MPI_Comm comm)
 
- Public Member Functions inherited from sLinsysRoot
 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 void Ltsolve2 (sData *prob, StochVector &x, SimpleVector &xp)
 
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

SparseSymMatrixMatQ
 
SparseGenMatrixMatJ
 
SimpleVectorredRhs
 
SimpleVectortemp_nrow
 
SimpleVectortemp_ncol
 
int redDim
 
int redNnz
 
int QNnz
 
int JNnz
 
int n_col
 
int n_row
 
DenseSymMatrixCtDC
 
SimpleVectortemp_ixlow
 
SimpleVectortemp_ixupp
 
SimpleVectorrQ
 
SimpleVectorrA
 
SimpleVectorrv
 
SimpleVectorrw
 
SimpleVectorrgamma
 
SimpleVectorrphi
 
SimpleVectortemp_x
 
SimpleVectortemp_y
 
SimpleVectortemp_gamma
 
SimpleVectortemp_phi
 
SimpleVectortemp_v
 
SimpleVectortemp_w
 
SimpleVectortemp_rhs_x
 
SimpleVectortemp_rhs_y
 
SimpleVectortemp_xl
 
SimpleVectortemp_xu
 
bool setIX
 
- Public Attributes inherited from sLinsysRoot
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

 sLinsysRootAggregation ()
 
void calcPreCondKKTResids (Data *prob_in)
 
void computeReducedRhs ()
 
- Protected Member Functions inherited from sLinsysRoot
 sLinsysRoot ()
 
virtual void createChildren (sData *prob)
 
virtual void deleteChildren ()
 
- Protected Member Functions inherited from sLinsys
 sLinsys ()
 

Private Member Functions

void _joinRedRHS (OoqpVector &rhs_in, OoqpVector &rhs1_in, OoqpVector &rhs2_in)
 
void _separateVars (OoqpVector &vars_in, OoqpVector &x_in, OoqpVector &y_in)
 
void _set1stStVar (SimpleVector &redSol, SimpleVector &sol0)
 

Additional Inherited Members

- Protected Attributes inherited from sLinsysRoot
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

sLinsysRootAggregation::sLinsysRootAggregation ( )
inlineprotected
sLinsysRootAggregation::sLinsysRootAggregation ( sFactory factory_,
sData prob_ 
)
sLinsysRootAggregation::sLinsysRootAggregation ( sFactory factory,
sData prob_,
OoqpVector dd_,
OoqpVector dq_,
OoqpVector nomegaInv_,
OoqpVector rhs_,
OoqpVector additiveDiag 
)
sLinsysRootAggregation::~sLinsysRootAggregation ( )
virtual

Member Function Documentation

void sLinsysRootAggregation::_joinRedRHS ( OoqpVector rhs_in,
OoqpVector rhs1_in,
OoqpVector rhs2_in 
)
private
void sLinsysRootAggregation::_separateVars ( OoqpVector vars_in,
OoqpVector x_in,
OoqpVector y_in 
)
private
void sLinsysRootAggregation::_set1stStVar ( SimpleVector redSol,
SimpleVector sol0 
)
private
void sLinsysRootAggregation::calcPreCondKKTResids ( Data prob_in)
protected
void sLinsysRootAggregation::computeReducedRhs ( )
protected
SymMatrix * sLinsysRootAggregation::createKKT ( sData prob)
virtual

Implements sLinsysRoot.

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

Implements sLinsysRoot.

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

Reimplemented from sLinsysRoot.

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

Reimplemented from sLinsysRoot.

int sLinsysRootAggregation::factorizeKKT ( )
virtual

Reimplemented from sLinsysRoot.

virtual void sLinsysRootAggregation::finalizeKKT ( sData prob,
Variables vars 
)
inlinevirtual

Implements sLinsysRoot.

virtual void sLinsysRootAggregation::initializeKKT ( sData prob,
Variables vars 
)
inlinevirtual

Reimplemented from sLinsysRoot.

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

Reimplemented from sLinsysRoot.

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

Reimplemented from sLinsysRoot.

void sLinsysRootAggregation::reduceKKT ( )
virtual

Reimplemented from sLinsysRoot.

void sLinsysRootAggregation::solveReduced ( sData prob,
SimpleVector b 
)
virtual

Implements sLinsysRoot.

void sLinsysRootAggregation::submatrixReduce ( DenseSymMatrix A,
int  row,
int  col,
int  drow,
int  dcol,
MPI_Comm  comm 
)

Member Data Documentation

DenseSymMatrix* sLinsysRootAggregation::CtDC
int sLinsysRootAggregation::JNnz
SparseGenMatrix* sLinsysRootAggregation::MatJ
SparseSymMatrix* sLinsysRootAggregation::MatQ
int sLinsysRootAggregation::n_col
int sLinsysRootAggregation::n_row
int sLinsysRootAggregation::QNnz
SimpleVector* sLinsysRootAggregation::rA
int sLinsysRootAggregation::redDim
int sLinsysRootAggregation::redNnz
SimpleVector* sLinsysRootAggregation::redRhs
SimpleVector* sLinsysRootAggregation::rgamma
SimpleVector* sLinsysRootAggregation::rphi
SimpleVector* sLinsysRootAggregation::rQ
SimpleVector* sLinsysRootAggregation::rv
SimpleVector* sLinsysRootAggregation::rw
bool sLinsysRootAggregation::setIX
SimpleVector* sLinsysRootAggregation::temp_gamma
SimpleVector* sLinsysRootAggregation::temp_ixlow
SimpleVector* sLinsysRootAggregation::temp_ixupp
SimpleVector* sLinsysRootAggregation::temp_ncol
SimpleVector* sLinsysRootAggregation::temp_nrow
SimpleVector* sLinsysRootAggregation::temp_phi
SimpleVector* sLinsysRootAggregation::temp_rhs_x
SimpleVector* sLinsysRootAggregation::temp_rhs_y
SimpleVector* sLinsysRootAggregation::temp_v
SimpleVector* sLinsysRootAggregation::temp_w
SimpleVector* sLinsysRootAggregation::temp_x
SimpleVector* sLinsysRootAggregation::temp_xl
SimpleVector* sLinsysRootAggregation::temp_xu
SimpleVector* sLinsysRootAggregation::temp_y

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