SOFA API  1c8b807d
Open source framework for multi-physics simuation
sofa::component::linearsolver::direct Namespace Reference

Classes

class  AsyncSparseLDLSolver
 
class  BTDLinearSolver
 
class  CholeskySolver
 Direct linear solver based on Cholesky factorization, for dense matrices. More...
 
class  EigenDirectSparseSolver
 
class  EigenSimplicialLDLT
 
class  EigenSimplicialLLT
 
struct  BaseEigenSolverProxy
 
class  EigenSolverWrapper
 
class  EigenSolverFactory
 
class  BaseMainEigenSolverFactory
 
class  MainSimplicialLDLTFactory
 
class  MainSimplicialLLTFactory
 
class  MainQRFactory
 
class  MainLUFactory
 
class  EigenSparseLU
 
class  EigenSparseQR
 
class  PrecomputedLinearSolverInternalData
 
class  PrecomputedLinearSolver
 Linear system solver based on a precomputed inverse matrix. More...
 
class  SparseLDLSolver
 
class  SparseLDLImplInvertData
 
class  SparseLDLSolverImpl
 
class  SVDLinearSolver
 

Typedefs

template<class Real >
using SimplicialLDLTTraits = DeprecatedAndRemoved
 
template<class Real >
using SimplicialLLTTraits = DeprecatedAndRemoved
 
template<class Real >
using SparseLUTraits = DeprecatedAndRemoved
 
template<class Real >
using SparseQRTraits = DeprecatedAndRemoved
 

Functions

void registerAsyncSparseLDLSolver (sofa::core::ObjectFactory *factory)
 
void registerBTDLinearSolver (sofa::core::ObjectFactory *factory)
 
void registerCholeskySolver (sofa::core::ObjectFactory *factory)
 
void registerEigenSimplicialLDLT (sofa::core::ObjectFactory *factory)
 
void registerEigenSimplicialLLT (sofa::core::ObjectFactory *factory)
 
void registerEigenSparseLU (sofa::core::ObjectFactory *factory)
 
void registerEigenSparseQR (sofa::core::ObjectFactory *factory)
 
void registerPrecomputedLinearSolver (sofa::core::ObjectFactory *factory)
 
void registerSparseLDLSolver (sofa::core::ObjectFactory *factory)
 
void registerSVDLinearSolver (sofa::core::ObjectFactory *factory)
 
SOFA_EXPORT_DYNAMIC_LIBRARY void initExternalModule ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleName ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleVersion ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY void registerObjects (sofa::core::ObjectFactory *factory)
 
template<class EigenSolverFactory , class Scalar >
void registerOrderingMethods ()
 
template<class Scalar >
void registerOrderingMethods ()
 
void init ()
 
void csrToAdj (int n, int *M_colptr, int *M_rowind, type::vector< int > &adj, type::vector< int > &xadj, type::vector< int > &t_adj, type::vector< int > &t_xadj, type::vector< int > &tran_countvec)
 
void fillReducingPermutation (int nbColumns, int *columns, int *rowIndices, int *perm, int *invperm)=delete
 
bool compareMatrixShape (int s_M, int *M_colptr, int *M_rowind, int s_P, int *P_colptr, int *P_rowind)
 
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)
 

Variables

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API AsyncSparseLDLSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API CholeskySolver< SparseMatrix< SReal >, FullVector< SReal > >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API CholeskySolver< FullMatrix< SReal >, FullVector< SReal > >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API EigenSimplicialLDLT< SReal >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API EigenSimplicialLLT< SReal >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API EigenSparseLU< SReal >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API EigenSparseQR< SReal >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API PrecomputedLinearSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API SparseLDLSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API SVDLinearSolver< FullMatrix< SReal >, FullVector< SReal > >
 
template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API SVDLinearSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >
 

Typedef Documentation

◆ SimplicialLDLTTraits

template<class Real >
using sofa::component::linearsolver::direct::SimplicialLDLTTraits = typedef DeprecatedAndRemoved

◆ SimplicialLLTTraits

template<class Real >
using sofa::component::linearsolver::direct::SimplicialLLTTraits = typedef DeprecatedAndRemoved

◆ SparseLUTraits

template<class Real >
using sofa::component::linearsolver::direct::SparseLUTraits = typedef DeprecatedAndRemoved

◆ SparseQRTraits

template<class Real >
using sofa::component::linearsolver::direct::SparseQRTraits = typedef DeprecatedAndRemoved

Function Documentation

◆ compareMatrixShape()

bool sofa::component::linearsolver::direct::compareMatrixShape ( int  s_M,
int *  M_colptr,
int *  M_rowind,
int  s_P,
int *  P_colptr,
int *  P_rowind 
)
inline

◆ CSPARSE_numeric()

template<class Real >
void sofa::component::linearsolver::direct::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

◆ CSPARSE_symbolic()

