9 #include "imstkLinearSolver.h"    10 #include "imstkMath.h"    13 #pragma warning( push )    14 #pragma warning( disable : 4127 )    16 #include <Eigen/Sparse>    17 #include <Eigen/SparseLU>    19 #pragma warning( pop )    43     void solve(Vectord& x) 
override;
    48     void solve(
const Vectord& rhs, Vectord& x);
    53     void setSystem(std::shared_ptr<LinearSystemType> newSystem) 
override;
    58     void setSystem(std::shared_ptr<Matrixd> matrix);
    70     Eigen::LDLT<Matrixd> m_solver;
    95     void setSystem(std::shared_ptr<LinearSystemType> newSystem) 
override;
   100     void solve(Vectord& x) 
override;
   105     void solve(
const Vectord& rhs, Vectord& x);
   108     Eigen::SparseLU<SparseMatrixd, Eigen::COLAMDOrdering<MatrixType::StorageIndex>> m_solver;
 Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > Matrixd
A dynamic size matrix of doubles. 
 
Dense direct solvers. Solves a dense system of equations using Cholesky decomposition. 
 
Base class for linear solvers. 
 
bool isIterative() const override
Returns true if the solver is iterative.