List of numerical libraries
Adapted from Wikipedia · Adventurer experience
Numerical libraries are special tools used in software development. They help computers do math and solve tricky problems. These libraries have sets of instructions that make calculations easier. This includes solving equations, working with big numbers, or handling data.
These libraries are important because they help programmers create better software. They are used in many things, like video games and scientific research.
Choosing the right numerical library depends on what you need. Some libraries are good with large amounts of data. Others focus on speed or specific problems. Things like the type of computer you use, how easy the library is to understand, and if it is still being updated also matter. These libraries help solve hard math problems quickly and reliably in many kinds of software.
Multi-language
Here are some numerical libraries you might hear about in computer science:
- ALGLIB is a free library for math calculations that works with languages like C++, C#, and others.
- ArrayFire is a free library designed for fast computing with an easy-to-use system.
- IMSL Numerical Libraries provide math functions for use in programming languages such as C, Java, and Python.
- The NAG Library offers many math and statistics tools for several programming languages and programs.
- GNU Octave is a free programming tool similar to MATLAB, with a user interface and the ability to work with many other programs.
- librsb is a free library for fast matrix calculations, usable with C, C++, Fortran, and GNU Octave. It follows the Sparse BLAS standard.
C
Here are some important numerical libraries used in software development:
- BLOPEX is an open-source library that helps solve special math problems. It can work quickly by using many computers together.
- Fastest Fourier Transform in the West (FFTW) is a tool for doing complex math calculations.
- GNU Scientific Library is a free library that helps with many types of math calculations.
- GNU Multi-Precision Library is used for very detailed math calculations.
- hypre is an open-source library that helps solve big math problems faster by using many computers together.
- LabWindows/CVI includes tools for analyzing data and doing many types of math operations.
- Lis is a library that solves math problems quickly by using many computers together.
- Intel MKL contains optimized math tools for science, engineering, and finance.
- Intel IPP is a library of functions for multimedia and data processing.
- OpenBLAS is an open source version of a common math API.
- Portable, Extensible Toolkit for Scientific Computation (PETSc) is a set of tools for solving scientific problems using many computers together.
- SLEPc is an open-source library based on PETSc that helps solve math problems using many computers together.
- UMFPACK is a library for solving certain types of math systems. It is used behind the scenes in MATLAB and SciPy.
C++
These are some useful tools for doing math and solving problems in programming with C++. Each tool has special features that make it good for different kinds of work.
- Adept helps with changing values and working with groups of numbers.
- Advanced Simulation Library is free software that makes complex science experiments faster by using special computer parts.
- ALGLIB is a tool for solving math problems, available in both free and paid versions for C++.
- Armadillo makes working with grids of numbers easy and quick, with a style similar to MATLAB.
- Blitz++ is a fast tool for math with groups of numbers in C++.
- Boost.uBLAS provides C++ tools for math calculations.
- deal.II helps solve difficult math problems involving shapes and spaces.
- Dlib offers simple tools for math and finding best solutions, working well with special math libraries.
- Eigen is quick for working with groups of numbers, matching the speed of Intel's Math Kernel Library.
- Hermes Project is a tool for quickly building tests in C++ and Python for complex math problems.
- IML++ solves groups of equations together, handling many different types of number arrangements.
- IT++ works with grids of numbers, signals, and messages, similar to MATLAB.
- LAPACK++ is a C++ tool that works with LAPACK and BLAS.
- MFEM is a free and easy-to-use C++ tool for solving math problems with shapes.
- Intel MKL is Intel's collection of fast math tools for science, engineering, and money problems, using C/C++ and Fortran. It includes BLAS, LAPACK, and other fast math functions.
- mlpack is free software for learning from data, using C++ for speed and flexibility.
- MTL4 is a C++ tool for working with sparse and dense math operations, with an easy-to-use style like MATLAB.
- The NAG Library works with C++.
- NTL is a C++ tool for advanced number theory.
- OpenFOAM is free software for solving math problems in movement and flow.
- SU2 code is free software for solving math problems using different methods.
- Trilinos is a group of tools for solving big, complicated science and engineering problems.
- TNT is a tool for working with grids of numbers, available as public code in header format from NIST. It was created as an update to Lapack++, Sparselib++, and IML++.
Delphi
ALGLIB is an open source library that helps with numerical analysis. It is a tool used in software development to do calculations and solve math problems.
.NET Framework languages: C#, F#, VB.NET and PowerShell
These libraries help with math and science tasks in programming. Some libraries, like Accord.NET, help with many kinds of calculations and learning from data. Others, like AForge.NET, help computers see and understand images.
There are also libraries such as Math.NET Numerics that offer tools for everyday math problems, and ML.NET which is free software for learning from data using the C# programming language. Each library has its own rules about how it can be used.
Fortran
See also: List of Fortran scientific libraries
- BLAS is a standard set of tools that help with basic math tasks, like multiplying rows and columns of numbers.
- CERNLIB is a group of tools written in an old computer language called FORTRAN 77.
- EISPACK is a set of tools for finding special numbers and directions in matrices, written in FORTRAN.
- IMSL Numerical Libraries are tools that include many math and statistics functions for use in other programs.
- Harwell Subroutine Library is a group of Fortran tools for solving common math problems.
- LAPACK, the Linear Algebra PACKage, is a tool for complex math calculations, first written in FORTRAN 77 and now updated to Fortran 90.
- LINPACK is a tool for math with rows and columns, made for very fast computers in the 1970s and 1980s. It is now mostly replaced by LAPACK, which works better on today’s computers.
- Lis is a tool that can solve certain math problems on many computers at once.
- MINPACK is a group of tools for solving difficult math equations or finding the smallest error in a set of equations.
- The NAG Fortran Library is a collection of math and statistics tools for Fortran.
- NOVAS is a tool for calculations used in studying stars and planets. It comes in both Fortran and C versions.
- Netlib is a place to find many science computing tools, including BLAS, EISPACK, and LAPACK.
- PAW is a free tool for analyzing data, made at CERN.
- Portable, Extensible Toolkit for Scientific Computation (PETSc), is a set of tools and instructions for solving complex science problems that need many computers working together.
- QUADPACK is a FORTRAN 77 tool for calculating the area under curves.
- SLATEC is a FORTRAN 77 tool with over 1400 math and statistics functions.
- SOFA is a group of tools that use official methods for star and planet calculations. It comes in both Fortran and C versions.
- ARPACK is a group of Fortran tools for solving big math problems with special numbers.
- BLIS is an open-source tool for improving BLAS functions for different types of computers. It won the J. H. Wilkinson Prize for Numerical Software.
Java
Some special tools in Java help with math and numbers. Apache Commons is one of these tools and it can do things like working with straight lines and solving tricky math problems. Efficient Java Matrix Library (EJML) helps with working with groups of numbers called matrices.
JAMA is another tool for working with straight lines in Java, though it hasn’t been updated since 2005. Jblas: Linear Algebra for Java makes using two important math tools, BLAS and LAPACK, easier. There are several other tools like Parallel Colt, Matrix Toolkit Java, ojAlgo, exp4j, SuanShu, and Maja that help with different kinds of math and number work in Java.
OCaml
The OCaml programming language has tools for working with numbers. It includes special modules for handling multi-dimensional arrays. A library called Owl Scientific Computing provides many features for number-based tasks, such as statistics and solving equations. Other libraries in OCaml, like Lacaml, connect to powerful math tools. There are also libraries for creating graphs using PLplot, gnuplot, or matplotlib.
Perl
The Perl Data Language helps the Perl programming language work with large sets of numbers. It can do complex math with numbers and matrices. It can also connect to other tools like the GNU Scientific Library, LINPACK, PROJ, and PGPLOT for making graphs. There are extra tools on CPAN that add support for more advanced math tasks. These include using LAPACK, FFTW for special calculations, and gnuplot and PLplot for creating charts.
Python
See also: List of Python Mathematical libraries
Python has many tools that help with numbers and math.
- JAX is a tool for working with numbers and making calculations faster.
- NumPy helps you work with big groups of numbers and is widely used in Python.
- Pandas is great for organizing and studying data.
- SageMath is a big tool for many types of math problems.
- SciPy offers many scientific tools for Python.
- ScientificPython provides another set of science tools.
- SymPy is used for solving math problems with symbols, like algebra and calculus.
Others
There are special tools that help with math and numbers in computer programs.
- XNUMBERS helps with detailed math calculations and works with Microsoft Excel.
- INTLAB is a tool for math that works with MATLAB and helps with exact number ranges.
Related articles
This article is a child-friendly adaptation of the Wikipedia article on List of numerical libraries, available under CC BY-SA 4.0.
Safekipedia