List of numerical libraries
Encyclopedia
List of numerical libraries used for performing numerical
calculations:
C
.NET Framework Languages C#, F# and VB.NET
Fortran
Numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis ....
calculations:
Multi-language
- NAG Libraries mathematical and statistical routines for multiple programming languages (C, C++, Fortran, Java, Python, .NET), packages (MATLAB, Maple, Excel) and GPUs, multicore, manycore
- ALGLIBALGLIBALGLIB 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 . ALGLIB is relatively young project - active development started only in 2008, while...
is an open source numerical analysis library which may be used from C++, C#, FreePascal, Delphi, VBA. - IMSL Numerical LibrariesIMSL Numerical LibrariesIMSL is a commercial collection of software libraries of numerical analysis functionality that are implemented in the computer programming languages of C, Java, C#.NET, and Fortran...
are libraries of numerical analysis functionality implemented in standard programming languages like C, Java, C# .NET, and Fortran. - JACKET is a runtime platform for C, C++ and matlab that uses GPUs for acceleration.
CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
- Apophenia is a C library, based on the GSL (below), that provides functions and structures on the level of data sets and statistical models.
- ArmadilloArmadillo (C++ library)The Armadillo C++ Library aims to provide an efficient and streamlined base for linear algebra operations , while at the same time having a straightforward and easy to use interface...
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. - BLOPEXBLOPEXThe Block Locally Optimal Preconditioned Eigenvalue Xolvers is a suite of routines for the scalable solution of eigenvalue problems. Its object-oriented design allows easy portability. Currently available built-in interfaces are Hypre, PETSc, MATLAB, GNU Octave, and a serial stand-alone version...
Block Locally Optimal Preconditioned Eigenvalue Xolvers is an open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
library for the scalableScalabilityIn electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
(parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
) solution of eigenvalue problems. Its object-oriented design allows easy portability. - deal.II is an open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
library for the computational solution of PDE problems using adaptiveAdaptive mesh refinementIn numerical analysis, adaptive mesh refinement is a method of adaptive meshing. Central to any Eulerian method is the manner in which it discretizes the continuous domain of interest into a grid of many individual elements...
continuousFinite element methodThe finite element method is a numerical technique for finding approximate solutions of partial differential equations as well as integral equations...
or discontinuous finite elementsDiscontinuous Galerkin methodDiscontinuous Galerkin methods in mathematics form a class of numerical methods for solving partial differential equations. They combine features of the finite element and the finite volume framework and have been successfully applied to hyperbolic, elliptic and parabolic problems arising from a...
. - dlib is an open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
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-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
C++ templateTemplate (programming)Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class to work on many different data types without being rewritten for each one....
library for linear algebra and numerical analysis supporting small, large, dense and sparseSparse matrixIn the subfield of numerical analysis, a sparse matrix is a matrix populated primarily with zeros . The term itself was coined by Harry M. Markowitz....
matrices. - GNU Scientific LibraryGNU Scientific LibraryIn computing, the GNU Scientific Library is a software library written in the C programming language for numerical calculations in applied mathematics and science...
, a popular, free numerical analysis library for CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
. - GNU Multi-Precision LibraryGNU Multi-Precision LibraryThe GNU Multiple Precision Arithmetic Library, also known as GMP, is a free library for arbitrary-precision arithmetic, operating on signed integers, rational numbers, and floating point numbers...
is a library for doing arbitrary precision arithmetic. - Hermes ProjectHermes ProjectHermes is a C++/Python libraryof algorithms for rapid development of adaptive hp-FEM solvers...
: C/C++/Python library for rapid prototyping of space- and space-time adaptive hp-FEM solvers. - hypreHypreThe Parallel High Performance Preconditioners is a library of routines for scalable solution of linear systems. The built-in BLOPEX package in addition allows solving eigenvalue problems. The main strength of Hypre is availability of high performance parallel multigrid preconditioners for both...
High Performance Preconditioners is an open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
library of routines for scalableScalabilityIn electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
(parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
) solution of linear systems and preconditioning. - IML (numerical library) is a C library for linear algebra on integers.
- IML++IML++IML++, or the Iterative Methods Library, is a C++ library for solving linear systems of equations. It is said to be "templated" in the sense that the same source code works for dense, sparse, and distributed matrices....
is a C++ library for solving linear systems of equations, capable of dealing with dense, sparse, and distributed matrices. - IT++ is a C++ library for linear algebra (matrices and vectors), signal processing and communications. Functionality similar to MATLAB and Octave.
- LAPACK++LAPACK++LAPACK++, the Linear Algebra PACKage in C++, is a computer software library of algorithms for numerical linear algebra that solves systems of linear equations and eigenvalue problems....
, a C++ wrapper library for LAPACKLAPACK-External links:* : a modern replacement for PLAPACK and ScaLAPACK* on Netlib.org* * * : a modern replacement for LAPACK that is MultiGPU ready* on Sourceforge.net* * optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux* * *...
and BLASBlasBlas is mainly a Spanish given name and surname, related to Blaise. It may refer to-Places:*Piz Blas, mountain in Switzerland*San Blas , many places - see separate article, also**Cape San Blas Light, lighthouse... - LinBoxLinBoxLinBox is a C++ template library for doing exact computational linear algebra. LinBox is free software released under the GNU Lesser General Public License....
is a C++ template library for doing exact computational linear algebra. - LisLis (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 solvers.- Features :...
is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods. - MTL4Matrix Template LibraryThe Matrix Template Library is a linear algebra library for C++ programs.The MTL uses template programming, which considerably reduces the code length. All matrices and vectors are available in all classical numerical formats: float, double, complex or complex.Furthermore, generic programming...
is a generic C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
template library providing sparse and dense BLAS functionality. MTL4 establishes an intuitive interface (similar to MATLABMATLABMATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
) and broad applicability thanks to Generic programmingGeneric programmingIn a broad definition, generic programming is a style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters...
. - NAG Numerical LibrariesNAG Numerical LibrariesNAG Numerical Libraries is a software product sold by The Numerical Algorithms Group Ltd . The product is a software library of numerical analysis routines. It comprises a collection of 1500 mathematical and statistical algorithms. Areas covered include linear algebra, optimization, quadrature,...
are implementations (for a wide variety of platforms) of a software library of numerical analysis routines, which can be called from user applications. - NTLNumber Theory LibraryNTL is a C++ library for doing number theory. NTL supports arbitrary length integer and arbitrary precision floating point arithmetic, finite fields, vectors, matrices, polynomials, lattice basis reduction and basic linear algebra. NTL is free software released under the GNU General Public License....
is a C++ library for number theory. - Symmetrica is a C library for representation theoryRepresentation theoryRepresentation theory is a branch of mathematics that studies abstract algebraic structures by representing their elements as linear transformations of vector spaces, and studiesmodules over these abstract algebraic structures...
. - Portable, Extensible Toolkit for Scientific ComputationPortable, Extensible Toolkit for Scientific ComputationThe Portable, Extensible Toolkit for Scientific Computation , is a suite of data structures and routines for the scalable solution of scientific applications modeled by partial differential equations. It employs the Message Passing Interface standard for all message-passing communication...
(PETSc), is a suite of data structures and routines for the scalableScalabilityIn electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
(parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
) solution of scientific applications modeled by partial differential equations. - SLEPcSLEPcSLEPc is a software library for the parallel computation of eigenvalues and eigenvectors of large, sparse matrices. It can be seen as a module of PETSc that provides solvers for different types of eigenproblems, including linear and quadratic, as well as the SVD. It uses the MPI standard for...
Scalable Library for Eigenvalue Problem Computations is a PETSc-based open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
library for the scalableScalabilityIn electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
(parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
) solution of eigenvalue problems. - TrilinosTrilinosTrilinos is a collection of open source software libraries, called packages, intended to be used as building blocks for the development of scientific applications...
, an effort to develop scalableScalabilityIn electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
(parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
) 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.
.NET Framework Languages C#, F# and VB.NETVisual Basic .NETVisual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...
- 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.NetILNumerics.NetILNumerics is an mathematical class library for .NET software developers. It simplifies the implementation of all kinds of numerical algorithms. ILNumerics was designed for helping developers to create distribution-ready applications. Interfaces of existing algebra systems were often found to be...
typesafe numerical array classes and functions for general math and linear algebra, aims .NET/mono, script-like syntax in C#, 2D & 3D plot controls - 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 dnAnalyticsDnAnalyticsdnAnalytics is an open-source numerical library for .NET written in C# and F#. It features functionality similar to BLAS and LAPACK.- Features :The software library provides facilities for:...
. - Meta.Numerics is a library for scientific and technical computation on the .NET Framework.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
. 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 MonoMono (software)Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
and Silverlight. - NAG Library for .NET is a set of numerical routines optimized for use in the .NET environment
- NLinear is a genericGeneric programmingIn a broad definition, generic programming is a style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters...
linear algebra toolkit in C# compatible with Silverlight. - NMathNMathNMath is a numerical package for the Microsoft .NET Framework. It is developed by CenterSpace Software. Version 1.0 was released in March, 2003 as NMath Core...
by CenterSpace SoftwareCenterSpace SoftwareCenterSpace Software, LLC. is a commercial software development company with headquarters in Corvallis, Oregon, USA, that produces numerical and statistical class libraries for the .NET Framework...
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. - 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.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
. 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.
FortranFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
- Alan Miller's Fortran Software
- BLASBlasBlas is mainly a Spanish given name and surname, related to Blaise. It may refer to-Places:*Piz Blas, mountain in Switzerland*San Blas , many places - see separate article, also**Cape San Blas Light, lighthouse...
(Basic Linear Algebra Subprograms) is a de facto application programming interfaceApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
standard for publishing libraries to perform basic linear algebraLinear algebraLinear algebra is a branch of mathematics that studies vector spaces, also called linear spaces, along with linear functions that input one vector and output another. Such functions are called linear maps and can be represented by matrices if a basis is given. Thus matrix theory is often...
operations such as vectorVector spaceA vector space is a mathematical structure formed by a collection of vectors: objects that may be added together and multiplied by numbers, called scalars in this context. Scalars are often taken to be real numbers, but one may also consider vector spaces with scalar multiplication by complex...
and matrix multiplicationMatrix multiplicationIn mathematics, matrix multiplication is a binary operation that takes a pair of matrices, and produces another matrix. If A is an n-by-m matrix and B is an m-by-p matrix, the result AB of their multiplication is an n-by-p matrix defined only if the number of columns m of the left matrix A is the...
. - CERNLIBCERN Program LibraryThe CERN Program Library or CERNLIB is a collection of FORTRAN77 libraries and modules, maintained "as is" by CERN. Its content ranges from more specialized data analysis of high energy physics to general purpose numerical analysis...
is a collection of FORTRAN 77 libraries and modules. - CMLIB (NIST Core Math Library) is a library of FortranFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
routines compiled by the National Institute of Standards and TechnologyNational Institute of Standards and TechnologyThe National Institute of Standards and Technology , known between 1901 and 1988 as the National Bureau of Standards , is a measurement standards laboratory, otherwise known as a National Metrological Institute , which is a non-regulatory agency of the United States Department of Commerce...
. - EISPACKEISPACKEISPACK 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,...
is a software library for numerical computation of eigenvalues and eigenvectors of matrices, written in FORTRANFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
. It contains subroutines for calculating the eigenvalues of nine classes of matricesMatrix (mathematics)In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...
: complex general, complex HermitianHermitianA number of mathematical entities are named Hermitian, after the mathematician Charles Hermite:*Hermitian adjoint*Hermitian connection, the unique connection on a Hermitian manifold that satisfies specific conditions...
, real general, real symmetric, real symmetric bandedBand matrixIn mathematics, particularly matrix theory, a band matrix is a sparse matrix whose non-zero entries are confined to a diagonal band, comprising the main diagonal and zero or more diagonals on either side.-Matrix bandwidth:...
, real symmetric tridiagonal, special real tridiagonal, generalized real, and generalized real symmetric matices. - Harwell Subroutine LibraryHarwell Subroutine LibraryHSL, originally the Harwell Subroutine Library, is a collection of Fortran 77 and 95 codes that address core problems in numerical analysis...
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.
- LAPACKLAPACK-External links:* : a modern replacement for PLAPACK and ScaLAPACK* on Netlib.org* * * : a modern replacement for LAPACK that is MultiGPU ready* on Sourceforge.net* * optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux* * *...
, the Linear Algebra PACKage, is a software library for numerical computing originally written in FORTRAN 77FortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
and now written in Fortran 90FortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
. - LINPACKLINPACKLINPACK 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 Gilbert Stewart, and was intended for use on supercomputers in the 1970s and early 1980s...
is a software libraryLibrary (computer science)In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
for performing numerical linear algebraLinear algebraLinear algebra is a branch of mathematics that studies vector spaces, also called linear spaces, along with linear functions that input one vector and output another. Such functions are called linear maps and can be represented by matrices if a basis is given. Thus matrix theory is often...
on digital computers. It was written in FortranFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
by Jack DongarraJack DongarraJack J. Dongarra is a University Distinguished Professor of Computer Sciencein the Electrical Engineering and Computer Science Department at the University of Tennessee...
, Jim Bunch, Cleve MolerCleve MolerCleve Barry Moler is a mathematician and computer programmer specializing in numerical analysis. In the mid to late 1970s, he was one of the authors of LINPACK and EISPACK, Fortran libraries for numerical computing. He invented MATLAB, a numerical computing package, to give his students at the...
, and Pete Stewart, and was intended for use on supercomputerSupercomputerA supercomputer is a computer at the frontline of current processing capacity, particularly speed of calculation.Supercomputers are used for highly calculation-intensive tasks such as problems including quantum physics, weather forecasting, climate research, molecular modeling A supercomputer is a...
s in the 1970s and early 1980s. It has been largely superseded by LAPACKLAPACK-External links:* : a modern replacement for PLAPACK and ScaLAPACK* on Netlib.org* * * : a modern replacement for LAPACK that is MultiGPU ready* on Sourceforge.net* * optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux* * *...
, which will run more efficiently on modern architectures. - LisLis (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 solvers.- Features :...
is a scalable parallel library for solving systems of linear equations and standard eigenvalue problems with real sparse matrices using iterative methods. - MINPACKMINPACKMINPACK 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....
is a library of FORTRANFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
subroutines for the solving of systems of nonlinear equations, or the least squaresLeast squaresThe method of least squares is a standard approach to the approximate solution of overdetermined systems, i.e., sets of equations in which there are more equations than unknowns. "Least squares" means that the overall solution minimizes the sum of the squares of the errors made in solving every...
minimization of the residual of a set of linear or nonlinear equations. - NAG Numerical LibrariesNAG Numerical LibrariesNAG Numerical Libraries is a software product sold by The Numerical Algorithms Group Ltd . The product is a software library of numerical analysis routines. It comprises a collection of 1500 mathematical and statistical algorithms. Areas covered include linear algebra, optimization, quadrature,...
are implementations (for a wide variety of platforms) of a software library of numerical analysis routines, which can be called from user applications. - NOVASNaval Observatory Vector Astrometry SubroutinesThe Naval Observatory Vector Astrometry Software is a software library for astrometry-related numerical computations. It is developed by the Astronomical Applications Department, United States Naval Observatory...
is a software library for astrometry-related numerical computations. Both FortranFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
and CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
versions are available. - 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 ComputationPortable, Extensible Toolkit for Scientific ComputationThe Portable, Extensible Toolkit for Scientific Computation , is a suite of data structures and routines for the scalable solution of scientific applications modeled by partial differential equations. It employs the Message Passing Interface standard for all message-passing communication...
(PETSc), is a suite of data structures and routines for the scalableScalabilityIn electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
(parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
) solution of scientific applications modeled by partial differential equations. - QUADPACKQUADPACKQUADPACK is a FORTRAN 77 library for numerical integration of one-dimensional functions. It was included in the SLATEC Common Mathematical Library and is therefore in the public domain. The individual subprograms are also available on netlib....
is a FORTRAN 77 library for numerical integrationNumerical integrationIn numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations. This article focuses on calculation of...
of one-dimensional functions - SLATECSLATECSLATEC Common Mathematical Library is a FORTRAN 77 library of over 1400 general purpose mathematical and statistical routines. The code was developed at US Government research laboratories, and is in the public domain....
is a FORTRAN 77 library of over 1400 general purpose mathematical and statistical routines. - SOFASOFA (Astronomy)The SOFA software libraries are a collection of subroutines that implement official IAU algorithms for astronomical computations.As of February 2009 they are available in both Fortran and C source code format....
is a collection of subroutines that implement official IAUInternational Astronomical UnionThe International Astronomical Union IAU is a collection of professional astronomers, at the Ph.D. level and beyond, active in professional research and education in astronomy...
algorithms for astronomicalAstronomyAstronomy is a natural science that deals with the study of celestial objects and phenomena that originate outside the atmosphere of Earth...
computations. Both FortranFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
and CC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
versions are available. - SPARSKITSPARSKITSPARSKIT is a tool package for working with sparse matrices. Its main objectives is to convert between different storage schemes in order to simplify exchange of data between researchers, and to do basic linear algebra and matrix manipulation. SPARSKIT is written by Yousef Saad, currently an I.T...
is a tool package for working with sparse matricesSparse matrixIn the subfield of numerical analysis, a sparse matrix is a matrix populated primarily with zeros . The term itself was coined by Harry M. Markowitz....
. - SPICELIB from JPL.
- [ftp://ftp.ucar.edu/starpac/ STARPAC] is a library of FortranFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
routines for statistical data analysis from the National Institute for Standards and Technology.
Java
- 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.
- JAMAJAMA (numerical linear algebra library)JAMA is a software library for performing numerical linear algebra tasks created at NIST similar in functionality to LAPACK. Versions exist for both C++ and the Java programming language. The C++ version uses the Template Numerical Toolkit for lower-level operations. The Java version provides...
, a numerical linear algebraLinear algebraLinear algebra is a branch of mathematics that studies vector spaces, also called linear spaces, along with linear functions that input one vector and output another. Such functions are called linear maps and can be represented by matrices if a basis is given. Thus matrix theory is often...
toolkit for the Java programming language. No active development since 2005, but still one of the more popular linear algebra packages in Java. - JScience, an open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
(multiple licenses) Java API for performing numerical calculations and data storage among other things. - JHepWorkJHepWorkjHepWork is an interactive framework for scientific computation, data analysis and data visualization designed for scientists, engineers and students...
, an open-sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
Java libraries for numerical calculations, data I/O and visualisation of scientific results. Used together with JythonJythonJython, successor of JPython, is an implementation of the Python programming language written in Java.-Overview:Jython programs can seamlessly import and use any Java class. Except for some standard modules, Jython programs use Java classes instead of Python modules...
. - 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 Lucene-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.
Python
- JHepWorkJHepWorkjHepWork is an interactive framework for scientific computation, data analysis and data visualization designed for scientists, engineers and students...
scientific libraries based on JythonJythonJython, successor of JPython, is an implementation of the Python programming language written in Java.-Overview:Jython programs can seamlessly import and use any Java class. Except for some standard modules, Jython programs use Java classes instead of Python modules...
, Java implementation of the Python language. - matplotlibMatplotlibmatplotlib is a plotting library for the Python programming language and its NumPy numerical mathematics extension. It provides an object-oriented API which allows plots to be embedded into applications using generic GUI toolkits, like wxPython, Qt, or GTK...
, 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 SciPySciPySciPy is an open source library of algorithms and mathematical tools for the Python programming language.SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and...
. - PAWPhysics Analysis WorkstationThe Physics Analysis Workstation is an interactive, scriptable computer software tool for data analysis and graphical presentation in high energy physics. Developed at CERN since 1986, it is optimized for processing very large amounts of data...
is a free data analysisData analysisAnalysis of data is a process of inspecting, cleaning, transforming, and modeling data with the goal of highlighting useful information, suggesting conclusions, and supporting decision making...
package developed at CERNCERNThe European Organization for Nuclear Research , known as CERN , is an international organization whose purpose is to operate the world's largest particle physics laboratory, which is situated in the northwest suburbs of Geneva on the Franco–Swiss border...
. - Sage Math is a large mathematical software application which integrates the work of nearly 100 free softwareFree softwareFree software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
projects and supports linear algebra, combinatorics, numerical mathematics, calculus, and more. - SciPySciPySciPy is an open source library of algorithms and mathematical tools for the Python programming language.SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and...
, a large library of scientific tools. Includes NumPy - ScientificPython, a library with a different set of scientific tools
Others
- XNUMBERSXNUMBERSXNUMBERS is a multi-precision floating point computing and numerical methods library for Microsoft Excel. Xnumbers is an open source Excel addin that performs multi-precision floating point arithmetic from 15 up to 200 significant digits...
— 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 softwareComparison of numerical analysis softwareThe following tables provide a comparison of numerical analysis software.- General :- Operating system support :The operating systems the software can run on natively .- Language features :Colors indicate features available as...
- List of computer algebra systems
- List of graphing software
- List of statistical packages