List of numerical libraries
Appearance
This article's use of external links may not follow Wikipedia's policies or guidelines. (November 2011) |
This article provides insufficient context for those unfamiliar with the subject.(January 2010) |
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.
- Apophenia is a C library, based on the GSL (below), that provides functions and structures on the level of data sets and statistical models.
- Armadillo is a C++ linear algebra library (matrix and vector maths), aiming towards a good balance between speed and ease of use. It employs template classes, and has optional links to BLAS and LAPACK.
- Blitz++ is a high-performance vector mathematics library written in C++.
- BLOPEX Block Locally Optimal Preconditioned Eigenvalue Xolvers is an open-source library for the scalable (parallel) solution of eigenvalue problems. Its object-oriented design allows easy portability.
- deal.II is an open-source library for the computational solution of PDE problems using adaptive continuous or discontinuous finite elements.
- dlib is an open-source library which includes a linear algebra component capable of using BLAS and LAPACK along with various non-linear optimization algorithms and machine learning tools.
- Eigen, an efficient open-source C++ template library for linear algebra and numerical analysis supporting small, large, dense and sparse matrices.
- GNU Scientific Library, a popular, free numerical analysis library for C and C++.
- GNU Multi-Precision Library is a library for doing arbitrary precision arithmetic.
- Hermes Project: C/C++/Python library for rapid prototyping of space- and space-time adaptive hp-FEM solvers.
- hypre High Performance Preconditioners is an open-source library of routines for scalable (parallel) solution of linear systems and preconditioning.
- IML (numerical library) is a C library for linear algebra on integers.
- IML++ is a C++ library for solving linear systems of equations, capable of dealing with dense, sparse, and distributed matrices.
- IMSL Numerical Libraries are cross-platform libraries containing a comprehensive set of mathematical and statistical functions that can be embedded in a users application.
- IT++ is a C++ library for linear algebra (matrices and vectors), signal processing and communications. Functionality similar to MATLAB and Octave.
- LAPACK++, a C++ wrapper library for LAPACK and BLAS
- LinBox is a C++ template library for doing exact computational linear algebra.
- Lis is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods.
- 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.
- The NAG C Library is a collection of numerical analysis routines developed by the Numerical Algorithms Group which can be called from user applications running on a wide variety of hardware platforms.
- NTL is a C++ library for number theory.
- Symmetrica is a C library for representation theory.
- Portable, Extensible Toolkit for Scientific Computation (PETSc), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.
- SLEPc Scalable Library for Eigenvalue Problem Computations is a PETSc-based open-source library for the scalable (parallel) solution of eigenvalue problems.
- Trilinos, an effort to develop scalable (parallel) solver algorithms and libraries within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific applications. A unique design feature of Trilinos is its focus on packages.
- VNL, part of the VXL vision libraries.
- 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 developed by the Numerical Algorithms Group which have been 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.
- 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 and matrix multiplication.
- CERNLIB is a collection of FORTRAN 77 libraries and modules.
- 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 matrices: complex general, complex Hermitian, real general, real symmetric, real symmetric 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.
- Harwell Subroutine Library is a collection of Fortran 77 and 95 codes that address core problems in numerical analysis.
- John Burkardt's FORTRAN 77 and Fortran 90 source codes.
- LAPACK, the Linear Algebra PACKage, is a software library for numerical computing originally written in FORTRAN 77 and now written in Fortran 90.
- LINPACK is a software 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 supercomputers in the 1970s and early 1980s. It has been largely superseded by LAPACK, which will run more efficiently on modern architectures.
- 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 linear or nonlinear equations.
- The NAG Fortran Library is a collection of numerical analysis routines developed by the Numerical Algorithms Group which can be called from user applications running on a wide variety of hardware platforms.
- NOVAS is a software library for astrometry-related numerical computations. Both Fortran and 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.
- ODEPACK is a systemized package of routines for solving systems of initial value, ordinary differential equations, for stiff and non-stiff problems.
- ORDERPACK Fortran 90 library for unconditional, unique, and partial ranking, sorting, and permutation.
- Portable, Extensible Toolkit for Scientific Computation (PETSc), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.
- QUADPACK is a FORTRAN 77 library for numerical integration of one-dimensional functions
- SLATEC is a FORTRAN 77 library of over 1400 general purpose mathematical and statistical routines.
- SOFA is a collection of subroutines that implement official IAU algorithms for astronomical computations. Both Fortran and C versions are available.
- SPARSKIT is a tool package for working with sparse matrices.
- SPICELIB from JPL.
- STARPAC is a library of Fortran routines for statistical data analysis from the National Institute for Standards and Technology.
- 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
- List of numerical analysis software
- Comparison of numerical analysis software
- List of computer algebra systems
- List of graphing software
- List of statistical packages