![]() |
CLA3P v0.3.1
Compact Linear Algebra Parallel Portable Package
|
The rank moderator class. More...
Constructors | |
| RankModerator () | |
| Default constructor. | |
| RankModerator (T_RScalar tol, lraMethod_t method, T_RScalar ref=autoReference()) | |
| The parameterized constructor. | |
| ~RankModerator () | |
| Destructor. | |
Arguments | |
| T_RScalar | cutTolerance () const |
| The cutoff tolerance. | |
| lraMethod_t | reductionMethod () const |
| The reduction method. | |
| T_RScalar | maxReference () const |
| The reference value. | |
| void | setCutTolerance (T_RScalar tol) |
| Sets the cutoff tolerance. | |
| void | setReductionMethod (lraMethod_t method) |
| Sets the reduction method. | |
| void | setMaxReference (T_RScalar ref) |
| The reference value. | |
Public Member Functions | |
| void | clear () |
| Clears the rank moderator. | |
| XxMatrix< T_Matrix > | reduce (const T_Matrix &mat) const |
| Full-rank to low-rank convertor. | |
Advanced Public Member Functions | |
| XxMatrix< T_Matrix > | reduceUsingDefaultSVD (const T_Matrix &mat, DefaultSVD< T_Matrix > &svd) const |
| Full-rank to low-rank convertor. | |
| XxMatrix< T_Matrix > | reduceUsingFastQR (const T_Matrix &mat, PartialQR< T_Matrix > &pqr, DefaultSVD< T_Matrix > &svd) const |
| Full-rank to low-rank convertor. | |
Global Options | |
| static constexpr T_RScalar | autoReference () |
| Reference value will be set automaticaly. | |
The rank moderator class.
Controls the rank truncation strategy for low-rank approximations based on singular values.
| T_Matrix | The matrix type (e.g., dns::XxMatrix<T_Scalar>). |
| cla3p::lra::RankModerator< T_Matrix >::RankModerator | ( | ) |
Default constructor.
Creates a rank moderator with default parameter values.
|
explicit |
The parameterized constructor.
Constructs a rank moderator with user defined parameters. Ranks kept must satisfy \( \sigma_j > \mathrm{ref} \cdot \mathrm{tol} \).
| [in] | tol | The cutoff tolerance. |
| [in] | method | The reduction method. |
| [in] | ref | Use an auto/fixed value as reference. If negative, the maximum singular value will be used instead. |
| cla3p::lra::RankModerator< T_Matrix >::~RankModerator | ( | ) |
Destructor.
Destroys the rank moderator object.
| T_RScalar cla3p::lra::RankModerator< T_Matrix >::cutTolerance | ( | ) | const |
The cutoff tolerance.
Controls the level of detail in the low-rank matrix. Ranks kept must satisfy \( \sigma_j > \mathrm{maxReference}() \cdot \mathrm{cutTolerance}() \).
| lraMethod_t cla3p::lra::RankModerator< T_Matrix >::reductionMethod | ( | ) | const |
The reduction method.
Controls the full-rank to low-rank conversion method.
| T_RScalar cla3p::lra::RankModerator< T_Matrix >::maxReference | ( | ) | const |
The reference value.
Controls the level of detail in the low-rank matrix. Ranks kept must satisfy \( \sigma_j > \mathrm{maxReference}() \cdot \mathrm{cutTolerance}() \). If negative, the maximum singular value will be used instead.
| void cla3p::lra::RankModerator< T_Matrix >::setCutTolerance | ( | T_RScalar | tol | ) |
Sets the cutoff tolerance.
Controls the level of detail in the low-rank matrix. Ranks kept must satisfy \( \sigma_j > \mathrm{maxReference}() \cdot \mathrm{cutTolerance}() \).
| [in] | tol | The desired cutoff tolerance. |
| void cla3p::lra::RankModerator< T_Matrix >::setReductionMethod | ( | lraMethod_t | method | ) |
Sets the reduction method.
Controls the full-rank to low-rank conversion method.
| [in] | method | The desired reduction method. |
| void cla3p::lra::RankModerator< T_Matrix >::setMaxReference | ( | T_RScalar | ref | ) |
The reference value.
Controls the level of detail in the low-rank matrix. Ranks kept must satisfy \( \sigma_j > \mathrm{maxReference}() \cdot \mathrm{cutTolerance}() \). If negative, the maximum singular value will be used instead.
| [in] | ref | The desired auto/fixed reference value. |
| void cla3p::lra::RankModerator< T_Matrix >::clear | ( | ) |
Clears the rank moderator.
Resets all members to match those of the default rank moderator.
| XxMatrix< T_Matrix > cla3p::lra::RankModerator< T_Matrix >::reduce | ( | const T_Matrix & | mat | ) | const |
Full-rank to low-rank convertor.
Converts a full rank dense matrix to low-rank using internal parameterization.
| [in] | mat | The dense matrix to be reduced. |
mat. | XxMatrix< T_Matrix > cla3p::lra::RankModerator< T_Matrix >::reduceUsingDefaultSVD | ( | const T_Matrix & | mat, |
| DefaultSVD< T_Matrix > & | svd ) const |
Full-rank to low-rank convertor.
Converts a full rank dense matrix to low-rank using the standard SVD method. A user parameterized svd object is supplied in order to avoid repeated (de-)allocations.
| [in] | mat | The dense matrix to be reduced. |
| [in,out] | svd | The Singular Value Decomposition object to be used. |
mat. | XxMatrix< T_Matrix > cla3p::lra::RankModerator< T_Matrix >::reduceUsingFastQR | ( | const T_Matrix & | mat, |
| PartialQR< T_Matrix > & | pqr, | ||
| DefaultSVD< T_Matrix > & | svd ) const |
Full-rank to low-rank convertor.
Converts a full rank dense matrix to low-rank using the hybrid QR/SVD method. User parameterized pqr/svd objects are supplied in order to avoid repeated (de-)allocations.
| [in] | mat | The dense matrix to be reduced. |
| [in,out] | pqr | The Partial QR Decomposition object to be used. |
| [in,out] | svd | The Singular Value Decomposition object to be used. |
mat.
|
inlinestaticconstexpr |
Reference value will be set automaticaly.
The default value for automatic deduction of the reference value \( \sigma_{\mathrm{max}} \).