Class containing several options for the HSS code and data-structures. More...
#include <HSSOptions.hpp>
Public Types | |
using | real_t = typename RealType< scalar_t >::value_type |
Class containing several options for the HSS code and data-structures.
scalar_t | scalar type, can be float, double, std::complex<float> or std::complex<double>. This is used here mainly because tolerances might depend on the precision. |
using strumpack::HSS::HSSOptions< scalar_t >::real_t = typename RealType<scalar_t>::value_type |
real_t is the real type corresponding to the (possibly complex) scalar_t template parameter
|
inline |
Get the absolute compression tolerance.
|
inline |
Get the number of iterations used in the approximate nearest neighbors search algorithm used in the HSS compression algorithm for kernel matrices. The algorithm will build iters number of random trees.
|
inline |
Get the number of approximate nearest neighbors used in the HSS compression algorithm for kernel matrices.
|
inline |
Get the clustering algorithm to be used. This is used when constructing an HSS approximation of a kernel matrix.
|
inline |
Return which variant of the compression algorithm to use.
|
inline |
|
inline |
void strumpack::HSS::HSSOptions< scalar_t >::describe_options | ( | ) | const |
Print an overview of the available command line options and their current values.
|
inline |
|
inline |
Check if the ranks should be printed to a log file. NOT supported currently
|
inline |
Get the maximum allowable rank (note, this is not the actual maximum computed rank).
|
inline |
Get the current value of the oversampling parameter.
|
inline |
Return the type of random distribution to use in the random sampling HSS construction.
|
inline |
|
inline |
Get the relative compression tolerance.
|
inline |
Set the absolute compression tolerance.
abs_tol | absolute compression tolerance |
|
inline |
Set the number of iterations used in the approximate nearest neighbors search algorithm used in the HSS compression algorithm for kernel matrices. The algorithm will build iters number of random trees.
iters | Number of random trees to be build |
|
inline |
Set the number of approximate nearest neighbors used in the HSS compression algorithm for kernel matrices.
neighbors | Number of approximate neighbors |
|
inline |
Specify the clustering algorithm. This is used when constructing a kernel matrix approximation.
a | Clustering algorithm. |
|
inline |
Specify the variant of the adaptive compression algorithm. See the manual for more information.
a | Type of (adaptive) compression scheme |
|
inline |
Set the initial number of random samples to be used in the random sampling HSS construction algorithm. See the manual for more information on the randomized compression algorithm.
|
inline |
Set the number of random to be used to increment the random samples vectors in the adaptive randomized HSS compression algorithm. This is only used when compression_algorithm() == CompressionAlgorithm::STABLE. See the manual for more information on the randomized compression algorithm.
void strumpack::HSS::HSSOptions< scalar_t >::set_from_command_line | ( | int | argc, |
const char *const * | cargv | ||
) |
Parse the command line options given by argc and argv. The options will not be modified. Run with –help to see an overview of available options, or call describe_options().
argc | Number of elements in argv |
argv | Array with options |
|
inline |
|
inline |
Log the HSS ranks to a file. TODO is this currently supported??
|
inline |
Set the maximum rank allowed in HSS compression.
|
inline |
Oversampling parameter. Used in adaptive compression, to check stopping criterion.
|
inline |
Set the random distribution, used in randomized compression.
|
inline |
Set the random engine, used in randomized compression.
|
inline |
Set the relative tolerance to be used for HSS compression. Tuning this parameter is very important for performance.
rel_tol | relative compression tolerance |
|
inline |
Set this to true if you require communication in the element extraction routine, since in that case the element extraction is collective, and has to be synchronized.
|
inline |
Set this to true if you want to manually fill the random sample vectors with random values.
|
inline |
Enable or disable verbose output (only by the root process) to stdout.
|
inline |
Whether or not the synchronize the element extraction routine.
|
inline |
Will the user define its own random matrices?
|
inline |
Verbose or quiet?