Recently, I’ve been doing research in algorithms and found it difficult to locate a comprehensive and high-quality scientific computing algorithm library. However, I did find a few, which I’m recording here for future reference. I might even write my own someday to integrate all of these.
| Library Name | Link | Status | Description |
|---|---|---|---|
| GSL | http://www.gnu.org/software/gsl/ | ✅ Valid | The GNU Scientific Library, a fairly comprehensive resource. It includes commonly used special mathematical functions, random distributions, differentiation and integration, least-squares fitting, root-finding, and optimization. However, it has some shortcomings; for example, its optimization module lacks genetic algorithms and particle swarm optimization, and its integration performance is inferior to the Cuba library mentioned below. |
| dlib | http://dlib.net/ | ✅ Valid | An algorithm library primarily serving deep learning, containing deep-learning-related optimization algorithms and some image processing tools, mainly to support deep learning implementations. |
| Cuba | https://feynarts.de/cuba/ | ✅ Valid | A library offering four integration methods, including three Monte Carlo integration techniques and one deterministic integration method. These methods outperform the Monte Carlo integrators provided by GSL. |
| GAlib | http://web.mit.edu/galib/www/GAlib.html | ✅ Valid | A genetic algorithm library that includes four types of genetic algorithms. |
| MRPT | https://www.mrpt.org/ | ✅ Valid | A robotics programming library, primarily featuring algorithms for robot localization, computer vision, image processing, and motion planning. |
| KFilter | http://kalman.sourceforge.net/ | ✅ Valid | An open-source algorithm library for Kalman filters. |
| C++ Wavelet Libraries | http://wavelet2d.sourceforge.net/ | ✅ Valid | A wavelet transform algorithm library. |
| libfgen | https://sourceforge.net/projects/libfgen/ | ✅ Valid | A genetic algorithm library that also includes a particle swarm optimization algorithm. |
| libGeneiAL | http://www.geneial.org/ | ✅ Valid | An open-source genetic algorithm library. |
| FFTW | http://www.fftw.org/ | ✅ Valid | A library for the Discrete Fourier Transform, supporting complex numbers and multi-dimensional transforms. |
| Matrix Template Library (MTL) | https://github.com/simunova/mtl4 | ✅ Valid | A basic linear algebra library, similar to BLAS or LAPACK. |
| Eigen | https://eigen.tuxfamily.org/index.php?title=Main_Page | ✅ Valid | A linear algebra and related algorithms library, similar to MTL. |
| Boost | https://www.boost.org/ | ✅ Valid | Boost is actually a collection of libraries akin to the C++ standard library, which also includes libraries relevant to scientific computing, such as Math, Odeint, and uBLAS. |
| OpenCV | https://opencv.org/ | ✅ Valid | A computer vision library containing many machine vision algorithms and underlying matrix operations, such as image comparison and edge detection. |
| Ceres | http://ceres-solver.org/ | ✅ Valid | A Google C++ library for solving large-scale optimization problems, designed for constrained non-linear least squares problems and general unconstrained optimization. |
| NLopt | https://nlopt.readthedocs.io | ✅ Valid | An open-source library for nonlinear optimization. |
| Ipopt | https://coin-or.github.io/Ipopt/ | ✅ Valid | A very powerful open-source interior-point method optimization library capable of quickly solving constrained nonlinear optimization problems. |
| cernlib | https://cernlib.web.cern.ch/cernlib/ | ✅ Valid | A suite of scientific computing libraries developed by CERN for physics research, covering mathematics, data analysis, detector simulation, data processing, and more. It is quite comprehensive. |
This list will be updated periodically and irregularly.