SOFA API  cc263efb
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
 

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 ()
 
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 > >
 

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

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

◆ 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

◆ 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 > >