# List of numerical analysis software

From Infogalactic: the planetary knowledge core

Listed here are end-user computer applications intended for use with numerical or data analysis:

## Contents

## Numerical software packages

- ND4J and Deeplearning4j support distributed n-dimensional matrix manipulation, statistical analysis and presentation of Tensors.
- TK Solver is a mathematical modeling and problem solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc.
- DataMelt is a free math software for numerical computation based on Java. Support for Python and Groovy.
- Analytica is a widely used proprietary tool for building and analyzing numerical models. It is a declarative and visual programming language based on influence diagrams.
- MATLAB is a widely used proprietary software for performing numerical calculations. It comes with its own programming language, in which numerical algorithms can be implemented.
- GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. Octave includes an experimental GUI as of Version 3.8, released December 31, 2013. A number of independently developed GNU/Linux programs (Cantor, KAlgebra) also offer GUI front-ends to Octave. An active community provides technical support to users.
- Plotly – Plotting library, Python command line, and graphical interface for analyzing data and creating browser-based graphs. Available for R, Python, MATLAB, Julia, and Perl.
- Julia (programming language) is a new high-level dynamic language with a surface similarity to MATLAB.
- FlexPro is a program for data analysis and presentation of measurement data. It provides a rich Excel-like user interface and its built-in vector programming language FPScript has a syntax similar to MATLAB.
- Scilab is advanced numerical analysis package similar to MATLAB or Octave. Comes with a complete GUI and Xcos which is alternative to Simulink. (free software, GPL-compatible CeCILL license)
- Torch is a deep learning library with support for manipulation, statistical analysis and presentation of Tensors.
- LAPACK provides Fortran 90 routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems and the associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and generalized Schur).
- ScaLAPACK is a library of high-performance linear algebra routines for parallel distributed memory machines that features functionality similar to LAPACK (solvers for dense and banded linear systems, least squares problems, eigenvalue problems, and singular value problem).
- NAG Library is an extensive software library of highly optimized numerical analysis routines for various programming environments.
- FreeMat, an open-source MATLAB-like environment with a GPL license.
- Rlab is another free software computer program which bears a strong resemblance to MATLAB. Rlab development ceased for several years but it was revived as RlabPlus.
- Sysquake is a computing environment with interactive graphics for mathematics, physics and engineering. Like other applications from Calerga, it is based on a MATLAB-compatible language.
- LabVIEW offers both textual and graphical programming approaches to numerical analysis. Its text-based programming language MathScript uses .m file script syntax providing some compatibility with MATLAB and its clones.
- O-Matrix
- jLab, a research platform for building an open source MATLAB-like environment in pure Java and Groovy. Currently supports interpreted j-Scripts (MATLAB-like) and compiled GroovySci (extension to Groovy) scripts that provides direct interfacing to Java code and scripting access to many popular Java scientific libraries (e.g. Weka and JSci[1]) and application Wizards. (Project Page: [2])
- pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.[3]

Add-ons:

- TK Solver Excel Toolkit is a collection of tools for spreadsheet development and optimization, report generation, and collaboration. Collectively, they provide a way for you to most effectively use the power of Excel and TK Solver. Universal Technical Systems, Inc.
- Jacket, A proprietary GPU Toolbox for MATLAB, enabling some MATLAB computations to be offloaded to the GPU for acceleration and data visualization purposes.
- XLfit, A plugin to Excel which provides curve fitting and statistical analysis.

## General-purpose computer algebra systems

Main article: List of computer algebra systems

- Macsyma, a general-purpose computer algebra system, which has a free GPL-licensed version called Maxima.
- Maple, a general-purpose commercial mathematics software package.
- Mathcad offers a WYSIWYG interface and the ability to generate publication-quality mathematical equations.
- Mathematica offers numerical evaluation, optimization and visualization of a very wide range of numerical functions. It also includes a programming language and computer algebra capabilities.
- PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.
- Sage is an open-source math software, with a unified Python interface which is available as a text interface or a graphical web-based one. Includes interfaces for open-source and proprietary general purpose CAS, and other numerical analysis programs, like PARI/GP, GAP, gnuplot, Magma, and Maple.
- Speakeasy is an interactive numerical environment also featuring an interpreted programming language. Born in the mid '60s for matrix manipulation and still in continuous evolution, it pioneered the most common paradigms of this kind of tools, featuring dynamic typing of the structured data objects, dynamic allocation and garbage collection, operators overloading, dynamic linking of compiled or interpreted additional modules contributed by the community of the users and so on.
- SwiftCalcs is a Web-based calculation software that offers symbolic calculus, full unit support, and advanced numerical solvers. It also supports rich text, images, videos, charts and more for full report generation.
- Trilinos is a collection of open source, object-oriented libraries for use in scientific and engineering applications. Trilinos is based on scalable, parallel linear algebra algorithms.

## Interface-oriented

