ALGLIB

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

ALGLIB
Developer(s) ALGLIB Project
Stable release 3.9.0 / 12 December 2014; 9 years ago (2014-12-12)
Operating system Cross-platform
Type Numerical library
License Dual (commercial, GPL)
Website http://www.alglib.net/

ALGLIB is a cross-platform open source numerical analysis and data processing library. It is written in specially designed pseudocode which is automatically translated into several target programming languages (C++, C# and other). ALGLIB is relatively young project - active development started only in 2008, while GSL, for example, has 14 years long history. However, it is actively developed with new releases every 1–2 months.

ALGLIB is used by several open source and commercial libraries/applications (e.g. TOL project, Math.NET Numerics,[1][2] SpaceClaim[3]). Multiple precision edition of ALGLIB is planned to be included into SAGE (open source computer algebra system).[4][5][6]

Advantages and Drawbacks

Several goals were pursued while developing ALGLIB:

  • support for several programming languages (as of 2010, it supports C++, C#, FreePascal, Delphi, VBA)
  • identical functionality for any programming language
  • ease of installation
  • portability (it was tested only under x86 and x86-64 Windows and Linux,[7] but should work under any CPU/OS which are at least 32-bit and support IEEE-compliant floating point numbers)
  • support for multiple precision computations

Alternatively, the project suffers from several drawbacks:

  • Only the commercial edition supports multi-threading
  • it can't use SSE to speed up floating point operations
  • although some linear algebra algorithms are implemented in cache oblivious manner,[8][9] many subroutines (especially SVD solvers) can't efficiently work with matrices that do not fit into CPU cache.

Features

ALGLIB provides facilities for:

  • Linear algebra (direct algorithms, solvers, EVD/SVD)
  • Fast Fourier transforms
  • Numerical integration
  • Interpolation
  • Linear and nonlinear least-squares fitting
  • Optimization
  • Ordinary differential equations
  • Special functions
  • Statistics (descriptive statistics, hypothesis testing)
  • Data analysis (classification/regression, including neural networks)
  • Multiple precision versions of linear algebra, interpolation and optimization algorithms (using MPFR for floating point computations)

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.

External links