PIPS-NLP
sDummyLinsys.h
Go to the documentation of this file.
1 /* PIPS-IPM
2  * Author: Cosmin G. Petra
3  * (C) 2012 Argonne National Laboratory, see documentation for copyright
4  */
5 
6 /* 2015. Modified by Nai-Yuan Chiang for NLP*/
7 
8 #ifndef SDUMMYLINSYS
9 #define SDUMMYLINSYS
10 
11 #include "sLinsys.h"
12 
16 class sDummyLinsys : public sLinsys
17 {
18  public:
20  : sLinsys(factory, prob, NULL, NULL, NULL, NULL)
21  {
22  mpiComm = MPI_COMM_NULL;
23  };
24 
25 
26  virtual ~sDummyLinsys(){};
27 
28  virtual int factor2( sData *prob, Variables *vars){return 0;};
29  virtual void Lsolve ( sData *prob, OoqpVector& x ){};
30  virtual void Dsolve ( sData *prob, OoqpVector& x ){};
31  virtual void Ltsolve( sData *prob, OoqpVector& x ){};
32 
33  virtual void Ltsolve2( sData *prob, StochVector& x, SimpleVector& xp){};
34 
35 
36  virtual void solveCompressed( OoqpVector& rhs ){};
37  virtual void putXDiagonal( OoqpVector& xdiag_ ){};
38  virtual void putSDiagonal( OoqpVector& sdiag_ ){};
39  virtual void putYDualDiagonal( OoqpVector& ydiag_ ){};
40  virtual void putZDiagonal( OoqpVector& zdiag ){};
41  virtual void setAdditiveDiagonal(){};
42 
43  void joinRHS( OoqpVector& rhs_in, OoqpVector& rhs1_in,
44  OoqpVector& rhs2_in, OoqpVector& rhs3_in ){};
45 
46  void separateVars( OoqpVector& x_in, OoqpVector& y_in,
47  OoqpVector& z_in, OoqpVector& vars_in ){};
48 
49  void joinRHSXSYZ( OoqpVector& rhs_in, OoqpVector& rhs1_in,
50  OoqpVector& rhs2_in, OoqpVector& rhs3_in,OoqpVector& rhs4_in ){};
51 
53  OoqpVector& y_in, OoqpVector& z_in, OoqpVector& vars_in ){};
54 
55  virtual void addLnizi(sData *prob, OoqpVector& z0, OoqpVector& zi){};
56 
58  void LniTransMult(sData *prob,
59  OoqpVector& y,
60  double alpha, OoqpVector& x){};
61 
63  SimpleVector& res,
64  SimpleVector& x) {};
65 
66 
67  virtual void allocU(DenseGenMatrix ** Ut, int np){};
68  virtual void allocV (DenseGenMatrix ** V, int np){};
69  virtual void computeU_V(sData *prob, DenseGenMatrix* U, DenseGenMatrix* V){};
70  void sync(){};
71  virtual void deleteChildren(){};
72  virtual void UpdateMatrices( Data * prob_in, int const onlyRegPart){};
73 
74 virtual void setXDiagonal( OoqpVector& xdiag ){};
75 virtual void setSDiagonal( OoqpVector& sdiag ){};
76 virtual void setYDiagonal( OoqpVector& ydiag ){};
77 virtual void setZDiagonal( OoqpVector& zdiag ){};
78 
79 
80 virtual void _backSolve(sData *prob, OoqpVector& ParSol_ , OoqpVector& Vec_, StochVector* End_Par_Pos_){};
81 
82 virtual void _addTargetParsLnizi(sData *prob, OoqpVector& ParSol_ , OoqpVector& Vec_, OoqpVector* goal_Par){};
83 
84 virtual void _setupColOfBordMat( sData *prob, OoqpVector* rhs_St, const int ColIDX, bool &allzero,
85  const int aimlevel){};
86 
87 virtual void _assembleSC( sData *prob, OoqpVector* rhs_St_in, const int ColIDX,
88  const int aimlevel, DenseSymMatrix& SC){};
89 
90 
91 };
92 
93 #endif
Definition: sFactory.h:32
virtual void allocU(DenseGenMatrix **Ut, int np)
Definition: sDummyLinsys.h:67
virtual void putSDiagonal(OoqpVector &sdiag_)
Definition: sDummyLinsys.h:38
Definition: Data.h:16
virtual void setSDiagonal(OoqpVector &sdiag)
Definition: sDummyLinsys.h:75
virtual int factor2(sData *prob, Variables *vars)
Definition: sDummyLinsys.h:28
void joinRHS(OoqpVector &rhs_in, OoqpVector &rhs1_in, OoqpVector &rhs2_in, OoqpVector &rhs3_in)
Definition: sDummyLinsys.h:43
virtual void Ltsolve2(sData *prob, StochVector &x, SimpleVector &xp)
Definition: sDummyLinsys.h:33
virtual void putYDualDiagonal(OoqpVector &ydiag_)
Definition: sDummyLinsys.h:39
OoqpVector * res
Definition: NlpGenLinsys.h:89
virtual void putXDiagonal(OoqpVector &xdiag_)
Definition: sDummyLinsys.h:37
virtual void setYDiagonal(OoqpVector &ydiag)
Definition: sDummyLinsys.h:76
MPI_Comm mpiComm
Definition: sLinsys.h:138
virtual void _assembleSC(sData *prob, OoqpVector *rhs_St_in, const int ColIDX, const int aimlevel, DenseSymMatrix &SC)
Definition: sDummyLinsys.h:87
Definition: sDummyLinsys.h:16
void sync()
Definition: sDummyLinsys.h:70
virtual void _setupColOfBordMat(sData *prob, OoqpVector *rhs_St, const int ColIDX, bool &allzero, const int aimlevel)
Definition: sDummyLinsys.h:84
virtual void _addTargetParsLnizi(sData *prob, OoqpVector &ParSol_, OoqpVector &Vec_, OoqpVector *goal_Par)
Definition: sDummyLinsys.h:82
virtual void deleteChildren()
Definition: sDummyLinsys.h:71
void LniTransMult(sData *prob, OoqpVector &y, double alpha, OoqpVector &x)
Definition: sDummyLinsys.h:58
virtual void setXDiagonal(OoqpVector &xdiag)
Definition: sDummyLinsys.h:74
void addTermToSchurResidual(sData *prob, SimpleVector &res, SimpleVector &x)
Definition: sDummyLinsys.h:62
virtual void putZDiagonal(OoqpVector &zdiag)
Definition: sDummyLinsys.h:40
virtual void Ltsolve(sData *prob, OoqpVector &x)
Definition: sDummyLinsys.h:31
virtual void allocV(DenseGenMatrix **V, int np)
Definition: sDummyLinsys.h:68
virtual ~sDummyLinsys()
Definition: sDummyLinsys.h:26
virtual void Dsolve(sData *prob, OoqpVector &x)
Definition: sDummyLinsys.h:30
void separateVars(OoqpVector &x_in, OoqpVector &y_in, OoqpVector &z_in, OoqpVector &vars_in)
Definition: sDummyLinsys.h:46
NlpGen * factory
Definition: NlpGenLinsys.h:61
void separateVarsXSYZ(OoqpVector &x_in, OoqpVector &s_in, OoqpVector &y_in, OoqpVector &z_in, OoqpVector &vars_in)
Definition: sDummyLinsys.h:52
sDummyLinsys(sFactory *factory, sData *prob)
Definition: sDummyLinsys.h:19
Definition: DenseGenMatrix.h:17
virtual void _backSolve(sData *prob, OoqpVector &ParSol_, OoqpVector &Vec_, StochVector *End_Par_Pos_)
Definition: sDummyLinsys.h:80
Definition: OoqpVector.h:34
virtual void UpdateMatrices(Data *prob_in, int const onlyRegPart)
Definition: sDummyLinsys.h:72
virtual void addLnizi(sData *prob, OoqpVector &z0, OoqpVector &zi)
Definition: sDummyLinsys.h:55
Definition: sData.h:28
void joinRHSXSYZ(OoqpVector &rhs_in, OoqpVector &rhs1_in, OoqpVector &rhs2_in, OoqpVector &rhs3_in, OoqpVector &rhs4_in)
Definition: sDummyLinsys.h:49
Definition: DenseSymMatrix.h:20
virtual void setZDiagonal(OoqpVector &zdiag)
Definition: sDummyLinsys.h:77
Definition: sLinsys.h:26
OoqpVector * rhs
Definition: NlpGenLinsys.h:54
Definition: StochVector.h:19
Definition: Variables.h:23
virtual void solveCompressed(OoqpVector &rhs)
Definition: sDummyLinsys.h:36
virtual void setAdditiveDiagonal()
Definition: sDummyLinsys.h:41
Definition: SimpleVector.h:18
virtual void computeU_V(sData *prob, DenseGenMatrix *U, DenseGenMatrix *V)
Definition: sDummyLinsys.h:69
virtual void Lsolve(sData *prob, OoqpVector &x)
Definition: sDummyLinsys.h:29