Theoretica
A C++ numerical and automatic mathematical library
theoretica.h
Go to the documentation of this file.
1 
7 
8 #ifndef THEORETICA_H
9 #define THEORETICA_H
10 
11 // Core headers
12 #include "core/constants.h"
13 #include "core/error.h"
14 #include "core/core_traits.h"
15 
16 // Real functions
17 #include "core/real_analysis.h"
18 
19 // Vector and matrix algebra
20 #include "algebra/algebra.h"
21 #include "algebra/algebra_types.h"
22 #include "algebra/transform.h"
23 #include "algebra/vec.h"
24 #include "algebra/mat.h"
25 #include "algebra/distance.h"
26 
27 // Complex and quaternion classes
28 #include "complex/complex.h"
29 #include "complex/quat.h"
30 
31 
32 // All other headers
33 #ifndef THEORETICA_INCLUDE_BASE
34 
35 // Special functions
36 #include "core/special.h"
37 
38 // Vectorized functions
39 #include "algebra/parallel.h"
40 
41 // Ratio
42 #include "core/ratio.h"
43 
44 // Bit operations
45 #include "core/bit_op.h"
46 
47 // Data sets
48 #include "core/dataset.h"
49 
50 // Interpolation
51 #include "interpolation/splines.h"
53 
54 // Statistical functions
55 #include "statistics/statistics.h"
57 #include "statistics/errorprop.h"
58 #include "statistics/histogram.h"
59 #include "statistics/regression.h"
60 
61 // Roots and extrema approximation of real functions
62 #include "optimization/roots.h"
63 #include "optimization/extrema.h"
66 
67 // Complex and quaternion functions
69 #include "complex/phasor.h"
70 #include "complex/complex_types.h"
71 
72 // Derivative and integral approximation
73 #include "calculus/deriv.h"
74 #include "calculus/integral.h"
75 #include "calculus/ode.h"
76 #include "calculus/taylor.h"
77 
78 // Polynomial class
79 #include "polynomial/polynomial.h"
80 #include "polynomial/orthogonal.h"
81 
82 // Dual numbers and automatic differentiation
83 #include "autodiff/dual.h"
85 #include "autodiff/multidual.h"
87 #include "autodiff/dual2.h"
89 #include "autodiff/autodiff.h"
90 
91 // Pseudorandom number generation
93 #include "pseudorandom/prng.h"
94 #include "pseudorandom/sampling.h"
95 
96 // Monte Carlo methods
98 
99 // Fast Fourier transform
100 #include "signal/fft.h"
101 
102 #endif
103 
104 #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.
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.
Distances and norms of generic vectors, with real or complex elements.
Statistical functions.
Taylor series expansions.
Linear transformations such as rotations and projective geometry.
Vector class and operations.