irlba
A C++ library for IRLBA
Loading...
Searching...
No Matches
Options.hpp
Go to the documentation of this file.
1#ifndef IRLBA_OPTIONS_HPP
2#define IRLBA_OPTIONS_HPP
3
4#include <cstdint>
5#include <optional>
6
12namespace irlba {
13
19template<class EigenVector_ = Eigen::VectorXd>
20struct Options {
28
34 double convergence_tolerance = 1e-5;
35
42
47 int extra_work = 7;
48
53 int max_iterations = 1000;
54
60
66
71 bool cap_number = false;
72
76 typename std::mt19937_64::result_type seed = std::mt19937_64::default_seed;
77
82 std::optional<EigenVector_> initial;
83};
84
85}
86
87#endif
88
Implements IRLBA for approximate SVD.
Definition compute.hpp:22
Options for running IRLBA in compute() and pca().
Definition Options.hpp:20
double convergence_tolerance
Definition Options.hpp:34
int extra_work
Definition Options.hpp:47
bool exact_for_large_number
Definition Options.hpp:65
int max_iterations
Definition Options.hpp:53
std::optional< EigenVector_ > initial
Definition Options.hpp:82
bool exact_for_small_matrix
Definition Options.hpp:59
bool cap_number
Definition Options.hpp:71
double singular_value_ratio_tolerance
Definition Options.hpp:41
double invariant_subspace_tolerance
Definition Options.hpp:27
std::mt19937_64::result_type seed
Definition Options.hpp:76