Comparison of numerical-analysis software
Jump to navigation
Jump to search
Template:Short description Template:Use mdy dates Script error: No such module "Unsubst".
The following tables provide a comparison of numerical analysis software.
Applications
General
| Creator | Development started | First public release | Latest stable version | Stable release date | Cost (USD) | License | Notes | |
|---|---|---|---|---|---|---|---|---|
| ADMB | David Fournier, ADMB Project | 1989 | 1990 | 13.1 | Template:Dts | Free | BSD 3-clause (aka new) | Automatic differentiation makes it well suited to complex minimization problems |
| Analytica | Lumina Decision Systems | 1982 (Demos) | 4.6 | Template:Dts | Free (Analytica Free 101), $995 (professional), $2795 (enterprise) | Proprietary | A numerical modeling environment with a declarative and visual programming language based on influence diagrams. | |
| Ch | SoftIntegration | Template:Dts | 7.5.1 | Template:Dts | $399 (commercial), $199 (academic), Free (student) | Proprietary | C/C++ based numerical computing and graphical plotting[1] | |
| DADiSP | DSP Development | 1984 | 1987 | 6.7 B02 | Template:Dts | $1995 (commercial), $129 (academic), Free (student) | Proprietary | Numeric computations for science and engineering featuring a spreadsheet like interface. |
| Dyalog APL | Dyalog Ltd. | 1981 | 1983 | 18.0 | Template:Dts | Not free (commercial), Free (non-commercial) | Proprietary | A modern dialect of APL, enhanced with features for functional and object-oriented programming. |
| Euler Math Toolbox | René Grothmann | 1987 | 1988 | 2022-02-10 | Template:Dts | Free | GPL | Also a computer algebra system through interface with Maxima |
| Fityk | Marcin Wojdyr | 2002 | 1.3.1 | Template:Dts | $115 (1.x binaries), Free (source code and 0.x binaries) | GPL | interactive graphics, scriptable, specialized in curve fitting and peak fitting, 2D only | |
| FlexPro | Weisang GmbH | n/a | 1991 | 2019 (12.0.x) | 2018 | Not free (commercial), Free (academic) | Proprietary | Dynamic, interactive 2D/3D diagrams, programmable, VBA, high performances, multicore compatible, large data sets. |
| FreeMat | Samit Basu | 2004 | 4.2 | Template:Dts | Free | GPL | Codeless interface to external C, C++, and Fortran code. Mostly compatible with MATLAB. | |
| GAUSS | Aptech Systems | 1984 | 21 | Template:Dts | Not free | Proprietary | ||
| GNU Data Language | Marc Schellens | 2004 | 1.0.2 | Template:Dts | Free | GPL | Aimed as a drop-in replacement for IDL/PV-WAVE | |
| IBM SPSS Statistics | Norman H. Nie, Dale H. Bent, and C. Hadlai Hull | 1968 | 23.0 | Template:Dts | Not free | Proprietary | Primarily for statistics | |
| GNU MCSim | Frederic Y. Bois & Don Maszle | 1991 | 1993 | 6.0.0 | Template:Dts | Free | GPL | General simulation and Monte Carlo sampling software |
| GNU Octave | John W. Eaton | 1988 | 1993 | 7.3.0 | Template:Dts | Free | GPL | General numerical computing package with many extension modules. Syntax mostly compatible with MATLAB |
| IGOR Pro | WaveMetrics | 1986 | 1988 | 8.00 | Template:Dts | $995 (commercial) $225 upgrade, $499 (academic) $175 upgrade, $85 (student) | Proprietary | interactive graphics, programmable, 2D/3D, used for science and engineering, large data sets. |
| imc FAMOS | imc Test & Measurement | 1988 | 1989 | 2024 R2 | April 29, 2024 | Not free (commercial), Free (academic) | Proprietary | Solving differential equations, nonlinear approximations, Monte-Carlo calculations, engineering math, interactive plots, Python and R interface |
| J | Jsoftware | 1989 | 1990 | J9.5.1 | Template:Dts | Free | GPL | online access to: J Application Library (JAL) |
| Julia | Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman | 2009 | 2012 | 1.11.2 | Template:Dts | Free | MIT License | A fast,[2][3][4] high-level numerical computing language. |
| LabPlot | Stefan Gerlach, Alexander Semke, KDE | 2001 | 2003 | 2.11.1 | Template:Dts | Free | GPL-2.0-or-later | 2D plotting, suitable for creation of publication-ready plots but also for data visualization and exploration, data import from many formats(ASCII, binary, HDF5, FITS, JSON, etc.), export to vector and raster images, data analysis (nonlinear curve fitting in 2D, FFT, smoothing, integration and differentiation, etc.), digitizing of raster images, live data plotting, support for different CAS like Maxima, Octave, R, etc. |
| LabVIEW | National Instruments | 1985 | 1986 | 2016 | Template:Dts | $1249 (commercial), $79.95 (student) | Proprietary | Graphical, and textual through formula nodes, mathscript and .m file scripts[5] |
| Maple | Maplesoft | 1980 | 1982 | Template:Latest stable software release/Maple | Template:Dts | $2390 (commercial), $239 (personal), $99 (student) | Proprietary | Mainly a computer algebra system |
| Mathcad | Parametric Technology Corporation | 1985 | 1986 | 15.0; Prime 4.0[6] | Template:Dts | $1195 (commercial), $99 (student) | Proprietary | |
| Mathematica | Wolfram Research | 1986 | 1988 | Template:Latest stable software release/Mathematica | Template:Dts | Free (Raspberry Pi[7]), Free Cloud Access, $3320 (commercial), $399 (personal), $75/year (student)[8] | Proprietary | Also computer algebra system |
| MATLAB | MathWorks | late 1970s | 1984 | 9.12 (R2022a) | Template:Dts | $2150 (standard), $500 (education), $149 (home), $49 (student) | Proprietary | Numerical computation and simulation with extended 2D/3D visualization. Emphasis on vectorised processing. |
| Maxima | MIT Project MAC and Bill Schelter et al. | 1967 | 1982 | 5.47.0 | Template:Dts | Free | GPL | Mainly a computer algebra system |
| MLAB | Civilized Software, Inc. | 1970 (in SAIL), 1985 (in C) | 1972 (on DEC-10), 1988 (on PCs), 1993 (on MACs) | 2015 | Template:Dts | $2250 (standard), $50 (student) | Proprietary | Numerical and Statistical computation for Scientific Applications, e.g. Chemical Kinetics. ODE Solving and Curve-Fitting. Symbolic Differentiation, Survival Analysis, Cluster Analysis, 2D/3D Graphics. |
| Origin | OriginLab | 1991 | 2019b | Template:Dts | $1095 (std.)/$1800 (Pro) $550 (std., academic) $850 (Pro, academic) $69/yr. (Pro, student) |
Proprietary | Integrated data analysis graphing software for science and engineering. Flexible multi-layer graphing framework. 2D, 3D and statistical graph types. Built-in digitizing tool. Analysis with auto recalculation and report generation. Built-in scripting and programming languages. | |
| Perl Data Language | Karl Glazebrook | 1996 | c. 1997 | 2.080 | Template:Dts | Free | Artistic License | Used for astrophysics, solar physics, oceanography, biophysics, and simulation. 2D plotting via PGPLOT, PLPlot bindings; 3D via GL. |
| PSPP | Ben Pfaff | 1990s | 1990s | 1.2.0 | Template:Dts | Free | GPL v.3 or later | FOSS statistics program, intended as an alternative to IBM SPSS Statistics. |
| R | R Foundation | 1997 | 1997 | 4.3.2 | Template:Dts | Free | GPL | Primarily for statistics, but there are many interfaces to open-source numerical software |
| SageMath | William Stein | 2005 | 10.2 | Template:Dts | Free | GPL | Programmable, includes computer algebra, 2D+3D plotting. Interfaces to many open-source and proprietary software. Web based interface HTTP or HTTPS | |
| SAS | Anthony Barr, James Goodnight | 1966 | 1972 | 10.2 | Template:Dts | Not free | Proprietary | Mainly for statistics |
| SequenceL | Texas Multicore Technologies | 1989 | 2012 | 2.4 | Template:Dts | Free (Community Edition), $2495 (Professional Edition) | Proprietary | Functional programming language and tools. |
| S-Lang | John E. Davis | 1992 | 2.3.0 | Template:Dts | Free | GPL, Artistic License (1.x only) | Available as a standalone (slsh) and embedded interpreter (jed, slrn, ...) | |
| Scilab | ESI Group
Was:Inria |
1990 | 1994 | 2024.0.0 | Template:Dts | Free | GPL | Programmable, direct support of 2D+3D plotting. Interfaces to many other software packages. Interfacing to external modules written in C, Java, Python or other languages. Language syntax similar to MATLAB. Used for numerical computing in engineering and physics. |
| Smath Studio | SMath LLC
(Andrey Ivashov) |
2006 | 1.0.8348 | Template:Dts | Free | Creative Commons Attribution-NoDerivs (CC-BY-ND) | Mathematical notebook program, similar to Mathcad, with support for Plugins (e.g. Maxima plugin available) | |
| Sysquake | Calerga | 1998 | 6.5 | Template:Dts | free, $2500 (Pro, commercial), $1000 (Pro, academic) | Proprietary | interactive graphics | |
| TK Solver | Universal Technical Systems, Inc. | late 1970s | 1982 | 6.0.152 | Template:Dts | $599 commercial, $49 (student) | Proprietary | Numerical computation and rule-based application development |
| VisSim | Visual Solutions | 1989 | 10.1 | Template:Dts | $495-$2800 (commercial) free view-only version $50-$250/free v3.0 (academic) |
Proprietary | Visual language for simulation and Model Based Design. Used in business, science and engineering. Performs complex scalar or matrix based ODE solving with parametric optimization. Has 2D and 3D plotting, 3D animation, and state transition built in. | |
| Yorick | n/a | n/a | n/a | 9 | Template:Dts | Free | GPL | Programmable, callable 2D+3D plotting. Language syntax similar to C. Interfacing to other software packages via C calls. |
Operating system support
The operating systems the software can run on natively (without emulation).
| Windows | macOS | Linux | BSD | Unix | DOS | Android | SaaS | |
|---|---|---|---|---|---|---|---|---|
| ADMB | Yes | Yes | Yes | No | No | No | No | No |
| Analytica | Yes | No | No | No | No | No | No | No |
| Ch | Yes | Yes | Yes | Yes | Yes | No | No | No |
| Dyalog APL | Yes | Yes | Yes | No | Yes | No[Note 4] | No | No |
| DADiSP | Yes | No | No | No | Yes | No | No | No |
| Euler Math Toolbox | Yes | No | Yes | No | No | No | No | No |
| FlexPro | Yes | No | No | No | No | No | No | No |
| FreeMat | Yes | Yes | Yes | Yes | Yes | No | No | No |
| GAUSS | Yes | Yes | Yes | No | Yes | No | No | No |
| GNU Data Language | Yes | Yes | Yes | Yes | Yes | No | No | No |
| GNU MCSim | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| GNU Octave | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| IGOR Pro | Yes | Yes | No | No | No | No | No | No |
| imc FAMOS | Yes | No | No | No | No | No | No | No |
| Julia | Yes | Yes | Yes | Yes | No | No | No | Yes |
| LabPlot | Yes | Yes | Yes | Yes | Yes | No | No | No |
| LabVIEW | Yes | Yes | Yes | No | Yes | No | No | No |
| Maple | Yes | Yes | Yes | No | Yes | No | No | No |
| Mathematica | Yes | Yes | Yes | Yes | Yes | No | No | Yes |
| MATLAB | Yes | Yes | Yes | Yes | Yes | No | No | No |
| MLAB | Yes | Yes | Yes | No | No | Yes | No | No |
| Origin | Yes | No | No | No | No | No | No | No |
| Perl Data Language | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
| R | Yes | Yes | Yes | Yes | Yes | No | No | No |
| SageMath | Yes | Yes | Yes | No | Yes | No | No | Yes |
| SAS | Yes | No | Yes | No | Yes | No | No | No |
| SequenceL | Yes | Yes | Yes | No | No | No | No | No |
| S-Lang | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
| Scilab | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
| Smath Studio | Yes | ? | Yes | ? | ? | No | Yes | No |
| Sysquake | Yes | Yes | Yes | No | No | No | No | No |
| TK Solver | Yes | No | No | No | No | No | No | No |
| The Unscrambler | Yes | No | No | No | No | No | No | No |
| VisSim | Yes | Yes | Yes | No | Yes | No | No | No |
Language features
Colors indicate features available as
| basic system abilities |
| official or officially supported extensions and libraries |
| third-party software components or not supported |
| Standalone executables creation support | Symbolic computation support | OOP support | GUI creation support | Multi-dimensional arrays as primitive data type | Centralized extension library website | Can call code in other languages | Can be called from other languages | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Analytica | No | No | Yes | Yes | Yes | Yes | COM, Excel | Excel, COM, .NET | |||||||
| Dyalog APL | Yes[9] | Yes | Yes[10] | Win32, .NET, WPF, HTML/JS | Yes | Yes | COM, .NET, WebServices, Shared Libraries, DLLs, NAG, R, JavaScript[11] | COM, .NET, WebServices[11] | |||||||
| GNU Data Language | No | No | Yes | GUI Widgets since v.0.9 but still incomplete | Yes | No | C, Python | Python | |||||||
| GNU MCSim | Yes | No | No | XMCSim with TCL/TK and wish | No | No | C | R | |||||||
| GNU Octave | Yes with mkoctfile | Wrappers to SymPy | Yes[12] | Yes | Yes | Yes[13] | C, C++, Fortran,[14] Perl,[15] Python, Tcl[16] | Java,[17] Perl,[15] C, C++,[18] Python | |||||||
| J | No | Yes | Yes | Yes | Yes | Yes | JavaScript | JavaScript, C, Python | |||||||
| imc FAMOS | No | No | No | Yes | No | No | Python, R, C++ | .Net | |||||||
| Julia | Yes | Wrappers to SymPy, SymEngine and others | Yes | Yes | Yes | Yes |
|
C, C++, Python, R | |||||||
| LabVIEW |
|
No |
|
Yes | Yes | Yes[23] |
|
Yes[28] | |||||||
| Maple | No | Yes | Yes[29] | Yes | Yes | Yes[30] | C, C#, Fortran | MATLAB,[31] Excel,[32] Visual Basic, Java, and C[33] | |||||||
| Mathematica | Yes[34] | Yes | Yes | Yes | Yes | Yes[35] | Java, .NET, C++, Fortran, CUDA, OpenCL, R, Python, SQL, SPARQL, NodeJS, Julia |
| |||||||
| MATLAB | with extension[44] | with extension library[45] | Yes[46] | Yes | Yes | Yes[47] |
|
.NET,[49] Java,[50] Excel[51] | |||||||
| Maxima | No | Yes | No | No | Yes | No | Common Lisp | Common Lisp | |||||||
| MLAB | No | Yes | No | Yes | Yes | No | No | No | |||||||
| PDL | Yes[52] | No | Yes[53] | Yes[54] | Yes | Yes[55] | C via perlXS; C, Python, F77, etc. via Inline | Perl, C[56] | |||||||
| Python | Py2exe, Py2App, PyInstaller, cxFreeze, etc. | SymPy & others | Yes inherently object-oriented |
|
Numpy | PyPI | C, C++, Fortran, many others | C, C++, Fortran, many others | |||||||
| R | No | Yes and extended via Ryacas package | Yes[57] | Via the tcltk library | Yes | Yes[58] |
|
| |||||||
| SageMath | No | Yes | Yes | No | Yes | Yes[65] | Many languages[66][67][68] | Yes (any language that can call Python) | |||||||
| SAS | No | No | DS2 and SCL | Yes | No | No |
|
No | |||||||
| TK Solver | with extension | No | Yes | with extension | Yes | Yes | .NET Excel | Unknown |
Libraries
General
| Creator | Language | First public release | Latest stable version | Cost (USD) | License | Notes | |
|---|---|---|---|---|---|---|---|
| ALGLIB | Sergey Bochkanov | C++, C#, Python, FreePascal | 2006 | 3.19.0, June 2022 | Dual licensed | GPL/commercial | General purpose numerical analysis library. Cross-platform (Windows, *nix). |
| Armadillo | NICTA | C++ | 2009 | 3.900, 2013 | Free | MPL | C++ template library for linear algebra; includes various decompositions and factorisations; syntax (API) is similar to MATLAB. |
| GNU Scientific Library | GNU Project | C | 1996 | 2.7, 1 June 2021 | Free | GPL | General purpose numerical analysis library. Targets Linux, can be built on almost any *nix OS with Ansi C compiler. |
| ILNumerics | H. Kutschbach | C#, PowerShell | 2007 | 1.3.14, August 2008 | Non-free | Proprietary | aims .Net/mono, 2D/3D plottings (beta) |
| IMSL Numerical Libraries | Rogue Wave Software | C, Java, C#, Fortran, Python | 1970 | many components | Not free | Proprietary | General purpose numerical analysis library. |
| Math.NET Numerics | C. Rüegg, M. Cuda, et al. | C#, F#, C, PowerShell | 2009 | 4.7.0, November 2018 | Free | MIT/X11 | General purpose numerical analysis and statistics library for the .NET framework and Mono, with optional support for native providers. |
| NAG Numerical Library | The Numerical Algorithms Group | C, Fortran | 1971 | many components | Not free | Proprietary | General purpose numerical analysis library. |
| NMath | CenterSpace Software | C# | 2003 | 6.2, March 2016 | $995 | Proprietary | Math and statistical libraries for .NET framework |
| SciPy | scipy.org community | Python | 2001 | 1.5.3, 17 October 2020 | Free | BSD | Adds numerical programming abilities to Python language. Related to NumPy, and thus connected to prior Numeric and Numarray packages for Python |
Operating-system support
The operating systems the software can run on natively (without emulation).
| Windows | macOS | Linux | BSD | Unix | DOS | Android | |
|---|---|---|---|---|---|---|---|
| ALGLIB | Yes | Yes | Yes | Yes | Yes | No | Yes |
| GNU Scientific Library | Yes | Yes | Yes | Yes | Yes | No | Yes |
| ILNumerics | Yes | Yes | Yes | Yes | Yes | No | No |
| IMSL Numerical Libraries | Yes | Yes | Yes | No | Yes | No | No |
| Math.NET Numerics | Yes | Yes | Yes | Yes | Yes | No | No |
| NAG Numerical Library | Yes | Yes | Yes | No | Yes | Yes | No |
| NMath | Yes | No | No | No | No | No | No |
| SciPy (Python packages) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
See also
- Comparison of computer algebra systems
- Comparison of deep-learning software
- Comparison of statistical packages
- List of numerical-analysis software
Footnotes
<templatestyles src="Reflist/styles.css" />
- ↑ Julia allows direct calls of C functions (no wrappers needed). Designed for cloud parallel computing with LLVM just-in-time compilation (JIT) as a backend. Lightweight "green" threading (coroutines). Efficient support for Unicode. Shell-like abilities to manage other processes. Lisp-like macros and other metaprogramming facilities.
- ↑ Abilities of PSPP include analysis of sampled data, frequencies, cross-tabs comparison of means (t-tests and one-way ANOVA); linear regression, logistic regression, reliability (Cronbach's Alpha, not failure or Weibull), and re-ordering data, non-parametric tests, factor analysis, cluster analysis, principal components analysis, chi-square analysis and more.
- ↑ SequenceL delivers high performance on multicore hardware with ease of programming, and code clarity/readability. Designed to work with other languages, including C, C++, C#, Java, Fortran, Python, etc. Can be compiled to multithreaded C++ (and optionally OpenCL) code with no explicit indications from the programmer of how or what to parallelize. A platform-specific runtime manages the threads safely.
- ↑ Once was supported
Script error: No such module "Check for unknown parameters".
References
<templatestyles src="Reflist/styles.css" />
- ↑ Ch Scientific Numerical Computing
- ↑ "Julia in a Nutshell", from the official Julia homepage. Accessed 2019-01-25.
- ↑ Sai K. Popuri and Matthias K. Gobbert. A Comparative Evaluation of Matlab, Octave, R, and Julia on Maya. Technical Report HPCF-2017-03, UMBC High Performance Computing Facility, University of Maryland, U.S.A., 2017. Accessed 2019-01-25.
- ↑ Jules Kouatchou; Basic Comparison of Python, Julia, Matlab, IDL and Java (2018 Edition) Version 74. NASA Modeling Guru, Technical Report DOC-2676. Created on: 5-Feb-2018. Last Modified: 14-Sep-2018. Accessed 2019-01-25.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Mathematica License Pricing Options Wolfram.com, February 2024
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ library.wolfram.com
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Haskell packages
- ↑ Script error: No such module "citation/CS1".
- ↑ MrMathematica website
- ↑ Mathematica for ActivX
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".