HLIBpro
2.5.1
|
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 the inverse 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.