62 #ifndef WsmpSparseSolutionManager_hh
63 #define WsmpSparseSolutionManager_hh
89 mutable double *rmisc;
90 mutable int iparm[64];
91 mutable double dparm[64];
95 bool bPrepareSymbolic(
void);
101 const unsigned blockSize,
const unsigned nt = 1);
105 void Solve(
void)
const;
108 std::vector<doublereal>& Ax,
109 std::vector<integer>& Ar,
110 std::vector<integer>& Ac,
111 std::vector<integer>& Ap)
const;
123 std::vector<doublereal> xb;
127 std::vector<doublereal> Ax;
128 std::vector<integer> Ai;
129 std::vector<integer> Adummy;
130 std::vector<integer> Ap;
134 virtual void MakeCompressedColumnForm(
void);
141 const unsigned blockSize = 0,
const unsigned nt = 1);
142 virtual ~WsmpSparseSolutionManager(
void);
144 virtual void IsValid(
void)
const {
153 virtual void Solve(
void);
170 class WsmpSparseCCSolutionManager:
public WsmpSparseSolutionManager {
175 virtual void MatrReset(
void);
176 virtual void MakeCompressedColumnForm(
void);
180 const unsigned& blockSize = 0 ,
const unsigned nt = 1);
181 virtual ~WsmpSparseCCSolutionManager(
void);
184 virtual void MatrInitialize(
void);
virtual VectorHandler * pResHdl(void) const =0
virtual MatrixHandler * pMatHdl(void) const =0
virtual void MatrReset(void)=0
virtual void Solve(void)=0
virtual void Solve(void) const =0
virtual VectorHandler * pSolHdl(void) const =0
virtual void MakeCompactForm(SparseMatrixHandler &mh, std::vector< doublereal > &Ax, std::vector< integer > &Ar, std::vector< integer > &Ac, std::vector< integer > &Ap) const