Theoretica
A C++ numerical and automatic mathematical library
theoretica.h
Go to the documentation of this file.
1 
8 
9 #ifndef THEORETICA_H
10 #define THEORETICA_H
11 
12 // Core headers
13 #include "core/constants.h"
14 #include "core/error.h"
15 #include "core/core_traits.h"
16 
17 // Real functions
18 #include "core/real_analysis.h"
19 
20 // Vector and matrix algebra
21 #include "algebra/algebra.h"
22 #include "algebra/algebra_types.h"
23 #include "algebra/transform.h"
24 #include "algebra/vec.h"
25 #include "algebra/mat.h"
26 #include "algebra/distance.h"
27 
28 // Complex and quaternion classes
29 #include "complex/complex.h"
30 #include "complex/quat.h"
31 
32 
33 // Special functions
34 #include "core/special.h"
35 
36 // Vectorized functions
37 #include "algebra/parallel.h"
38 
39 // Ratio
40 #include "core/ratio.h"
41 
42 // Bit operations
43 #include "core/bit_op.h"
44 
45 // Data sets
46 #include "core/dataset.h"
47 
48 // Interpolation
49 #include "interpolation/splines.h"
51 
52 // Statistical functions
53 #include "statistics/statistics.h"
55 #include "statistics/errorprop.h"
56 #include "statistics/histogram.h"
57 #include "statistics/regression.h"
58 
59 // Roots and extrema approximation of real functions
60 #include "optimization/roots.h"
61 #include "optimization/extrema.h"
64 
65 // Complex and quaternion functions
67 #include "complex/phasor.h"
68 #include "complex/complex_types.h"
69 
70 // Derivative and integral approximation
71 #include "calculus/deriv.h"
72 #include "calculus/integral.h"
73 #include "calculus/ode.h"
74 #include "calculus/taylor.h"
75 
76 // Polynomial class
77 #include "polynomial/polynomial.h"
78 #include "polynomial/orthogonal.h"
79 
80 // Dual numbers and automatic differentiation
81 #include "autodiff/dual.h"
83 #include "autodiff/multidual.h"
85 #include "autodiff/dual2.h"
87 #include "autodiff/autodiff.h"
88 
89 // Pseudorandom number generation
91 #include "pseudorandom/prng.h"
92 #include "pseudorandom/sampling.h"
93 
94 // Monte Carlo methods
96 
97 // Fast Fourier transform
98 #include "signal/fft.h"
99 
100 #endif
Linear algebra routines.
Linear algebra type definitions.
Differential operators using automatic differentiation.
Operations on bits.
Complex number class.
Functions of complex variable.
Complex data types definitions.
Mathematical constants and default algorithm parameters.
Fundamental type traits.
Operations on datasets.
Derivative approximation.
Distances and norms of generic vectors, with real or complex elements.
Probability distribution functions.
Second order dual number class.
Functions defined on second order dual numbers for automatic differentiation.
Dual number class.
Functions defined on dual numbers for automatic differentiation.
Error handling.
Automatic propagation of uncertainties on arbitrary functions.
Extrema approximation of real functions.
Fast Fourier Transform.
Histogram class.
Integral approximation.
Polynomial interpolation of real functions.
Matrix class and operations.
Monte Carlo methods.
Search of extrema of multivariate functions.
Numerical methods for multivariate root finding.
Multidual numbers.
Functions defined on multidual numbers for automatic differentiation of multivariable real functions.
Numerical methods for ordinary differential equations.
Orthogonal polynomial bases.
Parallelized methods to evaluate a function over a vector element-wise.
Phasor (complex number in exponential form)
Polynomial storage and manipulation.
Pseudorandom number generator class.
Pseudorandom number generation algorithms.
Quaternion algebra.
A ratio between objects.
Real functions.
Regression to a model.
Root approximation of real functions.
Sampling from probability distributions.
Special functions.
Spline interpolation.
Statistical functions.
Taylor series expansions.
Linear transformations such as rotations and projective geometry.
Vector class and operations.