Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
GluCat is a library of template classes that model the universal Clifford algebras over the field of real numbers, with arbitrary dimension and arbitrary signature. It implements a model of each Clifford algebra corresponding to each non-degenerate quadratic form up to a maximum set by the user. GluCat classes are designed to be used as template parameters for other template libraries. GluCat includes the PyClical extension module for Python. This implements the Python classes index_set and clifford, which interface to corresponding C++ classes in GluCat.
FFTW is a fast C FFT library. It includes complex, real, symmetric, multidimensional, and parallel transforms, and can handle arbitrary array sizes efficiently.It is typically faster than other freely available FFT implementations, and is even competitive with vendor-tuned libraries (benchmarks are available at the homepage). To achieve this performance, it uses novel code generation and runtime self optimization techniques (along with many other tricks).
SHTns is a high-performance Spherical Harmonic Transform library. It was designed for numerical simulation (fluid flows, mhd, etc.) in spherical geometries, but can be used for any kind of problem involving scalar or vector spherical harmonics. It is very fast, thanks to careful vectorization and runtime tuning. It supports multi-threaded transforms via OpenMP. It features scalar and vector transforms, synthesis and analysis, and flexible truncation and normalization. A Python interface is included.