33 #ifndef HSS_OPTIONS_HPP
34 #define HSS_OPTIONS_HPP
160 using real_t =
typename RealType<scalar_t>::value_type;
163 structured::StructuredOptions<scalar_t>(structured::
Type::
HSS) {
168 : structured::StructuredOptions<scalar_t>(sopts) {
239 compress_sketch_ = a;
259 clustering_algo_ = a;
269 approximate_neighbors_ = neighbors;
282 ann_iterations_ = iters;
318 int d0()
const {
return d0_; }
327 int nnz0()
const {
return nnz0_; }
337 int nnz()
const {
return nnz_; }
347 int dd()
const {
return dd_; }
354 int p()
const {
return p_; }
370 return random_distribution_;
379 return compress_algo_;
383 return compress_sketch_;
396 return clustering_algo_;
406 return approximate_neighbors_;
474 bool user_defined_random_ =
false;
475 bool log_ranks_ =
false;
481 int approximate_neighbors_ = 64;
482 int ann_iterations_ = 5;
484 void set_defaults() {
486 this->rel_tol_ = default_HSS_rel_tol<real_t>();
487 this->abs_tol_ = default_HSS_abs_tol<real_t>();
488 this->leaf_size_ = 512;
489 this->max_rank_ = 50000;
Main include file for the different clustering/ordering codes. These ordering codes can be used to de...
Contains the class definition for StructuredOptions, as well as some routines to get default options,...
Class containing several options for the HSS code and data-structures.
Definition: HSSOptions.hpp:152
void set_synchronized_compression(bool sync)
Definition: HSSOptions.hpp:298
void set_approximate_neighbors(int neighbors)
Definition: HSSOptions.hpp:268
void set_random_engine(random::RandomEngine random_engine)
Definition: HSSOptions.hpp:210
void set_dd(int dd)
Definition: HSSOptions.hpp:186
void describe_options() const override
void set_d0(int d0)
Definition: HSSOptions.hpp:177
void set_nnz0(int nnz0)
Definition: HSSOptions.hpp:198
int p() const
Definition: HSSOptions.hpp:354
random::RandomDistribution random_distribution() const
Definition: HSSOptions.hpp:369
void set_nnz(int nnz)
Definition: HSSOptions.hpp:204
int ann_iterations() const
Definition: HSSOptions.hpp:417
int nnz0() const
Definition: HSSOptions.hpp:327
int dd() const
Definition: HSSOptions.hpp:347
void set_ann_iterations(int iters)
Definition: HSSOptions.hpp:280
bool synchronized_compression() const
Definition: HSSOptions.hpp:436
void set_compression_sketch(CompressionSketch a)
Definition: HSSOptions.hpp:238
bool user_defined_random() const
Definition: HSSOptions.hpp:427
random::RandomEngine random_engine() const
Definition: HSSOptions.hpp:361
int approximate_neighbors() const
Definition: HSSOptions.hpp:405
void set_p(int p)
Definition: HSSOptions.hpp:192
void set_log_ranks(bool log_ranks)
Definition: HSSOptions.hpp:306
int d0() const
Definition: HSSOptions.hpp:318
ClusteringAlgorithm clustering_algorithm() const
Definition: HSSOptions.hpp:395
CompressionAlgorithm compression_algorithm() const
Definition: HSSOptions.hpp:378
void set_compression_algorithm(CompressionAlgorithm a)
Definition: HSSOptions.hpp:229
void set_random_distribution(random::RandomDistribution random_distribution)
Definition: HSSOptions.hpp:219
void set_clustering_algorithm(ClusteringAlgorithm a)
Definition: HSSOptions.hpp:258
bool log_ranks() const
Definition: HSSOptions.hpp:446
int nnz() const
Definition: HSSOptions.hpp:337
void set_from_command_line(int argc, const char *const *cargv) override
void set_user_defined_random(bool user_defined_random)
Definition: HSSOptions.hpp:289
void set_SJLT_algo(SJLTAlgo a)
Definition: HSSOptions.hpp:247
Class containing several options for the StructuredMatrix code and data-structures.
Definition: StructuredOptions.hpp:106
CompressionSketch
Definition: HSSOptions.hpp:112
CompressionAlgorithm
Definition: HSSOptions.hpp:87
SJLTAlgo
Definition: HSSOptions.hpp:128
real_t default_HSS_abs_tol()
Definition: HSSOptions.hpp:59
real_t default_HSS_rel_tol()
Definition: HSSOptions.hpp:51
std::string get_name(CompressionAlgorithm a)
RandomEngine
Random number engine.
Definition: RandomWrapper.hpp:52
RandomDistribution
Definition: RandomWrapper.hpp:74
Type
Definition: StructuredOptions.hpp:61
Definition: StrumpackOptions.hpp:43
ClusteringAlgorithm
Definition: Clustering.hpp:51