ALGLIB is a cross-platform open source numerical analysis and data processing library. It can be used from several programming languages (C++, C#, VB.NET, Python, Delphi, Java).
Original author(s) | Bochkanov Sergey Anatolyevich |
---|---|
Developer(s) | ALGLIB LTD (UK) |
Stable release | 4.03
/ 26 September 2024 |
Operating system | Cross-platform |
Type | Numerical library |
License | Dual (commercial, GPL) |
Website | www |
ALGLIB started in 1999 and has a long history of steady development with roughly 1-3 releases per year. It is used by several open-source projects, commercial libraries, and applications (e.g. TOL project, Math.NET Numerics,[1][2] SpaceClaim[3]).
Features
editDistinctive features of the library are:
- Support for several programming languages with identical APIs (as of 2023, it supports C++, C#, FreePascal/Delphi, VB.NET, Python, and Java)
- Self-contained code with no mandatory external dependencies and easy installation
- Portability (it was tested under x86/x86-64/ARM, Windows and Linux)
- Two independent backends (pure C# implementation, native C implementation) with automatically generated APIs (C++, C#, ...)
- Same functionality of commercial and GPL versions, with enhancements for speed and parallelism provided in the commercial version
The most actively developed parts of ALGLIB are:
- Linear algebra, offering a comprehensive set of both dense and sparse linear solvers and factorizations
- Interpolation, featuring standard algorithms like polynomials and 1D/2D splines, as well as several unique large-scale interpolation/fitting algorithms. These include penalized 1D/2D splines, fast thin plate splines and fast polyharmonic splines, all scalable to hundreds of thousands of points.
- Least squares solvers, including linear/nonlinear unconstrained and constrained least squares and curve fitting solvers
- Optimization, with LP, QP, QCQP, SOCP (and other conic problem types) and NLP solvers, derivative-free global solvers and multiobjective optimization algorithms.
- Data analysis, with various algorithms being implemented
The other functions in the library include:
- Fast Fourier transforms
- Numerical integration
- Ordinary differential equations
- Special functions
- Statistics (descriptive statistics, hypothesis testing)
- Multiple precision versions of linear algebra, interpolation and optimization algorithms (using MPFR for floating point computations)
See also
editReferences
edit- ^ "Math.NET Numerics". Numerics.mathdotnet.com. Retrieved 2010-07-10.
- ^ "Math.NET Numerics Contributors". GitHub.com. Retrieved 2013-05-07.
- ^ "End User License". .spaceclaim.com. Retrieved 2010-07-10.