Comparison of numerical analysis software

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The following tables provide a comparison of numerical analysis software.

Applications[edit]

General[edit]

Creator Development started First public release Latest stable version Stable release date Cost (USD) License Notes
ADMB David Fournier, ADMB Project 1989 1990 12.0 21 December 2017 Free BSD 3-clause (aka new) License Automatic differentiation makes it well suited to complex minimization problems
Analytica Lumina Decision Systems 1982 (Demos) 4.6 May 2015 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 1 October 2001 7.5.1 2 December 2015 $399 (commercial) / $199 (academic) / Free (student) Proprietary C/C++ based numerical computing and graphical plotting[1]
DADiSP DSP Development 1984 1987 6.7 B02 17 January 2017 $1995 (commercial) / $129 (academic) / Free (student) Proprietary Numeric computations for science and engineering featuring a spreadsheet like interface.
Dyalog APL Dyalog Ltd. 1981 1983 17.0 23 July 2018 £850/year or 2% royalty (free for non-commercial use) Proprietary A modern dialect of APL, enhanced with features for functional and object-oriented programming.
Euler Math Toolbox René Grothmann 1987 1988 2018-11-16 16 November 2018 Free GPL Also a computer algebra system through interface with Maxima
Fityk Marcin Wojdyr 2002 1.3.1 19 December 2016 $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 2017 2017 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 30 June 2013 Free GPL Codeless interface to external C, C++, and Fortran code. Mostly compatible with MATLAB.
GAUSS Aptech Systems 1984 17 22 December 2016 Not free Proprietary
GNU Data Language Marc Schellens 2004 0.9.7 21 January 2017 Free GPL Aimed as a drop-in replacement for IDL/PV-WAVE
IBM SPSS Statistics Normal H. Nie, Dale H. Bent, and C. Hadlai Hull 1968 23.0 3 March 2015 Not free Proprietary Primarily for statistics
GNU MCSim Frederic Y. Bois & Don Maszle 1991 1993 6.0.0 24 February 2018 Free GPL General simulation and Monte Carlo sampling software
GNU Octave John W. Eaton 1988 1993 4.4.1 9 August 2018 Free GPL General numerical computing package with lots of extension modules. Syntax mostly compatible with MATLAB
IGOR Pro WaveMetrics 1986 1988 7.00 26 July 2016 $995 (commercial) $225 upgrade / $499 (academic) $175 upgrade / $85 (student) Proprietary interactive graphics, programmable, 2D/3D, used for science and engineering, large data sets.
J Jsoftware 1989 1990 J806 12 November 2017 Free GPL online access to: J Application Library (JAL)
Julia Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other[2] contributors 2009 2012 1.1.0 21 January 2019 Free MIT License A fast[3][4][5], high-level numerical computing language.

[Note 1]

LabVIEW National Instruments 1985 1986 2016 August 2016 $1249 (commercial) / $79.95 (student) Proprietary Graphical, and textual through formula nodes, mathscript and .m file scripts[6]
Maple Maplesoft 1980 1982 2018 21 March 2018 $2275 (commercial) / $99 (student) Proprietary Mainly a computer algebra system
Mathcad Parametric Technology Corporation 1985 1986 15.0 ; Prime 4.0[7] 2 March 2015 $1195 (commercial) / $99 (student) Proprietary
Mathematica Wolfram Research 1986 1988 11.3.0 (March 8, 2018; 10 months ago (2018-03-08)) [±][8] 8 March 2018 Free (Raspberry Pi[9]), Free Cloud Access, $2495 (commercial) / $145 (student) / $295 (personal)[10] Proprietary Also computer algebra system
MATLAB MathWorks late 1970s 1984 9.5 (R2018b) 12 September 2018 $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.41.0 3 October 2017 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 2015 $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 2016 22 May 2017 $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 2019 5 May 2018 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 6 November 2018 Free GPL v.3 or later FOSS statistics program, intended as an alternative to IBM SPSS Statistics.

[Note 2]

