#include <LULinearSolver.h>


Public Member Functions | |
| LULinearSolver () | |
| ~LULinearSolver () | |
| void | invert (Matrix &M) |
| Invert M. | |
| void | solve (Matrix &M, Vector &x, Vector &b) |
| Solve Mx=b. | |
| void | computeMinv () |
| double | getMinvElement (int i, int j) |
| template<class RMatrix , class JMatrix > | |
| bool | addJMInvJt (RMatrix &result, JMatrix &J, double fact) |
| bool | addJMInvJt (defaulttype::BaseMatrix *result, defaulttype::BaseMatrix *J, double fact) |
| Multiply the inverse of the system matrix by the transpose of the given matrix, and multiply the result with the given matrix J. | |
Data Fields | |
| Data< bool > | f_verbose |
| Matrix::LUSolver * | solver |
| Matrix::InvMatrixType | Minv |
| bool | computedMinv |
Definition at line 45 of file LULinearSolver.h.
| sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::LULinearSolver | ( | ) | [inline] |
Definition at line 53 of file LULinearSolver.h.
| sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::~LULinearSolver | ( | ) | [inline] |
Definition at line 59 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solver.
| bool sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt | ( | defaulttype::BaseMatrix * | result, | |
| defaulttype::BaseMatrix * | J, | |||
| double | fact | |||
| ) | [inline, virtual] |
Multiply the inverse of the system matrix by the transpose of the given matrix, and multiply the result with the given matrix J.
| result | the variable where the result will be added | |
| J | the matrix J to use |
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 173 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt().
| bool sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt | ( | RMatrix & | result, | |
| JMatrix & | J, | |||
| double | fact | |||
| ) | [inline] |
Definition at line 126 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computeMinv(), sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::getMinvElement(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt().
| void sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computeMinv | ( | ) | [inline] |
Definition at line 99 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computedMinv, sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::Minv, sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solver, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt().
| double sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::getMinvElement | ( | int | i, | |
| int | j | |||
| ) | [inline] |
Definition at line 120 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::Minv.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt().
| void sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::invert | ( | Matrix & | M | ) | [inline, virtual] |
Invert M.
Reimplemented from sofa::simulation::MatrixLinearSolver< Matrix, Vector >.
Definition at line 66 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computedMinv, and sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solver.
| void sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solve | ( | Matrix & | M, | |
| Vector & | x, | |||
| Vector & | b | |||
| ) | [inline, virtual] |
Solve Mx=b.
Implements sofa::simulation::MatrixLinearSolver< Matrix, Vector >.
Definition at line 75 of file LULinearSolver.h.
References sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::f_verbose, sofa::core::objectmodel::Data< T >::getValue(), and sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solver.
| bool sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computedMinv |
Definition at line 51 of file LULinearSolver.h.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computeMinv(), and sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::invert().
| Data<bool> sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::f_verbose |
Definition at line 48 of file LULinearSolver.h.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solve().
| Matrix::InvMatrixType sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::Minv |
Definition at line 50 of file LULinearSolver.h.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computeMinv(), and sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::getMinvElement().
| Matrix::LUSolver* sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solver |
Definition at line 49 of file LULinearSolver.h.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computeMinv(), sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::invert(), sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::solve(), and sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::~LULinearSolver().
1.5.7.1