iMSTK
Interactive Medical Simulation Toolkit
Public Member Functions | List of all members
imstk::Jacobi Class Reference

Jacobi sparse linear solver. More...

#include <imstkJacobi.h>

Inheritance diagram for imstk::Jacobi:
Inheritance graph
[legend]
Collaboration diagram for imstk::Jacobi:
Collaboration graph
[legend]

Public Member Functions

 Jacobi (const SparseMatrixd &A, const Vectord &rhs)
 
 Jacobi (const Jacobi &)=delete
 Dissallow copy & move.
 
 Jacobi (const Jacobi &&)=delete
 
Jacobioperator= (const Jacobi &)=delete
 
Jacobioperator= (const Jacobi &&)=delete
 
void JacobiSolve (Vectord &x)
 Do one iteration of the method. More...
 
void solve (Vectord &x) override
 Solve the system of equations.
 
void solve (Vectord &x, const double tolerance)
 Solve the linear system using Gauss-Seidel iterations to a specified tolerance.
 
double getResidual (const Vectord &x) override
 Return the error calculated by the solver.
 
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.
 
void setTolerance (const double tolerance)
 Set solver tolerance.
 
void print () const override
 Print solver information.
 
void setLinearProjectors (std::vector< LinearProjectionConstraint > *f)
 Get the vector denoting the filter.
 
std::vector< LinearProjectionConstraint > & getLinearProjectors ()
 Get the vector denoting the filter.
 
void setDynamicLinearProjectors (std::vector< LinearProjectionConstraint > *f)
 Get the vector denoting the filter.
 
std::vector< LinearProjectionConstraint > & getDynamicLinearProjectors ()
 Get the vector denoting the filter.
 
- Public Member Functions inherited from imstk::IterativeLinearSolver
virtual size_t getMaxNumIterations () const
 
virtual const Vectord & getResidualVector ()
 Return residual vector.
 
virtual const Vectord & getResidualVector (const Vectord &x)
 
bool isIterative () const override
 Returns true if the solver is iterative.
 
- Public Member Functions inherited from imstk::LinearSolver< SparseMatrixd >
 LinearSolver ()
 Default constructor/destructor.
 
virtual void setSystem (std::shared_ptr< LinearSystemType > newSystem)
 Set/get the system. Replaces/Returns the stored linear system of equations.
 
std::shared_ptr< LinearSystemTypegetSystem () const
 
void setTolerance (const double tolerance)
 Set solver tolerance.
 
double getTolerance () const
 Get solver tolerance.
 
Type getType ()
 Return the type of the solver.
 

Additional Inherited Members

- Public Types inherited from imstk::LinearSolver< SparseMatrixd >
enum  Type
 
using MatrixType = SparseMatrixd
 
using LinearSystemType = LinearSystem< MatrixType >
 
- Protected Attributes inherited from imstk::IterativeLinearSolver
size_t m_maxIterations = 100
 Maximum number of iterations to be performed.
 
Vectord m_residual
 Storage for residual vector.
 
- Protected Attributes inherited from imstk::LinearSolver< SparseMatrixd >
Type m_type
 Type of the scene object.
 
double m_tolerance
 default tolerance
 
std::shared_ptr< LinearSystemTypem_linearSystem
 Linear system of equations.
 

Detailed Description

Jacobi sparse linear solver.

Definition at line 20 of file imstkJacobi.h.

Member Function Documentation

◆ JacobiSolve()

void imstk::Jacobi::JacobiSolve ( Vectord &  x)

Do one iteration of the method.

Jacobi solver

Definition at line 45 of file imstkJacobi.cpp.


The documentation for this class was generated from the following files: