SOFA API  6a688117
Open source framework for multi-physics simuation
sofa::component::linearsolver Namespace Reference

Classes

class  BaseMatrixLinearSolver
 
class  bloc_index_func
 
class  BlocFullMatrix
 Simple bloc full matrix container (used for InvMatrixType) More...
 
class  BlockDiagonalMatrix
 Simple full matrix container. More...
 
class  BlockJacobiPreconditioner
 Linear solver based on a NxN bloc diagonal matrix (i.e. block Jacobi preconditioner) More...
 
class  BlockJacobiPreconditionerInternalData
 
class  BlockVector
 
class  BlocMatrixWriter
 
class  BTDLinearSolver
 
class  BTDMatrix
 Simple BTD matrix container. More...
 
class  CGLinearSolver
 Linear system solver using the conjugate gradient iterative algorithm. More...
 
class  CholeskySolver
 Direct linear solver based on Cholesky factorization, for dense matrices. More...
 
class  CompressedRowSparseMatrix
 
class  DefaultMatrixInvertOp
 
class  DefaultMatrixInvertOp< 0, M1 >
 
class  DefaultMatrixProductOp
 
class  DefaultMatrixProductOp< 0, 0, M1, M2 >
 
class  DefaultMatrixProductOp< 0, 1, M1, M2 >
 
class  DefaultMatrixProductOp< 1, 0, M1, M2 >
 
class  DefaultMultiMatrixAccessor
 
class  DiagonalMatrix
 Simple full matrix container. More...
 
class  EigenBaseSparseMatrix
 
class  EigenSparseMatrix
 
class  EigenVector
 
class  EigenVector< double >
 
class  EigenVectorWrapper
 
class  FullMatrix
 Simple full matrix container. More...
 
class  FullVector
 
class  GraphScatteredMatrix
 
class  GraphScatteredVector
 
class  JacobiPreconditioner
 Linear solver based on a diagonal matrix (i.e. Jacobi preconditioner) More...
 
struct  LLineManipulator
 
struct  LMatrixManipulator
 
class  LPtrFullMatrix
 Simple full matrix container, with an additionnal pointer per line, to be able do get a T** pointer and use [i][j] directly. More...
 
class  LULinearSolver
 Linear system solver using the default (LU factorization) algorithm. More...
 
class  matrix_bloc_traits
 
class  matrix_bloc_traits< defaulttype::Mat< L, C, real >, IndexType >
 
class  matrix_bloc_traits< double, IndexType >
 
class  matrix_bloc_traits< float, IndexType >
 
class  matrix_bloc_traits< int, IndexType >
 
class  MatrixAddition
 
class  MatrixExpr
 
class  MatrixInverse
 
class  MatrixInvertData
 
class  MatrixInvertOp
 
class  MatrixInvertOp< DiagonalMatrix< R1 > >
 
class  MatrixLinearSolver
 
class  MatrixLinearSolver< Matrix, Vector, NoThreadManager >
 
class  MatrixLinearSolverInternalData
 
class  MatrixNegative
 
class  MatrixProduct
 
class  MatrixProductOp
 
class  MatrixProductOp< DiagonalMatrix< R1 >, DiagonalMatrix< R2 > >
 
class  MatrixProductOp< DiagonalMatrix< R1 >, M2 >
 
class  MatrixProductOp< M1, DiagonalMatrix< R2 > >
 
class  MatrixProductOp< SparseMatrix< R1 >, SparseMatrix< R2 > >
 
class  MatrixScale
 
class  MatrixSubstraction
 
class  MatrixTranspose
 
class  MinResLinearSolver
 
class  MultExpr
 
class  NewMatVector
 
class  NoThreadManager
 Empty class used for default solver implementation without multi-threading support. More...
 
class  PrecomputedLinearSolver
 Linear system solver based on a precomputed inverse matrix. More...
 
class  PrecomputedLinearSolverInternalData
 
class  PrecomputedWarpPreconditioner
 Linear system solver based on a precomputed inverse matrix, wrapped by a per-node rotation matrix. More...
 
class  PrecomputedWarpPreconditionerInternalData
 
class  RotationMatrix
 Direct linear solver based on Sparse LDL^T factorization, implemented with the CSPARSE library. More...
 
class  ShewchukPCGLinearSolver
 Linear system solver using the conjugate gradient iterative algorithm. More...
 
class  SingleMatrixAccessor
 
class  SparseCholeskySolver
 Direct linear solver based on Sparse Cholesky factorization, implemented with the CSPARSE library. More...
 
class  SparseLDLImplInvertData
 
class  SparseLDLSolver
 Direct linear solver based on Sparse LDL^T factorization, implemented with the CSPARSE library. More...
 
class  SparseLDLSolverImpl
 
class  SparseLUInvertData
 
class  SparseLUSolver
 Direct linear solver based on Sparse LU factorization, implemented with the CSPARSE library. More...
 
class  SparseMatrix
 
class  SSORPreconditioner
 
class  SVDLinearSolver
 
class  TNewMatMatrix
 
class  type_selector
 
class  type_selector< 0, T0, T1 >
 
class  type_selector< 1, T0, T1 >
 
class  WarpPreconditioner
 Linear system solver wrapping another (precomputed) linear solver by a per-node rotation matrix. More...
 

Typedefs

typedef TNewMatMatrix< NEWMAT::Matrix > NewMatMatrix
 
typedef TNewMatMatrix< NEWMAT::SymmetricMatrix > NewMatSymmetricMatrix
 
typedef TNewMatMatrix< NEWMAT::BandMatrix > NewMatBandMatrix
 
typedef TNewMatMatrix< NEWMAT::SymmetricBandMatrix > NewMatSymmetricBandMatrix
 
typedef BlockDiagonalMatrix< 3 > BlockDiagonalMatrix3
 
typedef BlockDiagonalMatrix< 6 > BlockDiagonalMatrix6
 
typedef BlockDiagonalMatrix< 9 > BlockDiagonalMatrix9
 
typedef BlockDiagonalMatrix< 12 > BlockDiagonalMatrix12
 
typedef Eigen::SparseMatrix< SReal > SparseMatrixEigen
 
typedef Eigen::SparseVector< SReal > SparseVectorEigen
 
typedef Eigen::Matrix< SReal, Eigen::Dynamic, 1 > VectorEigen
 

Enumerations

enum  MatrixCategory {
  MATRIX_IDENTITY = 0, MATRIX_DIAGONAL, MATRIX_BAND, MATRIX_SPARSE,
  MATRIX_FULL
}
 

Functions

void CSPARSE_symbolic (int n, int *M_colptr, int *M_rowind, int *colptr, int *perm, int *invperm, int *Parent, int *Flag, int *Lnz)
 
template<class Real >
void CSPARSE_numeric (int n, int *M_colptr, int *M_rowind, Real *M_values, int *colptr, int *rowind, Real *values, Real *D, int *perm, int *invperm, int *Parent, int *Flag, int *Lnz, int *Pattern, Real *Y)
 
bool CSPARSE_need_symbolic_factorization (int s_M, int *M_colptr, int *M_rowind, int s_P, int *P_colptr, int *P_rowind)
 

Variables

template class SOFA_SOFADENSESOLVER_API MatrixLinearSolver< NewMatMatrix, NewMatVector >
 
template class SOFA_SOFADENSESOLVER_API MatrixLinearSolver< NewMatSymmetricMatrix, NewMatVector >
 
template class SOFA_SOFADENSESOLVER_API MatrixLinearSolver< NewMatBandMatrix, NewMatVector >
 
template class SOFA_SOFADENSESOLVER_API MatrixLinearSolver< NewMatSymmetricBandMatrix, NewMatVector >
 
int LULinearSolverClass
 
int NewMatCGLinearSolverClass
 
int NewMatCholeskySolverClass
 
int BTDLinearSolverClass
 
template class SOFA_GENERAL_LINEAR_SOLVER_API BTDLinearSolver< BTDMatrix< 6, double >, BlockVector< 6, double > >
 
int CholeskySolverClass
 
template class SOFA_GENERAL_LINEAR_SOLVER_API CholeskySolver< SparseMatrix< double >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API CholeskySolver< FullMatrix< double >, FullVector< double > >
 
int MinResLinearSolverClass
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< GraphScatteredMatrix, GraphScatteredVector >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< FullMatrix< double >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< SparseMatrix< double >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< double >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< Mat< 2, 2, double > >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< Mat< 3, 3, double > >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< Mat< 4, 4, double > >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< Mat< 6, 6, double > >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< Mat< 8, 8, double > >, FullVector< double > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< FullMatrix< SRreal >, FullVector< SRreal > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< SparseMatrix< SRreal >, FullVector< SRreal > >
 
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< CompressedRowSparseMatrix< SRreal >, FullVector< SRreal > >
 
int BlockJacobiPreconditionerClass
 
int JacobiPreconditionerClass
 
int PrecomputedWarpPreconditionerClass
 
int ShewchukPCGLinearSolverClass
 
int SSORPreconditionerClass
 
int WarpPreconditionerClass
 
int PrecomputedLinearSolverClass
 
template class SOFA_SOFASPARSESOLVER_API PrecomputedLinearSolver< CompressedRowSparseMatrix< double >, FullVector< double > >
 
int SparseCholeskySolverClass
 
template class SOFA_SOFASPARSESOLVER_API SparseCholeskySolver< CompressedRowSparseMatrix< double >, FullVector< double > >
 
template class SOFA_SOFASPARSESOLVER_API SparseCholeskySolver< CompressedRowSparseMatrix< float >, FullVector< float > >
 
int SparseLDLSolverClass
 
template class SOFA_SOFASPARSESOLVER_API SparseLDLSolver< CompressedRowSparseMatrix< double >, FullVector< double > >
 
int SparseLUSolverClass
 
int CGLinearSolverClass
 
template class SOFA_BASE_LINEAR_SOLVER_API CGLinearSolver< GraphScatteredMatrix, GraphScatteredVector >
 
template class SOFA_BASE_LINEAR_SOLVER_API CGLinearSolver< FullMatrix< double >, FullVector< double > >
 
template class SOFA_BASE_LINEAR_SOLVER_API CGLinearSolver< SparseMatrix< double >, FullVector< double > >
 
template class SOFA_BASE_LINEAR_SOLVER_API CGLinearSolver< CompressedRowSparseMatrix< double >, FullVector< double > >
 
template class SOFA_BASE_LINEAR_SOLVER_API FullVector< bool >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< FullMatrix< double >, FullVector< double >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< FullMatrix< float >, FullVector< float >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< SparseMatrix< double >, FullVector< double >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< SparseMatrix< float >, FullVector< float >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< CompressedRowSparseMatrix< double >, FullVector< double >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< CompressedRowSparseMatrix< float >, FullVector< float >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< DiagonalMatrix< double >, FullVector< double >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< DiagonalMatrix< float >, FullVector< float >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< BlockDiagonalMatrix< 3, double >, FullVector< double >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< RotationMatrix< double >, FullVector< double >, NoThreadManager >
 
template class SOFA_BASE_LINEAR_SOLVER_API MatrixLinearSolver< RotationMatrix< float >, FullVector< float >, NoThreadManager >
 
helper::vector< SparseVectorEigenLMatrix
 
int SVDLinearSolverClass
 

Typedef Documentation

typedef Eigen::SparseMatrix<SReal> sofa::component::linearsolver::SparseMatrixEigen
typedef Eigen::SparseVector<SReal> sofa::component::linearsolver::SparseVectorEigen
typedef Eigen::Matrix<SReal, Eigen::Dynamic, 1> sofa::component::linearsolver::VectorEigen

Enumeration Type Documentation

Enumerator
MATRIX_IDENTITY 
MATRIX_DIAGONAL 
MATRIX_BAND 
MATRIX_SPARSE 
MATRIX_FULL 

Function Documentation

bool sofa::component::linearsolver::CSPARSE_need_symbolic_factorization ( int  s_M,
int M_colptr,
int M_rowind,
int  s_P,
int P_colptr,
int P_rowind 
)
inline
template<class Real >
void sofa::component::linearsolver::CSPARSE_numeric ( int  n,
int M_colptr,
int M_rowind,
Real M_values,
int colptr,
int rowind,
Real values,
Real D,
int perm,
int invperm,
int Parent,
int Flag,
int Lnz,
int Pattern,
Real Y 
)
inline
void sofa::component::linearsolver::CSPARSE_symbolic ( int  n,
int M_colptr,
int M_rowind,
int colptr,
int perm,
int invperm,
int Parent,
int Flag,
int Lnz 
)
inline

Variable Documentation

int sofa::component::linearsolver::BlockJacobiPreconditionerClass
Initial value:
= core::RegisterObject("Linear solver based on a NxN bloc diagonal matrix (i.e. block Jacobi preconditioner)")
.add< BlockJacobiPreconditioner<BlockDiagonalMatrix<3,double> ,FullVector<double> > >()
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::BTDLinearSolver< BTDMatrix< 6, double >, BlockVector< 6, double > >
int sofa::component::linearsolver::BTDLinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver using Thomas Algorithm for Block Tridiagonal matrices")
.add< BTDLinearSolver<BTDMatrix<6,double>,BlockVector<6,double> > >(true)
template class SOFA_BASE_LINEAR_SOLVER_API sofa::component::linearsolver::CGLinearSolver< FullMatrix< double >, FullVector< double > >
template class SOFA_BASE_LINEAR_SOLVER_API sofa::component::linearsolver::CGLinearSolver< SparseMatrix< double >, FullVector< double > >
int sofa::component::linearsolver::CGLinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver using the conjugate gradient iterative algorithm")
.add< CGLinearSolver< FullMatrix<double>, FullVector<double> > >()
.add< CGLinearSolver< SparseMatrix<double>, FullVector<double> > >()
.add< CGLinearSolver< CompressedRowSparseMatrix<double>, FullVector<double> > >()
.add< CGLinearSolver< CompressedRowSparseMatrix<Mat<2,2,double> >, FullVector<double> > >()
.add< CGLinearSolver< CompressedRowSparseMatrix<Mat<3,3,double> >, FullVector<double> > >()
.add< CGLinearSolver< CompressedRowSparseMatrix<Mat<4,4,double> >, FullVector<double> > >()
.add< CGLinearSolver< CompressedRowSparseMatrix<Mat<6,6,double> >, FullVector<double> > >()
.add< CGLinearSolver< CompressedRowSparseMatrix<Mat<8,8,double> >, FullVector<double> > >()
.addAlias("CGSolver")
.addAlias("ConjugateGradient")
template class SOFA_BASE_LINEAR_SOLVER_API CGLinearSolver< GraphScatteredMatrix, GraphScatteredVector >
Definition: CGLinearSolver.cpp:81
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::CholeskySolver< FullMatrix< double >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::CholeskySolver< SparseMatrix< double >, FullVector< double > >
int sofa::component::linearsolver::CholeskySolverClass
Initial value:
= core::RegisterObject("Direct linear solver based on Cholesky factorization, for dense matrices")
.add< CholeskySolver< SparseMatrix<double>, FullVector<double> > >(true)
.add< CholeskySolver< FullMatrix<double>, FullVector<double> > >()
template class SOFA_BASE_LINEAR_SOLVER_API sofa::component::linearsolver::FullVector< bool >
int sofa::component::linearsolver::JacobiPreconditionerClass
Initial value:
= core::RegisterObject("Linear solver based on a diagonal matrix (i.e. Jacobi preconditioner)")
.add< JacobiPreconditioner<DiagonalMatrix<double>, FullVector<double> > >(true)
.addAlias("JacobiLinearSolver")
.addAlias("JacobiSolver")
helper::vector< SparseVectorEigen > sofa::component::linearsolver::LMatrix
int sofa::component::linearsolver::LULinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver using the conjugate gradient iterative algorithm")
.add< LULinearSolver<NewMatMatrix,NewMatVector> >(true)
.add< LULinearSolver<NewMatSymmetricMatrix,NewMatVector> >()
.add< LULinearSolver<NewMatBandMatrix,NewMatVector> >()
.add< LULinearSolver<NewMatSymmetricBandMatrix,NewMatVector> >()
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< CompressedRowSparseMatrix< Mat< 2, 2, double > >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< CompressedRowSparseMatrix< Mat< 3, 3, double > >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< CompressedRowSparseMatrix< Mat< 4, 4, double > >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< CompressedRowSparseMatrix< Mat< 6, 6, double > >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< CompressedRowSparseMatrix< Mat< 8, 8, double > >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< CompressedRowSparseMatrix< SRreal >, FullVector< SRreal > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< FullMatrix< double >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< FullMatrix< SRreal >, FullVector< SRreal > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< SparseMatrix< double >, FullVector< double > >
template class SOFA_GENERAL_LINEAR_SOLVER_API sofa::component::linearsolver::MinResLinearSolver< SparseMatrix< SRreal >, FullVector< SRreal > >
int sofa::component::linearsolver::MinResLinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver using the MINRES iterative algorithm")
.add< MinResLinearSolver< FullMatrix<double>, FullVector<double> > >()
.add< MinResLinearSolver< SparseMatrix<double>, FullVector<double> > >()
.add< MinResLinearSolver< CompressedRowSparseMatrix<double>, FullVector<double> > >()
.add< MinResLinearSolver< CompressedRowSparseMatrix<Mat<2,2,double> >, FullVector<double> > >()
.add< MinResLinearSolver< CompressedRowSparseMatrix<Mat<3,3,double> >, FullVector<double> > >()
.add< MinResLinearSolver< CompressedRowSparseMatrix<Mat<4,4,double> >, FullVector<double> > >()
.add< MinResLinearSolver< CompressedRowSparseMatrix<Mat<6,6,double> >, FullVector<double> > >()
.add< MinResLinearSolver< CompressedRowSparseMatrix<Mat<8,8,double> >, FullVector<double> > >()
.addAlias("MINRESSolver")
.addAlias("MinResSolver")
template class SOFA_GENERAL_LINEAR_SOLVER_API MinResLinearSolver< GraphScatteredMatrix, GraphScatteredVector >
Definition: MinResLinearSolver.cpp:55
int sofa::component::linearsolver::NewMatCGLinearSolverClass
Initial value:
= core::RegisterObject("NewMat linear system solver using the conjugate gradient iterative algorithm")
.add< CGLinearSolver< NewMatMatrix, NewMatVector > >()
.add< CGLinearSolver< NewMatSymmetricMatrix, NewMatVector > >()
.add< CGLinearSolver< NewMatBandMatrix, NewMatVector > >()
.add< CGLinearSolver< NewMatSymmetricBandMatrix, NewMatVector > >()
int sofa::component::linearsolver::NewMatCholeskySolverClass
Initial value:
= core::RegisterObject("NewMat direct linear solver based on Cholesky factorization, for dense matrices")
.add< CholeskySolver< NewMatSymmetricMatrix, NewMatVector > >()
int sofa::component::linearsolver::PrecomputedLinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver based on a precomputed inverse matrix")
.add< PrecomputedLinearSolver< CompressedRowSparseMatrix<double> , FullVector<double> > >()
int sofa::component::linearsolver::PrecomputedWarpPreconditionerClass
Initial value:
= core::RegisterObject("Linear system solver based on a precomputed inverse matrix, wrapped by a per-node rotation matrix")
.add< PrecomputedWarpPreconditioner< defaulttype::Vec3Types > >()
int sofa::component::linearsolver::ShewchukPCGLinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver using the conjugate gradient iterative algorithm")
.add< ShewchukPCGLinearSolver<GraphScatteredMatrix,GraphScatteredVector> >(true)
.addAlias("PCGLinearSolver")
int sofa::component::linearsolver::SparseCholeskySolverClass
Initial value:
= core::RegisterObject("Direct linear solver based on Sparse Cholesky factorization, implemented with the CSPARSE library")
.add< SparseCholeskySolver< CompressedRowSparseMatrix<double>,FullVector<double> > >(true)
.add< SparseCholeskySolver< CompressedRowSparseMatrix<float>,FullVector<float> > >()
int sofa::component::linearsolver::SparseLDLSolverClass
Initial value:
= core::RegisterObject("Direct Linear Solver using a Sparse LDL^T factorization.")
.add< SparseLDLSolver< CompressedRowSparseMatrix<double>,FullVector<double> > >(true)
.add< SparseLDLSolver< CompressedRowSparseMatrix<defaulttype::Mat<3,3,double> >,FullVector<double> > >()
int sofa::component::linearsolver::SparseLUSolverClass
Initial value:
= core::RegisterObject("Direct linear solver based on Sparse LU factorization, implemented with the CSPARSE library")
.add< SparseLUSolver< CompressedRowSparseMatrix<double>,FullVector<double> > >()
int sofa::component::linearsolver::SSORPreconditionerClass
Initial value:
= core::RegisterObject("Linear system solver / preconditioner based on Symmetric Successive Over-Relaxation (SSOR). If the matrix is decomposed as $A = D + L + L^T$, this solver computes $(1/(2-w))(D/w+L)(D/w)^{-1}(D/w+L)^T x = b, or $(D+L)D^{-1}(D+L)^T x = b$ if $w=1$.")
.add< SSORPreconditioner< CompressedRowSparseMatrix<double>, FullVector<double> > >(true)
.add< SSORPreconditioner< CompressedRowSparseMatrix< defaulttype::Mat<3,3,double> >, FullVector<double> > >()
.addAlias("SSORLinearSolver")
.addAlias("SSORSolver")
int sofa::component::linearsolver::SVDLinearSolverClass
Initial value:
= core::RegisterObject("Linear system solver using the conjugate gradient iterative algorithm")
.add< SVDLinearSolver< FullMatrix<double>, FullVector<double> > >()
.add< SVDLinearSolver< FullMatrix<float>, FullVector<float> > >()
.addAlias("SVDLinear")
.addAlias("SVD")
int sofa::component::linearsolver::WarpPreconditionerClass
Initial value:
= core::RegisterObject("Linear system solver wrapping another (precomputed) linear solver by a per-node rotation matrix")
.add< WarpPreconditioner< RotationMatrix<double>, FullVector<double>, NoThreadManager > >()