|
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 *D1, T_mat &&afac_matrix, const TScalarVector *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 * | matrix () const |
| access factorised matrix
|
|
bool | has_scaling () const |
| return true if diagonal scaling is used
|
|
const TScalarVector & | scaling_left () const |
| return left scaling matrix
|
|
const TScalarVector & | 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 *x, TVector *y, const matop_t op=apply_normal) const |
|
virtual void | apply_add (const real alpha, const TVector *x, TVector *y, const matop_t op=apply_normal) const |
|
virtual void | apply_add (const real alpha, const BLAS::Vector< real > &x, BLAS::Vector< real > &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 > |
| return vector in domain space
|
|
virtual auto | range_vector () const -> std::unique_ptr< TVector > |
| return vector in range space
|
|
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
|
|
TFacInvMatrix and the derived classes represent operators based on
factorised matrices providing the ability to evaluate the inverse
of the corresponding matrix (in factorised form), e.g. for \f$ A = LU \f$
the inverse \f$ (LU)^{-1} \f$ is applied.
Optionally, diagonal scalings from left and right may have been
applied before the factorisation and now taken into account in the
evaluation.