ALGLIB

{{Short description|Open source numerical analysis library}}

{{Infobox software

| name = ALGLIB

| logo = ALGLIB logo.png

| latest release version = 4.03

| latest release date = {{Start date and age|2024|9|26|df=yes}}

| developer = ALGLIB LTD (UK)

| operating_system = Cross-platform

| genre = Numerical library

| license = Dual (commercial, GPL)

| website = {{URL|http://www.alglib.net/}}

| author = Bochkanov Sergey Anatolyevich

}}

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).

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,{{cite web|url=http://numerics.mathdotnet.com/ |title=Math.NET Numerics |publisher=Numerics.mathdotnet.com |date= |accessdate=2010-07-10}}{{cite web|url=https://github.com/mathnet/mathnet-numerics/blob/master/CONTRIBUTORS.md |title=Math.NET Numerics Contributors |publisher=GitHub.com |accessdate=2013-05-07}} SpaceClaim{{cite web|url=http://www2.spaceclaim.com/UsingSpaceClaim/misc/userlicense.aspx |title=End User License |publisher=.spaceclaim.com |date= |accessdate=2010-07-10}}).

Features

Distinctive 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:

See also

{{Portal|Free and open-source software}}

References

{{Reflist}}