9 #include "imstkIterativeLinearSolver.h" 13 class LinearProjectionConstraint;
24 GaussSeidel(
const SparseMatrixd& A,
const Vectord& rhs);
48 void solve(Vectord& x)
override;
54 void solve(Vectord& x,
const double tolerance);
64 void setSystem(std::shared_ptr<LinearSystemType> newSystem)
override;
79 void print()
const override;
86 m_FixedLinearProjConstraints = f;
94 return *m_FixedLinearProjConstraints;
102 m_DynamicLinearProjConstraints = f;
110 return *m_DynamicLinearProjConstraints;
114 std::vector<LinearProjectionConstraint>* m_FixedLinearProjConstraints =
nullptr;
115 std::vector<LinearProjectionConstraint>* m_DynamicLinearProjConstraints =
nullptr;
Base class for iterative linear solvers.
void setDynamicLinearProjectors(std::vector< LinearProjectionConstraint > *f)
Get the vector denoting the filter.
void setSystem(std::shared_ptr< LinearSystemType > newSystem) override
Sets the system. System of linear equations.
virtual void setMaxNumIterations(const size_t maxIter) override
set/get the maximum number of iterations for the iterative solver.
Gauss-Seidel sparse linear solver.
void print() const override
Print solver information.
std::vector< LinearProjectionConstraint > & getLinearProjectors()
Get the vector denoting the filter.
void gaussSeidelSolve(Vectord &x)
Do one iteration of the method.
std::vector< LinearProjectionConstraint > & getDynamicLinearProjectors()
Get the vector denoting the filter.
void solve(Vectord &x) override
Solve the system of equations.
void setTolerance(const double tolerance)
Set solver tolerance.
void setLinearProjectors(std::vector< LinearProjectionConstraint > *f)
Get the vector denoting the filter.
Type m_type
Type of the scene object.
double getResidual(const Vectord &x) override
Return the error calculated by the solver.