HLIBpro
2.7
|
Baseclass for representing the inverse of factorised matrices. More...
#include <TFacInvMatrix.hh>
Public Member Functions | |
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 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 | |
Public Member Functions inherited from TTypeInfo | |
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 \( A = LU \) the inverse \( (LU)^{-1} \) is applied.
Optionally, diagonal scalings from left and right may have been applied before the factorisation and now taken into account in the evaluation.
|
inline |
construct inverse operator with factorised matrix afac_matrix (no diagonal scaling applied)
|
inline |
construct inverse operator with factorised matrix afac_matrix with accuracy for matrix arithmetic (without diagonal scaling)
|
inline |
construct inverse operator with factorised matrix afac_matrix and additional row and column scaling factors D1 and D2, e.g. A = D1·Ã·D2, with à = afac_matrix
|
virtual |
mapping function of linear operator A, e.g. y ≔ A(x). Depending on op, either A, A^T or A^H is applied.
Implements TLinearOperator.
|
virtual |
mapping function with update: y ≔ y + α A( x ). Depending on op, either A, A^T or A^H is applied.
Implements TLinearOperator.