R R Foundation 1997 1997 3.5.2 20 December 2018 Free GPL Primarily for statistics, but there are many interfaces to open-source numerical software
SageMath William Stein 2005 8.6 (15 January 2019; 23 days ago (2019-01-15)) [±][11] 15 January 2019 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 and James Goodnight 1966 1972 9.4 10 July 2014 Not free Proprietary Mainly for statistics
SequenceL Texas Multicore Technologies 1989 2012 2.4 10 February 2016 Free (Community Edition), $2495 (Professional Edition) Proprietary Functional programming language and tools.

[Note 3]

S-Lang John E. Davis 1992 2.3.0 18 September 2014 Free GPL, Artistic License (1.x only) Available as a standalone (slsh) and embedded interpreter (jed, slrn, ...)
Scilab Scilab Enterprises Was:Inria 1990 1994 6.0.1 15 February 2018 Free CeCILL license 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.
Sysquake Calerga 1998 5.0 2013 free / $2500 (Pro, commercial) / $1000 (Pro, academic) Proprietary interactive graphics
TK Solver Universal Technical Systems, Inc. late 1970s 1982 5.0.141 2011 $399 commercial / $49 (student) Proprietary Numerical computation and rule-based application development
VisSim Visual Solutions 1989 10.1 January 2011 $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 January 2015 Free GPL Programmable, callable 2D+3D plotting. Language syntax similar to C. Interfacing to other software packages via C calls.

Operating system support[edit]

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[12] 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 Yes Yes Yes
IGOR Pro Yes Yes No No No No No No
Julia Yes Yes Yes Yes No 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
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[edit]

Colors indicate features available as

basic system capabilities
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[13] Yes Yes[14] Win32, .NET, WPF, HTML/JS Yes Yes COM, .NET, WebServices, Shared Libraries, DLLs, NAG, R, JavaScript[15] COM, .NET, WebServices[15]
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 only with GiNaC extension Yes[16] GUI Octave code could be used[17], although this "is no longer available"[18] Yes Yes[19] C++, Fortran,[20] Perl,[21] Tcl[22] Java,[23] Perl,[21] C++[24]
J No Yes Yes Yes Yes Yes JavaScript JavaScript
Julia No No Yes Yes Yes Yes
C, Fortran
Python, C++, Java, MATLAB
C/C++
LabVIEW
Professional System version
With add-on[25]
No
Yes[26]
GOOP[27]
G#[28]
Yes Yes Yes[29]
C/C++,[30] DLLs, Python,[31] Perl, Tcl,[32] MATLAB, ActiveX, C#/.NET
With add-ons. I.e.[33]
Yes[34]
Maple No Yes Yes[35] Yes Yes Yes[36] C, C#, Fortran MATLAB,[37] Excel,[38] VisualBasic, Java, and C[39]
Mathematica Yes[40] Yes Yes Yes Yes Yes[41] Java, .NET, C++, Fortran, CUDA, OpenCL, R, Python
Java, .NET, C++
Excel,[42] LabVIEW[43]
Haskell,[44] AppleScript,[45] Racket,[46] Visual Basic,[47] Python[48][49]Clojure[50] MATLAB[51]
MATLAB with extension[52] with extension library[53] Yes[54] Yes Yes Yes[55]
Through MEX[56] files: C, C++, Fortran. Also compiled Java and ActiveX components.
Mathematica[51]
.NET,[57] Java,[58] Excel[59]
MLAB No Yes No Yes Yes No No No
PDL Yes[60] No Yes[61] Yes[62] Yes Yes[63] C via perlXS; C, Python, F77, etc. via Inline Perl, C[64]
R No Yes and extended via Ryacas package Yes[65] Via the tcltk library Yes Yes[66]
C, C++, Fortran[67]
MATLAB[68]
Python[69]
Excel[70]
Python[71]
SAS[72]
SageMath No Yes Yes No Yes Yes[73] Many languages[74][75][76] Yes (any language that can call Python)
SAS No No DS2 and SCL Yes No No
C, Java
R (requires IML)
No
TK Solver with extension No Yes with extension Yes Yes .NET Excel Unknown

