iMSTK
Interactive Medical Simulation Toolkit
|
Represents the linear system of the form .
More...
#include <imstkLinearSystem.h>
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 | |
LinearSystem & | operator= (const LinearSystem &)=delete |
LinearSystem & | operator= (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 ![]() | |
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. | |
![]() | |
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 | |
![]() | |
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()> |
![]() | |
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 |
Represents the linear system of the form .
Definition at line 34 of file imstkLinearSystem.h.