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.