- Baudline is a time-frequency browser for numerical signals analysis and scientific visualization.
- CTOME is a computer software built to perform quickly the processing of scientific data and their visualisation. It also offers treatment of Ultrasound waveform in Metallurgy.
- Dataplot is provided by NIST.
- DADiSP is a commercial program focused on DSP that combines the numerical capability of MATLAB with a spreadsheet like interface.
- EJS is an open source software tool, written in Java, for generating simulations.
- Euler Mathematical Toolbox is a powerful numerical laboratory with a programming language that can handle real, complex and interval numbers, vectors and matrices. It can produce 2D/3D plots.
- DataMelt is a free data-analysis framework written in Java which uses Jython for scripting (although other Java scripting can also be used)
- FEATool is an easy to use multiphysics GUI toolbox for Matlab and Octave to solve PDEs with the Finite Element Method.
- FEniCS Project is a collection of project for automated solutions to PDEs.
- Hermes is a C++ library of advanced adaptive finite element algorithms to solve PDEs and multiphysics coupled problems.
- Fityk is a curve fitting and data analysis program. Primarily used for peak fitting and analyzing peak data.
- FlexPro is a commercial program for interactive and automated analysis and presentation of mainly measurement data. It supports many binary instrument data formats and has its own vectorized programming language.
- IGOR Pro, a software package with emphasis on time series, image analysis, and curve fitting. It comes with its own programming language and can be used interactively.
- LabPlot is a data analysis and visualization application built on the KDE Platform.
- MCSim a Monte Carlo simulation tool.
- Origin, a software package that is widely used for making scientific graphs. It comes with its own C/C++ compiler that conforms quite closely to ANSI standard.
- PAW is a free data analysis package developed at CERN.
- SPSS, an application for statistical analysis.
- QtiPlot is a data analysis and scientific visualisation program, similar to Origin.
- ROOT is a free object oriented multipurpose data analysis package, developed at CERN.
- Salome is a free software that provides a generic platform for pre- and post-processing for numerical simulation.
- Shogun, an open source Large Scale Machine Learning toolbox that provides several SVM implementations (like libSVM, SVMlight) under a common framework and interfaces to Octave, MATLAB, Python, R
- Waffles is a free-software collection of command-line tools designed for scripting machine learning operations in automated experiments and processes.
- Weka is a suite of machine learning software written at the University of Waikato.

## Language-oriented

- acslX is a software application for modeling and evaluating the performance of continuous systems described by time-dependent, nonlinear differential equations.
- ADMB is a software suite for non-linear statistical modeling based on C++ which uses automatic differentiation.
- AMPL is a mathematical modeling language for describing and solving high complexity problems for large scale optimization.
- Ch, a commercial C/C++ based interpreted language with computational array for scientific numerical computation and visualization.
^{[1]} - APMonitor: APMonitor is a mathematical modeling language for describing and solving representations of physical systems in the form of differential and algebraic equations.
- Armadillo is C++ template library for linear algebra; includes various decompositions, factorisations, and statistics functions; its syntax (API) is similar to MATLAB.
- DataMelt is scientific package which uses Jython to call numerical and graphical libraries written in Java
- Julia is designed for cloud parallel scientific computing in mind on LLVM-based JIT as a backend. Lightweight “green” threading (coroutines). Direct calls of C functions from code (no wrappers or special APIs needed), support for Unicode. Powerful shell-like capabilities for managing other processes. Lisp-like macros and other metaprogramming facilities.
- COMSOL Script for numerical computations and interactive partial differential equation solving with the finite element method; uses MATLAB-compatible syntax. Optionally connects to COMSOL Multiphysics.
- ELKI a software framework for development of data mining algorithms in Java.
- GAUSS, a matrix programming language for mathematics and statistics.
- GNU Data Language, a free compiler designed as a drop-in replacement for IDL.
- IDL, a commercial interpreted language based on FORTRAN with some vectorization. Widely used in the solar physics, fusion, atmospheric sciences and medical communities. The GNU Data Language is a free alternative.
- ILNumerics.Net, a C# math library that brings numeric computing functions for science, engineering and financial analysis to the .NET Framework.
- KPP generates Fortran 90, FORTRAN 77, C, or Matlab code for the integration of ordinary differential equations (ODEs) resulting from chemical reaction mechanisms.
- Madagascar, an open-source software package for multidimensional data analysis and reproducible computational experiments. [4]
- MLPACK is an open-source library for machine learning, providing a simple and consistent API, while exploiting C++ language features to provide maximum performance and flexibility
- NCAR Command Language is an interpreted language designed specifically for scientific data analysis and visualization.
- O-Matrix - a matrix programming language for mathematics, engineering, science, and financial analysis.
- OptimJ is a mathematical Java-based modeling language for describing and solving high complexity problems for large scale optimization.
- Perl Data Language, also known as PDL, an array extension to Perl ver.5, used for data manipulation, statistics, numerical simulation and visualization.
- R is a widely used system with a focus on data manipulation and statistics which implements the S language. Many add-on packages are available (free software, GNU GPL license).
- SAS, a system of software products for statistics
- VisSim is a visual block diagram language for simulation of nonlinear dynamic systems and model based embedded development. Its fast ODE engine supports real-time simulation of complex large scale models. The highly efficient fixed point code generator allows targeting of low cost fixed-point embedded processors.
- World Programming System (WPS), supports the SAS language for statistics
- Yorick is an interpreted programming language designed for numerics, graph plotting and simulation.

## Historically significant

- Expensive Desk Calculator written for the TX-0 and PDP-1 in the late 1950s or early 1960s.
- S is an (array-based) programming language with strong numerical support. R language is a continuation of S project.

## See also

- List of numerical libraries
- Comparison of numerical analysis software
- List of graphing software
- Mathematical software
- List of statistical packages
- Web based simulation
- Lists of software