HLIBpro
2.8.1
|
Defines accuracy for truncation of low rank blocks.
#include <TTruncAcc.hh>
Public Member Functions | |
TTruncAcc () | |
TTruncAcc (const int k, const double absolute_eps=CFG::Arith::abs_eps) | |
TTruncAcc (const double relative_eps, const double absolute_eps=CFG::Arith::abs_eps) | |
TTruncAcc (const TTruncAcc &ta) | |
template<typename T > | |
size_t | trunc_rank (const BLAS::Vector< T > &sv) const |
virtual const TTruncAcc & | acc (const TBlockCluster *) const |
return accuracy description for individual subblock | |
virtual const TTruncAcc & | acc (const TMatrix *) const |
return accuracy description for individual submatrix | |
const TTruncAcc & | operator() (const TBlockCluster *bc) const |
abbreviation via () operator | |
const TTruncAcc & | operator() (const TMatrix *M) const |
abbreviation via () operator | |
size_t | rank () const |
return fixed rank (nonnegative!) | |
size_t | max_rank () const |
return maximal rank (nonnegative!) | |
bool | has_max_rank () const |
return true if maximal truncation rank was defined | |
double | rel_eps () const |
return relative accuracy | |
double | abs_eps () const |
return absolute accuracy | |
bool | is_fixed_rank () const |
return true if accuracy is fixed rank | |
bool | is_fixed_prec () const |
return true if accuracy is fixed precision | |
bool | is_exact () const |
return true if accuracy is "exact" | |
void | set_max_rank (const int k) |
set maximal rank in truncation | |
TTruncAcc & | operator= (const TTruncAcc &ta) |
copy operator | |
virtual std::string | to_string () const |
return string representation | |
|
inline |
construct accuracy object for exact truncation
|
inline |
construct accuracy object for fixed rank truncation
|
inline |
construct accuracy object for fixed accuracy truncation
size_t trunc_rank | ( | const BLAS::Vector< T > & | sv | ) | const |
return truncation rank based on internal strategy and given singular values sv