SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::component::linearsolver::direct::BaseEigenSolverProxy Struct Referenceabstract

#include <EigenSolverFactory.h>

Inheritance diagram for sofa::component::linearsolver::direct::BaseEigenSolverProxy:

Detailed Description

A base wrapper class for all solvers based on the Eigen library

Public Member Functions

virtual ~BaseEigenSolverProxy ()
 
virtual Eigen::ComputationInfo info () const =0
 
virtual void solve (const EigenVectorXdMap< float > &b, EigenVectorXdMap< float > &x) const =0
 
virtual void solve (const EigenVectorXdMap< double > &b, EigenVectorXdMap< double > &x) const =0
 
virtual void analyzePattern (const EigenSparseMatrixMap< float > &a)=0
 
virtual void analyzePattern (const EigenSparseMatrixMap< double > &a)=0
 
virtual void factorize (const EigenSparseMatrixMap< float > &a)=0
 
virtual void factorize (const EigenSparseMatrixMap< double > &a)=0
 

Constructor details

◆ ~BaseEigenSolverProxy()

virtual sofa::component::linearsolver::direct::BaseEigenSolverProxy::~BaseEigenSolverProxy ( )
inlinevirtual

Function details

◆ analyzePattern() [1/2]

virtual void sofa::component::linearsolver::direct::BaseEigenSolverProxy::analyzePattern ( const EigenSparseMatrixMap< double > &  a)
pure virtual

◆ analyzePattern() [2/2]

virtual void sofa::component::linearsolver::direct::BaseEigenSolverProxy::analyzePattern ( const EigenSparseMatrixMap< float > &  a)
pure virtual

◆ factorize() [1/2]

virtual void sofa::component::linearsolver::direct::BaseEigenSolverProxy::factorize ( const EigenSparseMatrixMap< double > &  a)
pure virtual

◆ factorize() [2/2]

virtual void sofa::component::linearsolver::direct::BaseEigenSolverProxy::factorize ( const EigenSparseMatrixMap< float > &  a)
pure virtual

◆ info()

virtual Eigen::ComputationInfo sofa::component::linearsolver::direct::BaseEigenSolverProxy::info ( ) const
pure virtual

◆ solve() [1/2]

virtual void sofa::component::linearsolver::direct::BaseEigenSolverProxy::solve ( const EigenVectorXdMap< double > &  b,
EigenVectorXdMap< double > &  x 
) const
pure virtual

◆ solve() [2/2]

virtual void sofa::component::linearsolver::direct::BaseEigenSolverProxy::solve ( const EigenVectorXdMap< float > &  b,
EigenVectorXdMap< float > &  x 
) const
pure virtual