iMSTK
Interactive Medical Simulation Toolkit
Public Member Functions | List of all members
imstk::LinearSystem< SystemMatrixType > Class Template Reference

Represents the linear system of the form $ Ax = b $. More...

#include <imstkLinearSystem.h>

Inheritance diagram for imstk::LinearSystem< SystemMatrixType >:
Inheritance graph
[legend]
Collaboration diagram for imstk::LinearSystem< SystemMatrixType >:
Collaboration graph
[legend]

Public Member Functions

 LinearSystem ()=delete
 Constructor/destructor(s). This class can't be constructed without a matrix and rhs.
 
 LinearSystem (const SystemMatrixType &matrix, const Vectord &b)
 
 LinearSystem (const LinearSystem &)=delete
 Dissallow copy & move.
 
 LinearSystem (const LinearSystem &&)=delete
 
LinearSystemoperator= (const LinearSystem &)=delete
 
LinearSystemoperator= (const LinearSystem &&)=delete
 
const Vectord & getRHSVector () const
 Returns a reference to local right hand side vector.
 
void setRHSVector (const Vectord &newRhs)
 Set the system rhs corresponding to this system.
 
const SystemMatrixType & getMatrix () const
 Returns reference to local matrix.
 
void setMatrix (const SystemMatrixType &newMatrix)
 Set the system matrix corresponding to this ODE system.
 
void computeResidual (const Vectord &x, Vectord &r) const
 Compute the residual as $\left \| b-Ax \right \|_2$.
 
Eigen::TriangularView< SystemMatrixType, Eigen::Lower > getLowerTriangular () const
 Returns template expression for the lower triangular part of A.
 
Eigen::TriangularView< SystemMatrixType, Eigen::StrictlyLower > getStrictLowerTriangular () const
 Returns template expression for the strict lower triangular part of A.
 
Eigen::TriangularView< SystemMatrixType, Eigen::Upper > getUpperTrianglular () const
 Returns template expression for the upper triangular part of A.
 
Eigen::TriangularView< SystemMatrixType, Eigen::StrictlyUpper > getStrictUpperTriangular () const
 Returns template expression for the strict upper triangular part of A.
 
Vectord & getFunctionValue ()
 Get the value of the function F.
 
size_t getSize ()
 Returns the size of the system.
 
- Public Member Functions inherited from imstk::NonLinearSystem< SystemMatrixType >
 NonLinearSystem (const VectorFunctionType &F, const MatrixFunctionType &dF)
 
 NonLinearSystem (const VectorFunctionType &F, const MatrixFunctionType &dF, const VectorMatrixFunctionType &F_dF)
 
virtual void setFunction (const VectorFunctionType &function)
 Set nonlinear method that evaluates the nonlinear function.
 
virtual void setJacobian (const MatrixFunctionType &function)
 Set the method that evaluates the gradient of the nonlinear function.
 
virtual const Vectord & evaluateF (const Vectord &x, const bool isSemiImplicit)
 Evaluate function at a given state.
 
virtual const SystemMatrixType & evaluateJacobian (const Vectord &x)
 Evaluate gradient of the function at a given state.
 
void setUnknownVector (Vectord &v)
 
Vectord & getUnknownVector ()
 Get the vector used to populate the solution.
 
void setUpdateFunction (const UpdateFunctionType &updateFunc)
 Get the vector denoting the filter. More...
 
void setUpdatePreviousStatesFunction (const UpdatePrevStateFunctionType &updateFunc)
 Set the update function.
 

Additional Inherited Members

- Public Types inherited from imstk::NonLinearSystem< SystemMatrixType >
using VectorFunctionType = std::function< const Vectord &(const Vectord &, const bool)>
 
using MatrixFunctionType = std::function< const SystemMatrixType &(const Vectord &)>
 
using VecMatPair = std::pair< const Vectord *, const SystemMatrixType *>
 
using VectorMatrixFunctionType = std::function< VecMatPair(const Vectord &, const bool)>
 
using UpdateFunctionType = std::function< void(const Vectord &, const bool)>
 
using UpdatePrevStateFunctionType = std::function< void()>
 
- Public Attributes inherited from imstk::NonLinearSystem< SystemMatrixType >
VectorFunctionType m_F
 Get the vector denoting the filter. More...
 
MatrixFunctionType m_dF
 Gradient of the Nonlinear function with respect to the unknown vector.
 
VectorMatrixFunctionType m_F_dF
 
Vectord * m_unknown
 
UpdateFunctionType m_FUpdate
 
UpdatePrevStateFunctionType m_FUpdatePrevState
 

Detailed Description

template<typename SystemMatrixType>
class imstk::LinearSystem< SystemMatrixType >

Represents the linear system of the form $ Ax = b $.

Definition at line 34 of file imstkLinearSystem.h.


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