consteig
Compile-time eigenvalue and eigenvector computation for C++17
Loading...
Searching...
No Matches
include
consteig
consteig_options.hpp
1
#ifndef CONSTEIG_OPTIONS_HPP
2
#define CONSTEIG_OPTIONS_HPP
3
12
20
#ifndef CONSTEIG_MAX_ITER
21
#define CONSTEIG_MAX_ITER 500
22
#endif
23
32
#ifndef CONSTEIG_DEFAULT_SYMMETRIC_TOLERANCE
33
#define CONSTEIG_DEFAULT_SYMMETRIC_TOLERANCE 1e-6
34
#endif
35
43
#ifndef CONSTEIG_BALANCE_CONVERGENCE_THRESHOLD
44
#define CONSTEIG_BALANCE_CONVERGENCE_THRESHOLD 0.95
45
#endif
46
49
#ifndef E_CONST
50
#define E_CONST 2.71828182845904523536028747135266249775724709369995
51
#endif
52
55
#ifndef PI_CONST
56
#define PI_CONST 3.14159265358979323846264338327950288419716939937510
57
#endif
58
66
#ifndef CONSTEIG_TRIG_MAX_ITER
67
// 14 iterations suffices for double precision (worst case x=pi: pi^29/29! ~
68
// 3e-17 < machine epsilon). 20 gives a comfortable margin.
69
#define CONSTEIG_TRIG_MAX_ITER 20
70
#endif
71
80
// Uncomment to force all internal constexpr eigenvalue calculations to use long
81
// double. This improves numerical stability for large/pathological matrices but
82
// is very resource intensive for the compiler.
83
// #define CONSTEIG_USE_LONG_DOUBLE
84
98
// #define CONSTEIG_USE_GCEM
99
111
// #define CONSTEIG_GCEM_USE_STDLIB
112
137
// #define CONSTEIG_GCEM_USE_CUSTOM_TRAITS
138
140
141
#endif
Generated by
1.10.0