void sofa::component::linearsolver::direct::CSPARSE_symbolic ( int  n,
int *  M_colptr,
int *  M_rowind,
int *  colptr,
int *  perm,
int *  invperm,
int *  Parent,
int *  Flag,
int *  Lnz 
)
inline

◆ csrToAdj()

SOFA_COMPONENT_LINEARSOLVER_DIRECT_API void sofa::component::linearsolver::direct::csrToAdj ( int  n,
int *  M_colptr,
int *  M_rowind,
type::vector< int > &  adj,
type::vector< int > &  xadj,
type::vector< int > &  t_adj,
type::vector< int > &  t_xadj,
type::vector< int > &  tran_countvec 
)

compute the adjency matrix in CSR format from the matrix given in CSR format, we assume that the given matrix is symmetric

M_colptr[i+1]-M_colptr[i] is the number of non null values on the i-th line of the matrix M_rowind[M_colptr[i]] to M_rowind[M_colptr[i+1]] is the list of the indices of the columns containing a non null value on the i-th line

xadj[i+1]-xadj[i] is the number of neighbors of the i-th node adj[xadj[i]] is the first neighbor of the i-th node

◆ fillReducingPermutation()

void sofa::component::linearsolver::direct::fillReducingPermutation ( int  nbColumns,
int *  columns,
int *  rowIndices,
int *  perm,
int *  invperm 
)
delete

◆ getModuleName()

const char * sofa::component::linearsolver::direct::getModuleName ( )

◆ getModuleVersion()

const char * sofa::component::linearsolver::direct::getModuleVersion ( )

◆ init()

SOFA_COMPONENT_LINEARSOLVER_DIRECT_API void sofa::component::linearsolver::direct::init ( )

◆ initExternalModule()

void sofa::component::linearsolver::direct::initExternalModule ( )

◆ registerAsyncSparseLDLSolver()

void sofa::component::linearsolver::direct::registerAsyncSparseLDLSolver ( sofa::core::ObjectFactory factory)

◆ registerBTDLinearSolver()

void sofa::component::linearsolver::direct::registerBTDLinearSolver ( sofa::core::ObjectFactory factory)

◆ registerCholeskySolver()

void sofa::component::linearsolver::direct::registerCholeskySolver ( sofa::core::ObjectFactory factory)

◆ registerEigenSimplicialLDLT()

void sofa::component::linearsolver::direct::registerEigenSimplicialLDLT ( sofa::core::ObjectFactory factory)

◆ registerEigenSimplicialLLT()

void sofa::component::linearsolver::direct::registerEigenSimplicialLLT ( sofa::core::ObjectFactory factory)

◆ registerEigenSparseLU()

void sofa::component::linearsolver::direct::registerEigenSparseLU ( sofa::core::ObjectFactory factory)

◆ registerEigenSparseQR()

void sofa::component::linearsolver::direct::registerEigenSparseQR ( sofa::core::ObjectFactory factory)

◆ registerObjects()

void sofa::component::linearsolver::direct::registerObjects ( sofa::core::ObjectFactory factory)

◆ registerOrderingMethods() [1/2]

template<class EigenSolverFactory , class Scalar >
void sofa::component::linearsolver::direct::registerOrderingMethods ( )

◆ registerOrderingMethods() [2/2]

template<class Scalar >
void sofa::component::linearsolver::direct::registerOrderingMethods ( )

◆ registerPrecomputedLinearSolver()

void sofa::component::linearsolver::direct::registerPrecomputedLinearSolver ( sofa::core::ObjectFactory factory)

◆ registerSparseLDLSolver()

void sofa::component::linearsolver::direct::registerSparseLDLSolver ( sofa::core::ObjectFactory factory)

◆ registerSVDLinearSolver()

void sofa::component::linearsolver::direct::registerSVDLinearSolver ( sofa::core::ObjectFactory factory)

Variable Documentation

◆ AsyncSparseLDLSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::AsyncSparseLDLSolver< CompressedRowSparseMatrix< SReal >,FullVector< SReal > >

◆ CholeskySolver< FullMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::CholeskySolver< FullMatrix< SReal >, FullVector< SReal > >

◆ CholeskySolver< SparseMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::CholeskySolver< SparseMatrix< SReal >, FullVector< SReal > >

◆ EigenSimplicialLDLT< SReal >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::EigenSimplicialLDLT< SReal >

◆ EigenSimplicialLLT< SReal >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::EigenSimplicialLLT< SReal >

◆ EigenSparseLU< SReal >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::EigenSparseLU< SReal >

◆ EigenSparseQR< SReal >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::EigenSparseQR< SReal >

◆ PrecomputedLinearSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::PrecomputedLinearSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

◆ SparseLDLSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::SparseLDLSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

◆ SVDLinearSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::SVDLinearSolver< CompressedRowSparseMatrix< SReal >, FullVector< SReal > >

◆ SVDLinearSolver< FullMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_DIRECT_API sofa::component::linearsolver::direct::SVDLinearSolver< FullMatrix< SReal >, FullVector< SReal > >