|
template<typename T_mat > |
| TLDLInvMatrix (T_mat &&afac_matrix, const matform_t aformat, const eval_type_t aeval_type=CFG::Arith::eval_type, const storage_type_t astorage_type=CFG::Arith::storage_type) |
|
template<typename T_mat > |
| TLDLInvMatrix (T_mat &&afac_matrix, const matform_t aformat, const TTruncAcc &aacc, const eval_type_t aeval_type=CFG::Arith::eval_type, const storage_type_t astorage_type=CFG::Arith::storage_type) |
|
template<typename T_mat > |
| TLDLInvMatrix (const TScalarVector< value_t > *D1, T_mat &&afac_matrix, const TScalarVector< value_t > *D2, const matform_t aformat, const eval_type_t aeval_type=CFG::Arith::eval_type, const storage_type_t astorage_type=CFG::Arith::storage_type) |
|
virtual | ~TLDLInvMatrix () |
| dtor
|
|
virtual void | solve (TVector< value_t > *x, const matop_t op) const |
|
template<typename T_mat > |
| TFacInvMatrix (T_mat &&afac_matrix, const eval_type_t aeval_type=CFG::Arith::eval_type, const storage_type_t astorage_type=CFG::Arith::storage_type) |
|
template<typename T_mat > |
| TFacInvMatrix (T_mat &&afac_matrix, const TTruncAcc &aacc, const eval_type_t aeval_type=CFG::Arith::eval_type, const storage_type_t astorage_type=CFG::Arith::storage_type) |
|
template<typename T_mat > |
| TFacInvMatrix (const TScalarVector< value_t > *D1, T_mat &&afac_matrix, const TScalarVector< value_t > *D2, const eval_type_t aeval_type=CFG::Arith::eval_type, const storage_type_t astorage_type=CFG::Arith::storage_type) |
|
virtual | ~TFacInvMatrix () |
| dtor
|
|
const TMatrix< value_t > * | matrix () const |
| access factorised matrix
|
|
bool | has_scaling () const |
| return true if diagonal scaling is used
|
|
const TScalarVector< value_t > & | scaling_left () const |
| return left scaling matrix
|
|
const TScalarVector< value_t > & | scaling_right () const |
| return right scaling matrix
|
|
eval_type_t | eval_type () const |
| return evaluation type (pointwise/blockwise)
|
|
storage_type_t | storage_type () const |
| return evaluation type (pointwise/blockwise)
|
|
const TTruncAcc | accuracy () const |
| return internal accuracy for matrix arithmetic
|
|
void | set_accuracy (const TTruncAcc &aacc) |
| set internal accuracy for matrix arithmetic
|
|
bool | is_complex () const |
| return true, if field type is complex
|
|
bool | is_self_adjoint () const |
| return true, of operator is self adjoint
|
|
virtual void | apply (const TVector< value_t > *x, TVector< value_t > *y, const matop_t op=apply_normal) const |
|
virtual void | apply_add (const value_t alpha, const TVector< value_t > *x, TVector< value_t > *y, const matop_t op=apply_normal) const |
|
virtual void | apply_add (const value_t alpha, const BLAS::Vector< value_t > &x, BLAS::Vector< value_t > &y, const matop_t op=apply_normal) const |
|
virtual size_t | domain_dim () const |
| return dimension of domain
|
|
virtual size_t | range_dim () const |
| return dimension of range
|
|
virtual auto | domain_vector () const -> std::unique_ptr< TVector< value_t > > |
| return vector in domain space
|
|
virtual auto | range_vector () const -> std::unique_ptr< TVector< value_t > > |
| return vector in range space
|
|
virtual bool | is_real () const |
| return true, if field type is real valued
|
|
virtual typeid_t | type () const =0 |
| return type ID of object
|
|
virtual bool | is_type (const typeid_t t) const |
| return true if local object is of given type ID t
|
|
virtual std::string | typestr () const |
| return string representation of type
|
|
Evaluates \f$ (LDL^H)^{-1} \f$ or \f$ (LDL^T)^{-1} \f$.