Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
solver_eigen_rep< T, M >

Detailed Description

template<class T, class M>
class rheolef::solver_eigen_rep< T, M >

Definition at line 42 of file solver_eigen.h.

+ Inheritance diagram for solver_eigen_rep< T, M >:

Public Types

typedef solver_abstract_rep< T, Mbase
 
typedef base::size_type size_type
 
typedef base::determinant_type determinant_type
 
- Public Types inherited from solver_abstract_rep< T, M >
typedef csr< T, M >::size_type size_type
 

Public Member Functions

 solver_eigen_rep (const csr< T, M > &a, const solver_option &opt=solver_option())
 
 solver_eigen_rep (const solver_eigen_rep< T, M > &)
 
solver_abstract_rep< T, M > * clone () const
 
void update_values (const csr< T, M > &a)
 
bool initialized () const
 
vec< T, Mtrans_solve (const vec< T, M > &rhs) const
 
vec< T, Msolve (const vec< T, M > &rhs) const
 
determinant_type det () const
 
- Public Member Functions inherited from solver_abstract_rep< T, M >
 solver_abstract_rep (const solver_option &opt)
 
 solver_abstract_rep (const solver_abstract_rep &x)
 
const solver_optionoption () const
 
virtual ~solver_abstract_rep ()
 
virtual void set_preconditioner (const solver_basic< T, M > &)
 
virtual std::string name () const
 

Protected Attributes

csr< T, M_a
 
Eigen::SparseLU< Eigen::SparseMatrix< T, Eigen::ColMajor >, Eigen::COLAMDOrdering< int > > _superlu_a
 
Eigen::SimplicialLDLT< Eigen::SparseMatrix< T, Eigen::ColMajor >, Eigen::Lower, Eigen::AMDOrdering< int > > _ldlt_a
 
determinant_type _det
 
- Protected Attributes inherited from solver_abstract_rep< T, M >
solver_option _opt
 

Additional Inherited Members

- Static Public Member Functions inherited from solver_abstract_rep< T, M >
static solver_abstract_rep< T, M > * make_solver_ptr (const csr< T, M > &a, const solver_option &opt)
 

Member Typedef Documentation

◆ base

template<class T , class M >
typedef solver_abstract_rep<T,M> base

Definition at line 46 of file solver_eigen.h.

◆ size_type

template<class T , class M >
typedef base::size_type size_type

Definition at line 47 of file solver_eigen.h.

◆ determinant_type

template<class T , class M >
typedef base::determinant_type determinant_type

Definition at line 48 of file solver_eigen.h.

Constructor & Destructor Documentation

◆ solver_eigen_rep() [1/2]

template<class T , class M >
solver_eigen_rep ( const csr< T, M > &  a,
const solver_option opt = solver_option() 
)
explicit

Definition at line 78 of file solver_eigen.h.

◆ solver_eigen_rep() [2/2]

template<class T , class M >
solver_eigen_rep ( const solver_eigen_rep< T, M > &  x)

Definition at line 89 of file solver_eigen.h.

Member Function Documentation

◆ clone()

template<class T , class M >
solver_abstract_rep< T, M > * clone ( ) const
virtual

Reimplemented from solver_abstract_rep< T, M >.

Definition at line 102 of file solver_eigen.h.

◆ update_values()

template<class T , class M >
void update_values ( const csr< T, M > &  a)
virtual

Reimplemented from solver_abstract_rep< T, M >.

Definition at line 42 of file solver_eigen.cc.

◆ initialized()

template<class T , class M >
bool initialized ( ) const
virtual

Reimplemented from solver_abstract_rep< T, M >.

Definition at line 56 of file solver_eigen.h.

◆ trans_solve()

template<class T , class M >
vec< T, M > trans_solve ( const vec< T, M > &  rhs) const
virtual

Reimplemented from solver_abstract_rep< T, M >.

Definition at line 101 of file solver_eigen.cc.

◆ solve()

template<class T , class M >
vec< T, M > solve ( const vec< T, M > &  rhs) const
virtual

Reimplemented from solver_abstract_rep< T, M >.

Definition at line 85 of file solver_eigen.cc.

◆ det()

template<class T , class M >
determinant_type det ( ) const
virtual

Reimplemented from solver_abstract_rep< T, M >.

Definition at line 62 of file solver_eigen.h.

Member Data Documentation

◆ _a

template<class T , class M >
csr<T,M> _a
protected

Definition at line 66 of file solver_eigen.h.

◆ _superlu_a

template<class T , class M >
Eigen::SparseLU<Eigen::SparseMatrix<T,Eigen::ColMajor>, Eigen::COLAMDOrdering<int> > _superlu_a
protected

Definition at line 68 of file solver_eigen.h.

◆ _ldlt_a

template<class T , class M >
Eigen::SimplicialLDLT<Eigen::SparseMatrix<T,Eigen::ColMajor>, Eigen::Lower, Eigen::AMDOrdering<int> > _ldlt_a
protected

Definition at line 70 of file solver_eigen.h.

◆ _det

template<class T , class M >
determinant_type _det
protected

Definition at line 71 of file solver_eigen.h.


The documentation for this class was generated from the following files: