Classes | |
class | HSSFactors |
Contains data related to ULV factorization of an HSS matrix. More... | |
class | HSSFactorsMPI |
Contains data related to ULV factorization of a distributed HSS matrix. More... | |
class | HSSMatrix |
Class to represent a sequential/threaded Hierarchically Semi-Separable matrix. More... | |
class | HSSMatrixBase |
Abstract base class for Hierarchically Semi-Separable (HSS) matrices. More... | |
class | HSSMatrixMPI |
Distributed memory implementation of the HSS (Hierarchically Semi-Separable) matrix format. More... | |
class | HSSOptions |
Class containing several options for the HSS code and data-structures. More... | |
class | TreeLocalRanges |
Enumerations | |
enum class | CompressionAlgorithm { ORIGINAL , STABLE , HARD_RESTART } |
enum class | CompressionSketch { GAUSSIAN , SJLT } |
enum class | SJLTAlgo { CHUNK , PERM } |
enum class | State : char { UNTOUCHED ='U' , PARTIALLY_COMPRESSED ='P' , COMPRESSED ='C' } |
Functions | |
template<typename real_t > | |
real_t | default_HSS_rel_tol () |
template<typename real_t > | |
real_t | default_HSS_abs_tol () |
template<> | |
float | default_HSS_rel_tol () |
template<> | |
float | default_HSS_abs_tol () |
std::string | get_name (CompressionAlgorithm a) |
std::string | get_name (CompressionSketch a) |
std::string | get_name (SJLTAlgo a) |
template<typename scalar_t > | |
void | draw (const HSSMatrix< scalar_t > &H, const std::string &name) |
template<typename scalar_t > | |
void | apply_HSS (Trans op, const HSSMatrix< scalar_t > &A, const DenseMatrix< scalar_t > &B, scalar_t beta, DenseMatrix< scalar_t > &C) |
HSS namespace.
|
strong |
Enumeration of possible versions of the randomized sampling HSS compression algorithms.
|
strong |
Enumeration of possible versions of the randomized sampling HSS sketching matrices.
|
strong |
|
strong |
Enumeration of possible states of an HSS matrix/node. This is used in the adaptive HSS compression algorithms, where a node can be untouched (it is not yet visited by the compression algorithm), partially_compressed (a compression was attempted but failed, so the adaptive algorithm will have to try again), or can be successfully compressed.
Enumerator | |
---|---|
UNTOUCHED | Node was not yet visited by the compression algorithm |
PARTIALLY_COMPRESSED | Compression was attempted for this node, but failed. The adaptive compression should try again. |
COMPRESSED | This HSS node was succesfully compressed. |
void strumpack::HSS::apply_HSS | ( | Trans | op, |
const HSSMatrix< scalar_t > & | A, | ||
const DenseMatrix< scalar_t > & | B, | ||
scalar_t | beta, | ||
DenseMatrix< scalar_t > & | C | ||
) |
|
inline |
Get the default absolute HSS compression tolerance (this is for double precision, might be overloaded for single precision). This can be changed using the HSSOptions object.
|
inline |
Get the default absolute HSS compression tolerance for single precision computations. This can be changed using the HSSOptions object.
|
inline |
Get the default relative HSS compression tolerance (this is for double precision, might be overloaded depending on floating point precision). This can be changed using the HSSOptions object. Tuning this parameter (in the HSSOptions object) is crucial for performance of the HSS algorithms.
|
inline |
Get the default relative HSS compression tolerance for single precision computations. This can be changed using the HSSOptions object. Tuning this parameter (in the HSSOptions<float> object) is crucial for performance of the HSS algorithms.
void strumpack::HSS::draw | ( | const HSSMatrix< scalar_t > & | H, |
const std::string & | name | ||
) |
std::string strumpack::HSS::get_name | ( | CompressionAlgorithm | a | ) |
Return a string with the name of the compression algorithm.
a | type of the randomized compression algorihtm |
std::string strumpack::HSS::get_name | ( | CompressionSketch | a | ) |
Return a string with the name of the compression algorithm.
a | type of the randomized compression algorihtm |
std::string strumpack::HSS::get_name | ( | SJLTAlgo | a | ) |
Return a string with the name of the sjlt algorithm.
a | type of SJLT sampling algorithm |