Class xlifepp::UmfPackSolver#
-
class UmfPackSolver#
-
Collaboration diagram for xlifepp::UmfPackSolver:
This class solve AX=B with Umfpack library and it provides a same interface as iterative solvers User can invoke this solver with the operator()
Public Functions
-
inline UmfPackSolver(void)#
-
default constructor
-
inline ~UmfPackSolver()#
-
destructor
-
template<class Mat, class VecB, class VecX>
inline double operator()(const Mat &matA, const std::vector<VecB*> &bs, std::vector<VecX*> &xs, bool stopOnAbnormal = true)#
-
multiple right hand sides
-
template<class Mat, class VecB, class VecX>
inline double operator()(const Mat &matA, const VecB &vecB, VecX &vecX, bool stopOnAbnormal = true)#
-
Solve AX=B with UmfPack.
- Parameters:
-
matA – [in] matrix A (matrix A should be largeMatrix and its storage can be overwritten)
vecB – [in] vector B (vector B should be std::vector)
vecX – [in] vector X (vector X should be std::vector)
stopOnAbnormal – [in] boolean needed by the solIntern::solve call return the reciprocal condition number rcond = 1/||A||*||inv(A)|| in norm 1
-
template<class ScalarTypeMat, class VecB, class VecX>
inline double operator()(int_t size, const std::vector<int_t> &colPointer, const std::vector<int_t> &rowIdx, const ScalarTypeMat *values, const VecB &vecB, VecX &vecX, UmfPackComputationMode sys = _A, bool stopOnAbnormal = true)#
-
Solve AX=B with UmfPack.
- Parameters:
-
size – [in] matrix size
colPointer – [in] column pointer of CSC-like Umfpack format (after calling function extract2UmfPack of largeMatrix)
rowIdx – [in] row index of CSC-like Umfpack format (after calling function extract2UmfPack of largeMatrix)
values – [in] values of CSC-like Umfpack format (after calling function extract2UmfPack of largeMatrix)
vecB – [in] vector B (vector B should be std::vector)
vecX – [in] vector X (vector X should be std::vector)
sys – [in] computation mode for UmfPack
stopOnAbnormal – [in] bollean needed by the solIntern::solve call return the reciprocal condition number rcond = 1/||A||*||inv(A)|| in norm 1
-
inline UmfPackSolver(void)#