|
Theoretica
Mathematical Library
|
Mathematical constants and default algorithm parameters. More...
#include <limits>#include <cstdint>Go to the source code of this file.
Namespaces | |
| namespace | theoretica |
| Main namespace of the library which contains all functions and objects. | |
| namespace | th |
| Alias for the theoretica namespace. | |
Macros | |
| #define | THEORETICA_ALGEBRA_ELEMENT_TOL (10*MACH_EPSILON) |
| THEORETICA_DISABLE_X86 Define this macro to disable Assembly x86 optimizations. | |
| #define | THEORETICA_ALGEBRA_EIGEN_TOL 1E-08 |
| Tolerance for eigensolvers. | |
| #define | THEORETICA_ALGEBRA_EIGEN_ITER 100 |
| Maximum number of iterations for eigensolvers. | |
| #define | THEORETICA_CORE_TAYLOR_ORDER 12 |
| Order of Taylor series approximations. | |
| #define | THEORETICA_CALCULUS_INTEGRAL_STEPS 100 |
| Default number of steps for integral approximation. | |
| #define | THEORETICA_OPTIMIZATION_TOL 1E-08 |
| Approximation tolerance for root finding. | |
| #define | THEORETICA_OPTIMIZATION_BISECTION_ITER 100 |
| Maximum number of iterations for bisection. | |
| #define | THEORETICA_OPTIMIZATION_GOLDENSECTION_ITER 100 |
| Maximum number of iterations for golden section search. | |
| #define | THEORETICA_OPTIMIZATION_HALLEY_ITER 100 |
| Maximum number of iterations for Halley's method. | |
| #define | THEORETICA_OPTIMIZATION_NEWTON_ITER 100 |
| Maximum number of iterations for Newton-Raphson root finding. | |
| #define | THEORETICA_OPTIMIZATION_STEFFENSEN_ITER 100 |
| Maximum number of iterations for Steffensen root finding. | |
| #define | THEORETICA_OPTIMIZATION_CHEBYSHEV_ITER 100 |
| Maximum number of iterations for Chebyshev root finding. | |
| #define | THEORETICA_OPTIMIZATION_OSTROWSKI_ITER 100 |
| Maximum number of iterations for Ostrowski root finding. | |
| #define | THEORETICA_OPTIMIZATION_JARRAT_ITER 100 |
| Maximum number of iterations for Jarrat root finding. | |
| #define | THEORETICA_STATISTICS_TRYANDCATCH_ITER 100 |
| Maximum number of failed iterations for the Try-and-Catch algorithm. | |
| #define | THEORETICA_CALCULUS_DERIV_STEP 1E-3 |
| Default variation for derivative approximation. | |
| #define | THEORETICA_OPTIMIZATION_MINGRAD_GAMMA -0.005 |
| Default step size for gradient descent minimization. | |
| #define | THEORETICA_OPTIMIZATION_MINGRAD_TOLERANCE 1E-3 |
| Default tolerance for gradient descent minimization. | |
| #define | THEORETICA_OPTIMIZATION_MINGRAD_ITER 50000 |
| Maximum number of iterations for gradient descent minimization. | |
| #define | THEORETICA_STATISTICS_RAND_PREC (uint64_t(1) << 31) |
| Default precision for random number generation using rand_uniform() | |
| #define | THEORETICA_STATISTICS_METROPOLIS_DEPTH 16 |
| Default depth of the Metropolis algorithm. | |
| #define | TH_CONSTEXPR |
| Enable constexpr in function declarations if C++14 is supported. | |
| #define | TH_CONSTIF |
| Enable constexpr in if statements if C++17 is supported. | |
Typedefs | |
| using | theoretica::real = double |
| A real number, defined as a floating point type. | |
Variables | |
| constexpr real | theoretica::MACH_EPSILON = std::numeric_limits<real>::epsilon() |
| Machine epsilon for the real type. | |
| constexpr real | theoretica::PHI = 1.6180339887498948482045868 |
| The Phi (Golden Section) mathematical constant. | |
| constexpr real | theoretica::INVPHI = 0.6180339887498948482045868 |
| The inverse of the Golden Section mathematical constant. | |
| constexpr real | theoretica::PI = 3.141592653589793238462643 |
| The Pi mathematical constant. | |
| constexpr real | theoretica::PI2 = 1.57079632679489655799898 |
| Half of Pi. | |
| constexpr real | theoretica::PI4 = PI / 4.0 |
| A quarter of Pi. | |
| constexpr real | theoretica::PIDOUBLE = PI * 2 |
| Pi multiplied by 2. | |
| constexpr real | theoretica::TAU = PI * 2 |
| The Tau mathematical constant (Pi times 2) | |
| constexpr real | theoretica::INVPI = 1.0 / PI |
| The inverse of Pi. | |
| constexpr real | theoretica::SQRTPI = 1.7724538509055159927 |
| The square root of Pi. | |
| constexpr real | theoretica::E = 2.718281828459045235360287 |
| The Euler mathematical constant (e) | |
| constexpr real | theoretica::LOG2E = 1.44269504088896338700465094 |
| The binary logarithm of e. | |
| constexpr real | theoretica::LOG210 = 3.32192809488736218170856773213 |
| The binary logarithm of 10. | |
| constexpr real | theoretica::LOG10E = 0.434294481903 |
| The base-10 logarithm of e. | |
| constexpr real | theoretica::LN2 = 0.69314718056 |
| The natural logarithm of 2. | |
| constexpr real | theoretica::LN10 = 2.30258509299 |
| The natural logarithm of 10. | |
| constexpr real | theoretica::DEG2RAD = 0.017453292519943295474371680598 |
| The scalar conversion factor from degrees to radians. | |
| constexpr real | theoretica::RAD2DEG = 57.2957795130823228646477218717 |
| The scalar conversion factor from radians to degrees. | |
| constexpr real | theoretica::SQRT2 = 1.4142135623730950488 |
| The square root of 2. | |
| constexpr real | theoretica::INVSQR2 = 0.7071067811865475 |
| The inverse of the square root of 2. | |
| constexpr real | theoretica::SQRT3 = 1.732050807568877 |
| The square root of 3. | |
| constexpr real | theoretica::ALGEBRA_ELEMENT_TOL = THEORETICA_ALGEBRA_ELEMENT_TOL |
| Tolerance for the elements of matrices. | |
| constexpr real | theoretica::ALGEBRA_EIGEN_TOL = THEORETICA_ALGEBRA_EIGEN_TOL |
| Tolerance for eigensolvers. | |
| constexpr real | theoretica::ALGEBRA_EIGEN_ITER = THEORETICA_ALGEBRA_EIGEN_ITER |
| Maximum number of iterations for eigensolvers. | |
| constexpr int | theoretica::CORE_TAYLOR_ORDER = THEORETICA_CORE_TAYLOR_ORDER |
| Order of Taylor series approximations. | |
| constexpr int | theoretica::CALCULUS_INTEGRAL_STEPS = THEORETICA_CALCULUS_INTEGRAL_STEPS |
| Default number of steps for integral approximation. | |
| constexpr real | theoretica::OPTIMIZATION_TOL = THEORETICA_OPTIMIZATION_TOL |
| Approximation tolerance for root finding. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_BISECTION_ITER = THEORETICA_OPTIMIZATION_BISECTION_ITER |
| Maximum number of iterations for the bisection algorithm. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_GOLDENSECTION_ITER = THEORETICA_OPTIMIZATION_GOLDENSECTION_ITER |
| Maximum number of iterations for the golden section search algorithm. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_HALLEY_ITER = THEORETICA_OPTIMIZATION_HALLEY_ITER |
| Maximum number of iterations for Halley's method. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_NEWTON_ITER = THEORETICA_OPTIMIZATION_NEWTON_ITER |
| Maximum number of iterations for the Newton-Raphson algorithm. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_STEFFENSEN_ITER = THEORETICA_OPTIMIZATION_STEFFENSEN_ITER |
| Maximum number of iterations for the Steffensen algorithm. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_CHEBYSHEV_ITER = THEORETICA_OPTIMIZATION_CHEBYSHEV_ITER |
| Maximum number of iterations for the Chebyshev algorithm. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_OSTROWSKI_ITER = THEORETICA_OPTIMIZATION_OSTROWSKI_ITER |
| Maximum number of iterations for the Ostrowski algorithm. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_JARRAT_ITER = THEORETICA_OPTIMIZATION_JARRAT_ITER |
| Maximum number of iterations for the Jarrat algorithm. | |
| constexpr unsigned int | theoretica::STATISTICS_TRYANDCATCH_ITER = THEORETICA_STATISTICS_TRYANDCATCH_ITER |
| Maximum number of failed iterations for the Try-and-Catch algorithm. | |
| constexpr real | theoretica::CALCULUS_DERIV_STEP = THEORETICA_CALCULUS_DERIV_STEP |
| Default variation for derivative approximation. | |
| constexpr real | theoretica::OPTIMIZATION_MINGRAD_GAMMA = THEORETICA_OPTIMIZATION_MINGRAD_GAMMA |
| Default step size for gradient descent minimization. | |
| constexpr real | theoretica::OPTIMIZATION_MINGRAD_TOLERANCE = THEORETICA_OPTIMIZATION_MINGRAD_TOLERANCE |
| Default tolerance for gradient descent minimization. | |
| constexpr unsigned int | theoretica::OPTIMIZATION_MINGRAD_ITER = THEORETICA_OPTIMIZATION_MINGRAD_ITER |
| Maximum number of iterations for gradient descent minimization. | |
| constexpr uint64_t | theoretica::STATISTICS_RAND_PREC = THEORETICA_STATISTICS_RAND_PREC |
| Default precision for random number generation using rand_uniform() | |
| constexpr unsigned int | theoretica::STATISTICS_METROPOLIS_DEPTH = THEORETICA_STATISTICS_METROPOLIS_DEPTH |
| Default depth of the Metropolis algorithm. | |
Mathematical constants and default algorithm parameters.
You may change the library's default behavior by redefining the macros starting with THEORETICA_
| #define THEORETICA_ALGEBRA_ELEMENT_TOL (10*MACH_EPSILON) |
THEORETICA_DISABLE_X86 Define this macro to disable Assembly x86 optimizations.
Tolerance for checking the elements of a matrix (such as algebra::is_square)