Jump to content

List of numerical libraries: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
External links: deleted broken link (redirects to an advertisement)
JPRBW (talk | contribs)
tidied NAG references
Line 4: Line 4:


== Multi-language ==
== Multi-language ==
* [http://www.nag.co.uk/numeric/numerical_libraries.asp NAG Libraries] mathematical and statistical routines for multiple programming languages (C, C++, Fortran, Java, Python, .NET), packages (MATLAB, Maple, Excel) and GPUs, multicore, manycore
* The [http://www.nag.co.uk/numeric/numerical_libraries.asp NAG Library] is a collection of mathematical and statistical routines for multiple programming languages (C, C++, Fortran, Visual Basic, Java and C#) and packages (MATLAB, Excel, R, LabVIEW).
* [[ALGLIB]] is an open source numerical analysis library which may be used from C++, C#, FreePascal, Delphi, VBA.
* [[ALGLIB]] is an open source numerical analysis library which may be used from C++, C#, FreePascal, Delphi, VBA.
* [[IMSL Numerical Libraries]] are libraries of numerical analysis functionality implemented in standard programming languages like C, Java, C# .NET, Fortran, and Python.
* [[IMSL Numerical Libraries]] are libraries of numerical analysis functionality implemented in standard programming languages like C, Java, C# .NET, Fortran, and Python.
Line 29: Line 29:
* [[Lis_(linear_algebra_library)|Lis]] is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods.
* [[Lis_(linear_algebra_library)|Lis]] is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods.
* [[Matrix Template Library|MTL4]] is a generic [[C++]] template library providing sparse and dense BLAS functionality. MTL4 establishes an intuitive interface (similar to [[MATLAB]]) and broad applicability thanks to [[Generic programming]].
* [[Matrix Template Library|MTL4]] is a generic [[C++]] template library providing sparse and dense BLAS functionality. MTL4 establishes an intuitive interface (similar to [[MATLAB]]) and broad applicability thanks to [[Generic programming]].
* [[NAG Numerical Libraries]] are implementations (for a wide variety of platforms) of a software library of numerical analysis routines, which can be called from user applications.
* The [[NAG Numerical Libraries|NAG C Library]] is a collection of numerical analysis routines which can be called from user applications on a wide variety of hardware platforms.
* [[Number Theory Library|NTL]] is a C++ library for number theory.
* [[Number Theory Library|NTL]] is a C++ library for number theory.
* [[Symmetrica]] is a C library for [[representation theory]].
* [[Symmetrica]] is a C library for [[representation theory]].
Line 41: Line 41:
* [http://www.dotnumerics.com DotNumerics] is a Numerical Library for .NET written in C#. It provides routines for: Linear Algebra (CSLapack, CSBlas, CSEispack), Differential Equations and Optimization.
* [http://www.dotnumerics.com DotNumerics] is a Numerical Library for .NET written in C#. It provides routines for: Linear Algebra (CSLapack, CSBlas, CSEispack), Differential Equations and Optimization.
* [[ILNumerics.Net]] high performance, typesafe numerical array classes and functions for general math, fft and linear algebra, aims .NET/mono, 32&64 bit, script-like syntax in C#, 2D & 3D plot controls, efficient memory management
* [[ILNumerics.Net]] high performance, typesafe numerical array classes and functions for general math, fft and linear algebra, aims .NET/mono, 32&64 bit, script-like syntax in C#, 2D & 3D plot controls, efficient memory management
* [[IMSL Numerical Libraries for .NET]] is a comprehensive set of Mathematical, Statistical, Data Mining, Financial and Charting classes written in C#.
* [[IMSL Numerical Libraries for .NET]] is a set of Mathematical, Statistical, Data Mining, Financial and Charting classes written in C#.
* [http://www.mathdotnet.com/ Math.NET] is a mathematical open source (MIT/X11, LGPL & GPL) library written in C#/F#, aiming to provide a self Math.Net Numerics is the numerical component which was built by merging the Math.Net Iridium library and [[dnAnalytics]].
* [http://www.mathdotnet.com/ Math.NET] is a mathematical open source (MIT/X11, LGPL & GPL) library written in C#/F#, aiming to provide a self Math.Net Numerics is the numerical component which was built by merging the Math.Net Iridium library and [[dnAnalytics]].
* [http://www.meta-numerics.net/ Meta.Numerics] is a library for scientific and technical computation on the [[.NET Framework]]. Its functionality includes matrix algebra, statistics and data analysis, advanced functions, and signal processing. The Meta.Numerics library is object-oriented, performance-optimized, documented, and compatible with both [[Mono (software)|Mono]] and [[Silverlight]].
* [http://www.meta-numerics.net/ Meta.Numerics] is a library for scientific and technical computation on the [[.NET Framework]]. Its functionality includes matrix algebra, statistics and data analysis, advanced functions, and signal processing. The Meta.Numerics library is object-oriented, performance-optimized, documented, and compatible with both [[Mono (software)|Mono]] and [[Silverlight]].
* [http://www.nag.co.uk/numeric/DT/DTdescription.asp NAG Library for .NET] is a set of numerical routines optimized for use in the .NET environment
* The [http://www.nag.co.uk/numeric/DT/DTdescription.asp NAG Library for .NET] is a .NET assembly of numerical routines optimized for use within the .NET environment.
* [http://nlinear.codeplex.com NLinear] is a [[Generic programming|generic]] linear algebra toolkit in C# compatible with [[Silverlight]].
* [http://nlinear.codeplex.com NLinear] is a [[Generic programming|generic]] linear algebra toolkit in C# compatible with [[Silverlight]].
* [[NMath]] by [[CenterSpace Software]] are numerical component libraries for the .NET platform. The libraries include high performance signal processing (FFT) classes, an extensive linear algebra (LAPACK & BLAS) framework, and a statistics package including descriptive statistics, distributions, ANOVA, and multivariate analysis (NMF, k-means, PCA). Most classes scale with the number of processor cores.<ref>http://www.centerspace.net</ref>
* [[NMath]] by [[CenterSpace Software]] are numerical component libraries for the .NET platform. The libraries include high performance signal processing (FFT) classes, an extensive linear algebra (LAPACK & BLAS) framework, and a statistics package including descriptive statistics, distributions, ANOVA, and multivariate analysis (NMF, k-means, PCA). Most classes scale with the number of processor cores.<ref>http://www.centerspace.net</ref>
Line 53: Line 53:


==[[Fortran]]==
==[[Fortran]]==
* [http://jblevins.org/mirror/amiller/ Alan Miller's Fortran Software]
{{see also| Netlib}}
* [[BLAS]] (Basic Linear Algebra Subprograms) is a de facto [[application programming interface]] standard for publishing libraries to perform basic [[linear algebra]] operations such as [[Vector space|vector]] and [[matrix multiplication]].
*[http://jblevins.org/mirror/amiller/ Alan Miller's Fortran Software]
*[[BLAS]] (Basic Linear Algebra Subprograms) is a de facto [[application programming interface]] standard for publishing libraries to perform basic [[linear algebra]] operations such as [[Vector space|vector]] and [[matrix multiplication]].
* [[CERN Program Library|CERNLIB]] is a collection of [[FORTRAN 77]] libraries and modules.
* [[CERN Program Library|CERNLIB]] is a collection of [[FORTRAN 77]] libraries and modules.
* [http://lib.stat.cmu.edu/cmlib/ CMLIB] (NIST Core Math Library) is a library of [[Fortran]] routines compiled by the [[National Institute of Standards and Technology]].
* [http://lib.stat.cmu.edu/cmlib/ CMLIB] (NIST Core Math Library) is a library of [[Fortran]] routines compiled by the [[National Institute of Standards and Technology]].
*[[EISPACK]] is a [[software library]] for [[numerical computation]] of [[eigenvalues]] and [[eigenvectors]] of matrices, written in [[FORTRAN]]. It contains subroutines for calculating the eigenvalues of nine classes of [[matrix (Mathematics)|matrices]]: complex general, complex [[Hermitian]], real general, real symmetric, real symmetric [[band matrix|banded]], real symmetric tridiagonal, special real tridiagonal, generalized real, and generalized real symmetric matices.
* [[EISPACK]] is a [[software library]] for [[numerical computation]] of [[eigenvalues]] and [[eigenvectors]] of matrices, written in [[FORTRAN]]. It contains subroutines for calculating the eigenvalues of nine classes of [[matrix (Mathematics)|matrices]]: complex general, complex [[Hermitian]], real general, real symmetric, real symmetric [[band matrix|banded]], real symmetric tridiagonal, special real tridiagonal, generalized real, and generalized real symmetric matices.
* [[IMSL Numerical Libraries]] are cross-platform libraries containing a comprehensive set of mathematical and statistical functions that can be embedded in a users application.
* [[IMSL Numerical Libraries]] are cross-platform libraries containing a comprehensive set of mathematical and statistical functions that can be embedded in a users application.
* [[Harwell Subroutine Library]] is a collection of [[Fortran 77]] and 95 codes that address core problems in numerical analysis.
* [[Harwell Subroutine Library]] is a collection of [[Fortran 77]] and 95 codes that address core problems in numerical analysis.
* John Burkardt's [http://people.sc.fsu.edu/~jburkardt/f77_src/f77_src.html FORTRAN 77] and [http://people.sc.fsu.edu/~jburkardt/f_src/f_src.html Fortran 90] source codes.
* John Burkardt's [http://people.sc.fsu.edu/~jburkardt/f77_src/f77_src.html FORTRAN 77] and [http://people.sc.fsu.edu/~jburkardt/f_src/f_src.html Fortran 90] source codes.
* [[LAPACK]], the '''Linear Algebra PACKage''', is a [[software library]] for [[numerical computation|numerical computing]] originally written in [[Fortran|FORTRAN 77]] and now written in [[Fortran|Fortran 90]].
* [[LAPACK]], the '''Linear Algebra PACKage''', is a [[software library]] for [[numerical computation|numerical computing]] originally written in [[Fortran|FORTRAN 77]] and now written in [[Fortran|Fortran 90]].
*[[LINPACK]] is a software [[library (computer science)|library]] for performing numerical [[linear algebra]] on digital computers. It was written in [[Fortran]] by [[Jack Dongarra]], Jim Bunch, [[Cleve Moler]], and Pete Stewart, and was intended for use on [[supercomputer]]s in the 1970s and early 1980s. It has been largely superseded by [[LAPACK]], which will run more efficiently on modern architectures.
* [[LINPACK]] is a software [[library (computer science)|library]] for performing numerical [[linear algebra]] on digital computers. It was written in [[Fortran]] by [[Jack Dongarra]], Jim Bunch, [[Cleve Moler]], and Pete Stewart, and was intended for use on [[supercomputer]]s in the 1970s and early 1980s. It has been largely superseded by [[LAPACK]], which will run more efficiently on modern architectures.
* [[Lis_(linear_algebra_library)|Lis]] is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods.
* [[Lis_(linear_algebra_library)|Lis]] is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods.
* [[MINPACK]] is a library of [[FORTRAN]] subroutines for the solving of systems of nonlinear equations, or the [[least squares]] minimization of the residual of a set of [[System of linear equations|linear]] or nonlinear equations.
* [[MINPACK]] is a library of [[FORTRAN]] subroutines for the solving of systems of nonlinear equations, or the [[least squares]] minimization of the residual of a set of [[System of linear equations|linear]] or nonlinear equations.
* [[NAG Numerical Libraries]] are implementations (for a wide variety of platforms) of a software library of numerical analysis routines, which can be called from user applications.
* The [[NAG Numerical Libraries|NAG Fortran Library]] is a collection of numerical analysis routines which can be called from user applications on a wide variety of hardware platforms.
* [[Naval Observatory Vector Astrometry Subroutines|NOVAS]] is a software library for astrometry-related numerical computations. Both [[Fortran]] and [[C (programming language)|C]] versions are available.
* [[Naval Observatory Vector Astrometry Subroutines|NOVAS]] is a software library for astrometry-related numerical computations. Both [[Fortran]] and [[C (programming language)|C]] versions are available.
* [[Netlib]] is a repository of scientific computing software which contains a large number of separate programs and libraries including [[BLAS]], [[EISPACK]], [[LAPACK]] and others.
* [http://www.netlib.org/odepack/ ODEPACK] is a systemized package of routines for solving systems of initial value, ordinary differential equations, for stiff and non-stiff problems.
* [http://www.netlib.org/odepack/ ODEPACK] is a systemized package of routines for solving systems of initial value, ordinary differential equations, for stiff and non-stiff problems.
* [http://www.fortran-2000.com/rank/index.html ORDERPACK] [[Fortran 90]] library for unconditional, unique, and partial ranking, sorting, and permutation.
* [http://www.fortran-2000.com/rank/index.html ORDERPACK] [[Fortran 90]] library for unconditional, unique, and partial ranking, sorting, and permutation.

Revision as of 11:25, 8 February 2012

List of numerical libraries used for performing numerical calculations:

Multi-language

  • The NAG Library is a collection of mathematical and statistical routines for multiple programming languages (C, C++, Fortran, Visual Basic, Java and C#) and packages (MATLAB, Excel, R, LabVIEW).
  • ALGLIB is an open source numerical analysis library which may be used from C++, C#, FreePascal, Delphi, VBA.
  • IMSL Numerical Libraries are libraries of numerical analysis functionality implemented in standard programming languages like C, Java, C# .NET, Fortran, and Python.
  • JACKET is a runtime platform for C, C++ and matlab that uses GPUs for acceleration.

C and C++

.NET Framework Languages C#, F# and VB.NET

  • Dambach Linear Algebra Framework is a new general purpose linear algebra framework to enable the elegant expression and solution of linear algebra problems and models.
  • DotNumerics is a Numerical Library for .NET written in C#. It provides routines for: Linear Algebra (CSLapack, CSBlas, CSEispack), Differential Equations and Optimization.
  • ILNumerics.Net high performance, typesafe numerical array classes and functions for general math, fft and linear algebra, aims .NET/mono, 32&64 bit, script-like syntax in C#, 2D & 3D plot controls, efficient memory management
  • IMSL Numerical Libraries for .NET is a set of Mathematical, Statistical, Data Mining, Financial and Charting classes written in C#.
  • Math.NET is a mathematical open source (MIT/X11, LGPL & GPL) library written in C#/F#, aiming to provide a self Math.Net Numerics is the numerical component which was built by merging the Math.Net Iridium library and dnAnalytics.
  • Meta.Numerics is a library for scientific and technical computation on the .NET Framework. Its functionality includes matrix algebra, statistics and data analysis, advanced functions, and signal processing. The Meta.Numerics library is object-oriented, performance-optimized, documented, and compatible with both Mono and Silverlight.
  • The NAG Library for .NET is a .NET assembly of numerical routines optimized for use within the .NET environment.
  • NLinear is a generic linear algebra toolkit in C# compatible with Silverlight.
  • NMath by CenterSpace Software are numerical component libraries for the .NET platform. The libraries include high performance signal processing (FFT) classes, an extensive linear algebra (LAPACK & BLAS) framework, and a statistics package including descriptive statistics, distributions, ANOVA, and multivariate analysis (NMF, k-means, PCA). Most classes scale with the number of processor cores.[1]
  • SCINET is an object-based high performance Scientific Software Framework for the Microsoft .NET platform. It is purely written in C# programming language and fully compliant with the Microsoft's CLI specification.
  • Sho is a library and interactive environment from Microsoft Research for data analysis and scientific computing, that includes powerful and efficient libraries for linear algebra as well as data visualization.
  • Machine Learning for .NET is a library designed to assist in the use of common Machine Learning Algorithms in conjunction with the .NET platform. It is designed to include the most popular supervised and unsupervised learning algorithms while minimizing the friction involved with creating the predictive models.
  • FinMath is a library for scientific and financial computation on the .NET Framework. Its functionality includes vector and matrix algebra, statistics, data analysis, advanced functions, signal processing, numerical optimization and many more. It uses Intel Math Kernel Library and Intel Integrated Performance Primitives to do most of the low-level computations while providing simple and object oriented interface.
  • Colt provides a set of Open Source Libraries for High Performance Scientific and Technical Computing in Java.
  • Parallel Colt is a multithreaded version of Colt.
  • JAMA, a numerical linear algebra toolkit for the Java programming language. No active development since 2005, but still one of the more popular linear algebra packages in Java.
  • JMSL Numerical Libraries is a comprehensive set of Mathematical, Statistical, Data Mining, Financial and 2D/3D Charting classes.
  • JScience, an open-source (multiple licenses) Java API for performing numerical calculations and data storage among other things.
  • JHepWork, an open-source Java libraries for numerical calculations, data I/O and visualisation of scientific results. Used together with Jython.
  • NA WorkSheet is a collective aggregation of algorithms coded in Java that implements various Numerical Analysis solutions/techniques in one easy to use opensource tool.
  • Apache Commons-Math Math library provided by Apache.org, including linear algebra, regression, and much more.
  • Apache Mahout Machine learn library provided by Apache.org.
  • JSC (Java Statistics Classes) JSC is a project to extend the Java programming language and Java APIs (Application Programming Interfaces) to support educational and enterprise development of statistical software in Java.
  • Java-ML Machine Learning library
  • SuanShu is a pure Java numerical library provided by Numerical Method Inc. It is designed to be objected-oriented around mathematical "concepts" rather than procedures. The goal is that users can easily and quickly create complex mathematical algorithms and numerical applications by putting together the concept classes in similar way to Lego. The library covers linear algebra, analysis, Calculus and statistics.
  • Universal Java Matrix Package (UJMP) is an open source Java library that provides sparse and dense matrix classes, as well as a large number of calculations for linear algebra like matrix multiplication or matrix inverse.
  • oj! Algorithms - ojAlgo is Open Source Java code that has to do with mathematics, linear algebra and optimisation; particularly (but certainly not exclusively) suitable for the financial domain.
  • Efficient Java Matrix Library (EJML) is a linear algebra library for manipulating dense matrices. Its design goals are; 1) to be as computationally efficient as possible for both small and large matrices, and 2) to be accessible to both novices and experts.
  • Linear Algebra for Java (la4j) is elegant and pure Java implementation of linear algebra library. Its designed as full object-oriented framework based on design patterns.
  • exp4j this math expression evaluator is an implementation of Dijkstra's Shunting Yard algorithm in Java.
  • Java Tools for Experimental Mathematics (jtem) is a BSD licensed collection of libraries with classes, algorithms, and numerical methods for special functions, linear algebra and calculus as well as some tools for mathematical visualization.
  • NLPy is a Python package for numerical optimization. It aims to provide a toolbox for solving linear and nonlinear programming problems that is both easy to use and extensible. It is applicable to problems that are smooth, have no derivatives, or have integer data.
  • JHepWork scientific libraries based on Jython, Java implementation of the Python language.
  • matplotlib, a MATLAB-like plotting library.
  • NumPy, a library that adds support for the manipulation of large, multi-dimensional arrays and matrices; it also includes a large collection of high-level mathematical functions. NumPy serves as the backbone for a number of other numerical libraries, notably SciPy.
  • PyIMSL a set of Python wrappers to the IMSL C Numerical Library.
  • PAW is a free data analysis package developed at CERN.
  • Sage Math is a large mathematical software application which integrates the work of nearly 100 free software projects and supports linear algebra, combinatorics, numerical mathematics, calculus, and more.
  • SciPy, a large library of scientific tools. Includes NumPy
  • ScientificPython, a library with a different set of scientific tools

Others

  • XNUMBERS — Multi Precision Floating Point Computing and Numerical Methods for EXCEL.
  • TotallySQL.com provide a range of numerical and other libraries for scientific, engineering, mathematical and financial analysis use within SQL Server. The libraries provide new functions, aggregates, types and stored procedures that can be used directly within Transact-SQL scripts and stored procedures.

See also

References