Class containing several options for the HODLR code and data-structures. More...
#include <HODLROptions.hpp>
Public Types | |
using | real_t = typename RealType< scalar_t >::value_type |
Public Member Functions | |
HODLROptions () | |
HODLROptions (const structured::StructuredOptions< scalar_t > &sopts) | |
void | set_rank_guess (int rank_guess) |
void | set_rank_rate (double rank_rate) |
void | set_clustering_algorithm (ClusteringAlgorithm a) |
void | set_compression_algorithm (CompressionAlgorithm a) |
void | set_butterfly_levels (int bfl) |
void | set_BACA_block_size (int BACA) |
void | set_BF_sampling_parameter (double param) |
void | set_geo (int geo) |
void | set_lr_leaf (int lr_leaf) |
void | set_knn_hodlrbf (int k) |
void | set_knn_lrbf (int k) |
void | set_less_adapt (bool l) |
void | set_BF_entry_n15 (bool l) |
int | rank_guess () const |
double | rank_rate () const |
ClusteringAlgorithm | clustering_algorithm () const |
CompressionAlgorithm | compression_algorithm () const |
int | butterfly_levels () const |
int | BACA_block_size () const |
double | BF_sampling_parameter () const |
int | geo () const |
int | lr_leaf () const |
int | knn_hodlrbf () const |
int | knn_lrbf () const |
bool | less_adapt () const |
bool | BF_entry_n15 () const |
void | set_from_command_line (int argc, const char *const *cargv) override |
void | describe_options () const override |
Public Member Functions inherited from strumpack::structured::StructuredOptions< scalar_t > | |
StructuredOptions (Type type) | |
void | set_rel_tol (real_t rel_tol) |
void | set_abs_tol (real_t abs_tol) |
void | set_leaf_size (int leaf_size) |
void | set_max_rank (int max_rank) |
void | set_type (Type a) |
void | set_verbose (bool verbose) |
real_t | rel_tol () const |
real_t | abs_tol () const |
int | leaf_size () const |
int | max_rank () const |
Type | type () const |
bool | verbose () const |
Class containing several options for the HODLR 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::HODLR::HODLROptions< 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 |
Default constructor, sets all options to their default values.
|
inline |
Get the BACA block size.
|
inline |
Returns whether or not to use N^1.5 entry-evaluation-based algorithm.
|
inline |
Get butterfly sampling parameter.
|
inline |
get the number of butterfly levels to use for each HODLR matrix.
|
inline |
Get the clustering algorithm to be used. This is used when constructing an HODLR approximation of a kernel matrix.
|
inline |
Get the compression algorithm to be used.
|
overridevirtual |
Print an overview of the available command line options and their current values.
Reimplemented from strumpack::structured::StructuredOptions< scalar_t >.
|
inline |
Use geometry information? 0, 1 or 2
|
inline |
The number of neighbors to use in the HODLR or HODBF construction.
|
inline |
The number of neighbors to use in the LR or Butterfly block construction.
|
inline |
Returns whether or not to use less_adapt in the randomized construction algorithm.
|
inline |
Bottom level compression algorithms in H-BACA 1, 2, 3, 4, or 5
|
inline |
Get the initial guess for the rank.
|
inline |
Get the rate of increment for adaptively determining the rank.
|
inline |
Set the BACA block size.
|
inline |
Enable/disable the N^1.5 entry evaluation-based construction.
|
inline |
Set sampling parameter for use in linear complexity butterfly compression, higher for more robust sampling.
|
inline |
Set the number of butterfly levels to use for each HODLR matrix.
|
inline |
Specify the clustering algorithm. This is used when constructing a kernel matrix approximation.
|
inline |
Specify the compression algorithm to be used.
|
overridevirtual |
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 |
Reimplemented from strumpack::structured::StructuredOptions< scalar_t >.
|
inline |
geo should be 0, 1, 2 or 3. 0 means use point geometry, 1 means do not use any geometry. 2 means use the graph connectivity for the distance and admissibility info, 3 means use the graph to directly find closest neighbors.
|
inline |
Set the number of neighbors to use in construction of the HODLR or HODBF matrices.
|
inline |
Set the number of neighbors to use in construction of the LR or Butterfly blocks.
|
inline |
Enable/disable the less_adapt algorithm in randomized construction.
|
inline |
lr_leaf should be 1, 2, 3, 4, 5. 1 means svd, 2 means rrqr, 3 means baseline aca, 4 means baca original version, 5 means baca improved version.
|
inline |
Set the initial guess for the rank.
|
inline |
Set the rate of increment for adaptively determining the rank.