Application-level프로그래밍
List of numerical libraries
present
2011. 11. 13. 03:05
My list:
boost (http://www.boost.org/)
------------------------------
Source for the lists as shown below: http://en.wikipedia.org/wiki/List_of_numerical_libraries
About open source license:
http://www.opensource.org/licenses/alphabetical
Multi-language
boost (http://www.boost.org/)
------------------------------
Source for the lists as shown below: http://en.wikipedia.org/wiki/List_of_numerical_libraries
About open source license:
http://www.opensource.org/licenses/alphabetical
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
- 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, and Fortran.
- JACKET is a runtime platform for C, C++ and matlab that uses GPUs for acceleration.
C and C++
- 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.
- 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.
- 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.
- 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.
- 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.
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.
- 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.
- 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 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.
Python
- 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.
- 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