Libraries[edit]

General[edit]

Creator Language First public release Latest stable version Cost (USD) License Notes
ALGLIB Sergey Bochkanov C++, C#, FreePascal 2006 3.12.0 / August 2017 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.5 / 14 June 2018 Free GPL General purpose numerical analysis library. Targets GNU/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 the .NET Framework
SciPy scipy.org community Python 2001 1.0.0 / 25 October 2017 Free BSD Adds numerical programming capabilities to the Python programming language. Related to NumPy, and therefore connected to the previous Numeric and Numarray packages for Python

Operating system support[edit]

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 No

See also[edit]

Footnotes[edit]

  1. ^ Julia allows direct calls of C functions (no wrappers needed). Designed for cloud parallel computing with LLVM JIT as a backend. Lightweight "green" threading (coroutines). Efficient support for Unicode. Shell-like capabilities for managing other processes. Lisp-like macros and other metaprogramming facilities.
  2. ^ Capabilities 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.
  3. ^ 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.


References[edit]

  1. ^ Ch Scientific Numerical Computing
  2. ^ Contributors to JuliaLang/julia - GitHub
  3. ^ "Julia in a Nutshell", from the official Julia homepage. Accessed 2019-01-25.
  4. ^ 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.
  5. ^ Jules Kouatchou; Basic Comparison of Python, Julia, Matlab, IDL and Java (2018 Edition) Version 74. NASA Modeling Guru, Technical Report DOC-2676. Created on: 05-Feb-2018. Last Modified: 14-Sep-2018Accessed 2019-01-25.
  6. ^ National Instruments. "Working with .m File Scripts in NI LabVIEW for Text Based Signal Processing, Analysis, and Math". Retrieved 3 April 2017.
  7. ^ "PTC Mathcad Prime 4.0 | PTC". Retrieved 2018-08-12.
  8. ^ "Mathematica Quick Revision History". Retrieved 2018-03-08.
  9. ^ Raspberry Pi now includes Mathematica and Wolfram Language for free
  10. ^ Mathematica Home Edition Released Macworld, February 2009
  11. ^ "SageMath". sagemath.org. Retrieved 2019-01-24.
  12. ^ Once was supported
  13. ^ "Dyalog APL Users Guide" (PDF).
  14. ^ "An Introduction to Object Oriented Programming for APL programmers".
  15. ^ a b "Dyalog APL Interface Guide" (PDF).
  16. ^ "GNU Octave: Object Oriented Programming". Retrieved 18 May 2011.
  17. ^ Varandas, Joaquim. "GUI Octave". Retrieved 18 May 2011.
  18. ^ ""Octave FAQ"". Retrieved 2019-01-25.
  19. ^ "Octave-Forge". Retrieved 18 May 2011.
  20. ^ "Octave Wiki: OctaveFortran". Retrieved 18 May 2011.
  21. ^ a b "Octave Wiki: OctavePerl". Retrieved 18 May 2011.
  22. ^ "Octave Wiki: OctaveTcl". Retrieved 18 May 2011.
  23. ^ "Octave Wiki: OctaveJava". Retrieved 18 May 2011.
  24. ^ "Octave Wiki: CategoryExternal". Retrieved 18 May 2011.
  25. ^ National Instruments. "LabVIEW Application Builder". Retrieved 3 April 2017.
  26. ^ National Instruments. "LabVIEW Object-Oriented Programming". Retrieved 3 April 2017.
  27. ^ National Instruments. "NI GOOP Development Suite". Retrieved 3 April 2017.
  28. ^ National Instruments. "G# Framework". Retrieved 3 April 2017.
  29. ^ National Instruments. "LabVIEW Tools Network". Retrieved 3 April 2017.
  30. ^ National Instruments. "Calling External Code From LabVIEW". Retrieved 3 April 2017.
  31. ^ National Instruments. "Call Perl and Python Scripts from LabVIEW". Retrieved 3 April 2017.
  32. ^ National Instruments. "Introduction to Scripting in Perl, Python and Tcl". Retrieved 3 April 2017.
  33. ^ "Lua for LabVIEW". Retrieved 3 April 2017.
  34. ^ National Instruments. "Calling LabVIEW VIs from Other Programming Languages". Retrieved 3 April 2017.
  35. ^ Maplesoft. "Object-Oriented Programming, Polymorphism, and More in Maple 9.5". Retrieved 18 May 2011.
  36. ^ "Maple Application Center".
  37. ^ "MAPLE: MATLAB® Connectivity". Retrieved 18 May 2011.
  38. ^ "Maple and Excel".
  39. ^ Maplesoft. "OpenMaple API for VisualBasic and Java". Retrieved 18 May 2011.
  40. ^ Wolfram Research. "C Code Generation User Guide". Retrieved 19 May 2011.
  41. ^ library.wolfram.com
  42. ^ Wolfram Research. "Mathematica Link for Excel 3.2". Retrieved 18 May 2011.
  43. ^ "Mathematica Link for LabVIEW 2.1". Retrieved 18 May 2011.
  44. ^ Haskell packages
  45. ^ Unisoftware plus
  46. ^ MrMathematica website
  47. ^ Mathematica for ActivX
  48. ^ Pythonika MathLink module for Python Archived July 29, 2010, at the Wayback Machine
  49. ^ PYML (Python Mathematica interface)
  50. ^ "Clojuratica". clojuratica.weebly.com. 2013. Retrieved 14 June 2013.
  51. ^ a b "Mathematica Symbolic Toolbox for MATLAB--Version 2.0". Retrieved 18 May 2011.
  52. ^ Mathworks. "MATLAB Compiler". Retrieved 18 May 2011.
  53. ^ Mathworks. "Symbolic Math Toolbox". Retrieved 18 May 2011.
  54. ^ Mathworks. "Object-Oriented Programming in MATLAB". Retrieved 18 May 2011.
  55. ^ "MATLAB File Exchange". Retrieved 18 May 2011.
  56. ^ Mathworks. "MEX-files Guide". Retrieved 18 May 2011.
  57. ^ Mathworks. "MATLAB Builder NE for Microsoft .NET Framework". Retrieved 18 May 2011.
  58. ^ Mathworks. "MATLAB Builder JA for Java language". Retrieved 18 May 2011.
  59. ^ "MATLAB Builder EX for Microsoft Excel". Retrieved 18 May 2011.
  60. ^ "Perlmonks". Retrieved 24 January 2013.
  61. ^ "O'Reilly tutorial". Retrieved 24 January 2013.
  62. ^ "PerlTK tutorial". Retrieved 24 January 2013.
  63. ^ "CPAN". Retrieved 24 January 2013.
  64. ^ "Calling Perl from C". Retrieved 24 January 2013.
  65. ^ R Development Core Team (13 April 2011). "Object-oriented programming". R Language Definition. ISBN 3-900051-13-5. Retrieved 18 May 2011.
  66. ^ "CRAN: Contributed Packages". Retrieved 18 May 2011.
  67. ^ Hornik, Kurt (2011). The R FAQ. ISBN 3-900051-08-9.
  68. ^ Bengtsson, Henrik; Jason Riedy. "CRAN: R.matlab package". Retrieved 18 May 2011.
  69. ^ Grothendieck, G.; Carlos J. Gil Bellosta. "rJython R package". Retrieved 18 May 2011.
  70. ^ Neuwirth, Erich. "CRAN: RExcelInstaller package". Archived from the original on May 25, 2011. Retrieved May 18, 2011.
  71. ^ "A simple and efficient access to R from Python". Retrieved 18 May 2011.
  72. ^ "R Interface Now Available in SAS/IML Studio". Retrieved 10 October 2016.
  73. ^ "Additional Packages". Retrieved 5 June 2013.
  74. ^ "Interpreter Interfaces". Retrieved 6 June 2013.
  75. ^ "C/C++ Library Interfaces". Retrieved 6 June 2013.
  76. ^ "Using Compiled Code Interactively". Retrieved 6 June 2013.