Harman Patil (Editor)

ALGLIB

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
ALGLIB Project

Type
  
Numerical library

Operating system
  
Cross-platform

License
  
Dual (commercial, GPL)

Stable release
  
3.10.0 / 19 August 2015; 17 months ago (2015-08-19)

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.

Contents

ALGLIB is used by several open source and commercial libraries/applications (e.g. TOL project, Math.NET Numerics, SpaceClaim). Multiple precision edition of ALGLIB is planned to be included into SageMath (open source computer algebra system).

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, 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, 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)
  • References

    ALGLIB Wikipedia