Module Mathematics
Changes made in the current development cycle can be
found in the changelog.
Mathematical types, constants, operations
Prerequisite
At least high school (and preferably undergraduate
level) understanding of mathematics.
Etymology
Mathematicians may argue that everything is mathematics, and hence all of
AIPS++ should be in this module. However this module will only contain
core mathematical operations that are independent of astronomical
applications.
Synopsis
The Mathematics module has a variety of mathematical classes and functions.
Not all numerical operations are found herein. Very complicated operations
might be in their own module, such as Deconvolution. Many whole array operations
are in the ArrayMath global functions
(part of the Arrays module). Mathematical
operations on Lattices are found in the Lattice module. A wide variety of special
Mathematical functions is planned for the Functional module.
The classes presently in this module fall into the following categories:
- A wrapper around the system math.h functions called
Math.h. This contains generic
mathematical functions. It is required that you always include this
file rather than the system math.h file as deficiencies in the system
math.h file will be implemented here.
- Complex numbers. It is expected that
we will, in a future release of AIPS++, replace this with the complex
number classes in the standard template library.
- Mathematical & numerical
constants like pi &
FLT_MAX. Physical constants have units and hence are available in the
QC class in the
Quanta module.
- Relationships
between different numerical data types.
- Multi-dimensional Fourier transforms are done in the
FFTServer class. This decomposes
the transforms into a one-dimensional transforms which are done using
the functions in the FFTPack
class. The FFTPack class also contains functions for doing
one-dimensional sine, cosine, and real-symmetric transforms.
- Numerical Convolution
(both linear and circular) of multi-dimensional Arrays.
- Random numbers in a wide
variety of distributions.
- Prime numbers
- Interpolation in one dimension is performed by the
Interpolate1D class in
the Functionals module
- AutoDiff IO operations -- Implements all IO operators and functions for AutoDiff. (full description)
- AutoDiff mathematical operations -- Implements all mathematical operators and functions for AutoDiff. (full description)
- AutoDiff -- Class that computes partial derivatives by automatic differentiation. (full description)
- AutoDiffA -- Class that computes partial derivatives by automatic differentiation. (full description)
- AutoDiffRep -- Representation of an automatic differential class data (full description)
- AutoDiffX -- Class that computes partial derivatives by automatic differentiation. (full description)
- ConvolveGridder -- Does convolutional gridding (full description)
- Convolver -- A class for doing multi-dimensional convolution (full description)
- DFTError -- Error class for DFTServer class (full description)
- DFTServer -- Class containing methods for doing n-D slow Fourier transforms (full description)
- ExpSincConv -- Exponential times a Sinc (full description)
- FFTEnums -- Lists the different types of FFT's that can be done (full description)
- FFTPack -- C++ interface to the Fortran FFTPACK library (full description)
- FFTServer -- A class with methods for Fast Fourier Transforms (full description)
- FUNCTYPE enum -- Enum used to identify function type for MathFunc class (full description)
- FuncId -- Function ID, for use by MathFunc class (full description)
- GaussianConv -- Gaussian (full description)
- Gridder -- A base class for gridding (full description)
- HistAcc -- Makes a histogram from input values. (full description)
- Interpolate2D -- A two dimension interpolator for Matrices or Arrays (full description)
- InterpolateArray1D -- Interpolate in one dimension (full description)
- KB_Conv -- A Kaiser-Bessel function (full description)
- Linear Algebra -- Linear algebra functions on Vectors and Matrices. (full description)
- MathFunc -- A class to generate values of mathematical functions (full description)
- MathFuncError -- Error class for MathFunc class (full description)
- MatrixSolver -- MatrixSolver.h: the base class for solvers of linear equations AX=B (full description)
- MedianSlider -- Class to compute sliding median (full description)
- Mod_KB_Conv -- A Kaiser-Bessel function multiplied by a Gaussian (full description)
- NNGridder -- A non-negative gridding class (full description)
- NNLSMatrixSolver -- NNLSMatrixSolver.h: the base class for NNLS solvers of linear equations AX=B (full description)
- NumericTraits -- Relationships between numeric data types (full description)
- NumericTraits -- A specialisation for T=DComplex of the NumericTraits class (full description)
- NumericTraits_C -- NumericTraits specialization for Complex (full description)
- NumericTraits_D -- NumericTraits specialization for Double (full description)
- NumericTraits_DC -- NumericTraits specialization for DComplex (full description)
- NumericTraits_F -- NumericTraits specialization for Float (full description)
- Primes -- Creates a reference table of prime numbers, and some functions (full description)
- RigidVector -- Fast Vector classes with fixed (templated) length (full description)
- SCSL -- C++ Interface to the Sgi/Cray Scientific Library (SCSL) (full description)
- Sinc_Conv -- Sine x / x function (full description)
- Sph_Conv -- Spheroidal function (full description)
- SqM_global_functions -- Various global math and IO functions. (full description)
- SquareMatrix -- Fast Square Matrix class with fixed (templated) size (full description)
- StatAcc -- A statistics accumulator (full description)
- Unary -- Unary (full description)
- VanVleck -- A class of static functions to aid with vanVleck corrections of lag data. (full description)
- VectorKernel -- Make a Vector smoothing kernel from a kernel specification (full description)
- math -- Mathematical operations involving RigidVectors (full description)
- spheriodal functions -- Fred Schwab function to calculate spheriodal functions (full description)