67 #ifndef KLUSparseSolutionManager_hh 
   68 #define KLUSparseSolutionManager_hh 
   96         klu_symbolic *Symbolic;
 
   97         mutable klu_common Control;
 
   98         mutable klu_numeric *Numeric;
 
  100         bool bPrepareSymbolic(
void);
 
  112         KLUSolver(
const integer &size, 
const doublereal &dPivot, Scale scale = SCALE_UNDEF);
 
  116         void Solve(
void) 
const;
 
  119                         std::vector<doublereal>& Ax,
 
  120                         std::vector<integer>& Ar,
 
  121                         std::vector<integer>& Ac,
 
  122                         std::vector<integer>& Ap) 
const;
 
  135         std::vector<doublereal> b;
 
  142         std::vector<doublereal> Ax;
 
  143         std::vector<integer> Ai;
 
  144         std::vector<integer> Adummy;
 
  145         std::vector<integer> Ap;
 
  149         virtual void MakeCompressedColumnForm(
void);
 
  151         template <
typename MH>
 
  152         void ScaleMatrixAndRightHandSide(MH& mh);
 
  154         template <
typename MH>
 
  157         void ScaleSolution(
void);
 
  163         KLUSparseSolutionManager(
integer Dim,
 
  165                                                          const ScaleOpt& scale = ScaleOpt());
 
  166         virtual ~KLUSparseSolutionManager(
void);
 
  168         virtual void IsValid(
void)
 const {
 
  177         virtual void Solve(
void);
 
  194 class KLUSparseCCSolutionManager: 
public KLUSparseSolutionManager {
 
  199         virtual void MatrReset(
void);
 
  200         virtual void MakeCompressedColumnForm(
void);
 
  203         KLUSparseCCSolutionManager(
integer Dim,
 
  205                                                            const ScaleOpt& scale = ScaleOpt());
 
  206         virtual ~KLUSparseCCSolutionManager(
void);
 
  209         virtual void MatrInitialize(
void);
 
virtual VectorHandler * pResHdl(void) const =0
virtual bool bGetConditionNumber(doublereal &dCond)
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