Comparison of numerical analysis software

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

The following tables provide a comparison of numerical analysis software.

Applications[edit]

General[edit]

Creator Development started First public release Latest stable version Cost (USD) License Notes
ADMB D. Fournier, ADMB Project 11 / 2012 Free BSD 3-clause (aka new) License Automatic differentiation makes it well suited to complex minimization problems
Ch SoftIntegration 2001 7.0 / 2012 $399 (commercial) / $199 (academic) / Free (student) Proprietary C/C++ based numerical computing and graphical plotting[1]
Data Analyser MadArtSoft MadArtSoft Ltd. 2011 2011 1.2 / 2011 Not free Proprietary Numeric computation for business featuring. import data from any data source. Cube OLAP, generate reports, predictions, forecasts.
DADiSP DSP Development 1984 1986 6.5 / 2010 $1995 (commercial) / $129 (academic) / Free (student) Proprietary Numeric computations for science and engineering featuring a spreadsheet like interface.
Dyalog APL Dyalog Ltd. 1981 1983 13.2 / January 2013 £850/year or 2% royalty (non-commercial £50, edu / unreg Free) Proprietary A modern dialect of APL, enhanced with features for functional and object-oriented programming.
Euler Math Toolbox R. Grothmann 1987 1988 9.4 / 2010 Free GPL Also a computer algebra system through interface with Maxima
Fityk M. Wojdyr 2002 1.0.1 / 2011 $115 (1.x binaries) / Free (source code and 0.x binaries) GPL interactive graphics, scriptable, specialized in curve fitting and peak fitting, 2D only
FreeMat Samit Basu 4.1 / November 28, 2011 Free GPL Codeless interface to external C, C++, and Fortran code. Mostly compatible with MATLAB.
GAUSS Aptech Systems 1984 14 / October 2013 Not free Proprietary
IGOR Pro WaveMetrics 1986 1988 6.34A / 2014 $550 (commercial) / $395 (academic) / $85 (student) Proprietary interactive graphics, programmable, 2D/3D, used for science and engineering, large data sets.
J Jsoftware 1989 1990 J802 / July 9, 2014 Free GPL online access to: J Application Library (JAL)
jBEAM AMS 1998 1999 6.4 / 2010 $500 (basic) / $3950 (professional) / $10 (student) Proprietary mathematics, interactive graphics 2D/3D, scriptable, used for science and engineering, very large data sets, desktop or client/server, open Java framework
Julia Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other[2] contributors 2009 2012 0.3.1 / 2014 Free MIT License Open source language and environment for scientific computing. Direct calls of C functions from code (no wrappers or special APIs needed). Designed for cloud parallel computing in mind with LLVM JIT as a backend. Lightweight "green" threading (coroutines). Efficient support for Unicode. Powerful shell-like capabilities for managing other processes. Lisp-like macros and other metaprogramming facilities.
LabVIEW National Instruments 1985 2010 / August 2010 $1249 (commercial) / $79.95 (student) Proprietary Graphical and textual (.m file script) programming approaches
Maple Maplesoft 1980 1982 18 / March 5, 2014 $2275 (commercial) / $99 (student) Proprietary Mainly a computer algebra system
Mathcad Parametric Technology Corporation 1985 1986 15.0; Prime 3.0 / October 1, 2013 $1195 (commercial) / $99 (student) Proprietary Mainly a computer algebra system
Mathematica Wolfram Research 1986 1988 10.0.1 (September 17, 2014 (2014-09-17)) [±] Free (Raspberry Pi[3]), $2495 (commercial) / $145 (student) / $295 (personal)[4] Proprietary also computer algebra system
MATLAB MathWorks the late 1970s 2013a $2150 (commercial) / $99 (student) Proprietary Numerical computation and simulation with extended 2D/3D visualization.
Maxima MIT Project MAC and Bill Schelter et al. 1967 1982 5.28.0 / August 27, 2012 Free GPL Mainly a computer algebra system
mpmath Fredrik Johansson and others 2005 2007[5] 0.17 / February 1, 2011 Free New BSD A Python library for floating-point arithmetic, special function evaluation, and other numerical algorithms
GNU Data Language Marc Schellens 2004 0.9.1 / 2011 Free GPL Aimed as a drop-in replacement for IDL/PV-WAVE
GNU Octave John W. Eaton 1988 1993 3.8.2 (August 14, 2014; 3 months ago (2014-08-14)) [±] Free GPL General numerical computing package with lots of extension modules. Syntax mostly compatible with MATLAB
Origin OriginLab 1991 9.1 SR0 / Oct. 2013 $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 late 1990s c. 1997 2.4.10 / 2012 Free Artistic License Used for astrophysics, solar physics, oceanography, biophysics, and simulation. 2D plotting via PGPLOT, PLPlot bindings; 3D via GL.
R R Foundation 1997 1997 2.15.3 / March 1, 2013 Free GPL Primarily for statistics, but there are many interfaces to open-source numerical software
Sage William Stein 2005 6.3 (10 August 2014; 3 months ago (2014-08-10)) [±][6] Free GPL Programmable, includes computer algebra, 2D+3D plotting. Interfaces to many open-source software. Web based interface HTTP or HTTPS
SCaViS S.Chekanov (jwork.org) 2005 2005 1.0 / 2013 Free Free for non-commercial use mathematics, symbolic calculations, algebra, data analysis, data mining, interactive 2D/3D graphics, Java scriptable, used for science and engineering, Cross-platform (written in Java)
S-Lang John E. Davis 1992 2.2.0 / 2009 Free GPL, Artistic License (1.x only) Available as a standalone (slsh) and embedded interpreter (jed, slrn, ...)
Scilab Scilab Enterprises Was:Inria 1990 1994 5.4.1 / April 2, 2013 Free CeCILL license Open source, community supported. 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.
SimplexNumerica Dipl.-Phys.-Ing. Ralf Wirtz 1986 9.0 / 2011 Free Proprietary interactive graphics, 2D/3D render engine, used for science and engineering, Excel im-/export.
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
Vcmaster Veith Christoph GmbH 1996 ? 2012 (2012.05) €800, free student version Proprietary documentation and calculation program
VisSim Visual Solutions 1989 7.0a / 2008 $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 2.1.06 / April 17, 2010 Free GPL Open source. Programmable, callable 2D+3D plotting. Language syntax similar to C. Interfacing to other software packages via C calls.
SAS Proprietary
SPSS Proprietary

Operating system support[edit]

The operating systems the software can run on natively (without emulation).

Windows OS X Linux BSD Unix DOS Android
ADMB Yes Yes Yes No No No No
Ch Yes Yes Yes Yes Yes No No
Dyalog APL Yes No Yes No Yes No No
DADiSP Yes No No No Yes No No
Euler Math Toolbox Yes No Yes No No No No
FreeMat Yes Yes Yes Yes Yes No No
GAUSS Yes Yes Yes No Yes No No
IGOR Pro Yes Yes No No No No No
Julia Yes Yes Yes Yes No No No
LabVIEW Yes Yes Yes No Yes No No
Maple Yes Yes Yes No Yes No No
Mathematica Yes Yes Yes Yes Yes No No
MATLAB Yes Yes Yes Yes Yes No Yes
GNU Data Language No Yes Yes Yes Yes No No
GNU Octave Yes Yes Yes Yes Yes Yes Yes
Origin Yes No No No No No No
Perl Data Language Yes Yes Yes Yes Yes Yes No
R Yes Yes Yes Yes Yes No No
Sage No[7] Yes Yes No Yes No No
SCaViS Yes Yes Yes Yes Yes No Yes
S-Lang Yes Yes Yes Yes Yes Yes No
Scilab Yes Yes Yes Yes Yes Yes No
SimplexNumerica Yes No No No No No No
Sysquake Yes Yes Yes No No No No
TK Solver Yes No No No No No No
The Unscrambler Yes No No No No No No
VisSim Yes Yes Yes No Yes 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
Dyalog APL Yes[8] Yes Yes[9] Win32, .NET, WPF, HTML/JS Yes Yes COM, .NET, WebServices, Shared Libraries, DLLs, NAG, R, JavaScript[10] COM, .NET, WebServices[10]
J No Yes Yes Yes Yes Yes Javascript Javascript
Julia No No Yes Yes Yes Yes
C, Fortran
Python, C++, Java, MATLAB
C/C++
Maple No Yes Yes[11] Yes Yes Yes[12] C, C#, Fortran MATLAB,[13] Excel,[14] VisualBasic, Java, and C[15]
Mathematica Yes[16] Yes Yes Yes Yes Yes[17] Java, .NET, C++, Fortran, CUDA, OpenCL, R
Java, .NET, C++
Excel,[18] LabVIEW[19]
Haskell,[20] AppleScript,[21] Racket,[22] Visual Basic,[23] Python[24][25]Clojure[26] MATLAB[27]
MATLAB with extension[28] with extension library[29] Yes[30] Yes Yes Yes[31]
Through MEX[32] files: C, C++, Fortran. Also compiled Java and ActiveX components.
Mathematica[27]
.NET,[33] Java,[34] Excel[35]
mpmath No works with Sage and SymPy Yes No Yes No Yes (any language that can be called from Python) Yes (any language that can call Python)
GNU Data Language No No Yes GUI Widgets since v.0.9 but still incomplete Yes No C, Python Python
GNU Octave Yes with mkoctfile only with GiNaC extension Yes[36] GUI Octave code can be used[37] Yes Yes[38] C++, Fortran,[39] Perl,[40] Tcl[41] Java,[42] Perl,[40] C++[43]
PDL Yes[44] No Yes[45] Yes[46] Yes Yes[47] C via perlXS; C, Python, F77, etc. via Inline Perl, C[48]
R No Yes and extended via Ryacas package Yes[49] No Yes Yes[50]
C, C++, Fortran[51]
MATLAB[52]
Python[53]
Excel[54]
Python[55]
Sage No Yes Yes No Yes Yes[56] Many languages[57][58][59] Yes (any language that can call Python)
SCaVis Yes Yes Yes Yes Yes Yes Java Yes (any language that can call Java)
TK Solver with extension No Yes with extension Yes Yes .NET Excel

Libraries[edit]

General[edit]

Creator Language First public release Latest stable version Cost (USD) License Notes
ALGLIB Sergey Bochkanov C++, C#, FreePascal, VBA 2006 2.6.0 / 06.2010 Free GPL General purpose numerical analysis library. Uses automatic code generation to support several programming languages.
GNU Scientific Library GNU Project C 1996 1.14 / 03.2010 Free GPL General purpose numerical analysis library. Targets GNU/Linux, can be built on almost any *nix OS with Ansi C compiler.
ILNumerics.Net H. Kutschbach C# 2007 1.3.14 / 08.2008 Free LGPL 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 2009 3.0 / 06.2014 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 5.0 / February 2011 $995 Proprietary Math and statistical libraries for the .NET Framework
ocamlmath[60] IREM[61] des Pays de la Loire[62] OCaml 2011 0.4 / 2013 Free LGPL General purpose calculations either for compilation or interactive use
SCaViS jwork.org (S.Chekanov) Java, Android 2005 2011 Free Free for non-commercial use General numerical calculations, statistics and interactive 2D/3D graphics for data and function presentation
SciPy scipy.org community Python 1995 0.14.0 / May 3, 2014 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
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.

Operating system support[edit]

The operating systems the software can run on natively (without emulation).

Windows OS X Linux BSD Unix DOS Android
ALGLIB Yes No Yes No No No No
GNU Scientific Library Yes Yes Yes Yes Yes No No
ILNumerics.Net 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
ocamlmath[60]  ?  ? Yes Yes  ?  ?  ?
SCaViS Yes Yes Yes Yes Yes No Yes
SciPy (Python packages) Yes Yes Yes Yes Yes Yes No

See also[edit]

References[edit]

  1. ^ Ch Scientific Numerical Computing
  2. ^ https://github.com/JuliaLang/julia/contributors
  3. ^ [1]
  4. ^ Mathematica Home Edition Released Macworld, Feb 2009
  5. ^ Johansson, Fredrik. "History". Retrieved June 6, 2013. 
  6. ^ "Sage 6.3 Changelog". sagemath.org. Retrieved 2014-08-18. 
  7. ^ Once was supported
  8. ^ "Dyalog APL Users Guide". 
  9. ^ "An Introduction to Object Oriented Programming for APL programmers". 
  10. ^ a b "Dyalog APL Interface Guide". 
  11. ^ Maplesoft. "Object-Oriented Programming, Polymorphism, and More in Maple 9.5". Retrieved May 18, 2011. 
  12. ^ "Maple Application Center". 
  13. ^ "MAPLE: MATLAB® Connectivity". Retrieved May 18, 2011. 
  14. ^ "Maple and Excel". 
  15. ^ Maplesoft. "OpenMaple API for VisualBasic and Java". Retrieved May 18, 2011. 
  16. ^ Wolfram Research. "C Code Generation User Guide". Retrieved May 19, 2011. 
  17. ^ library.wolfram.com
  18. ^ Wolfram Research. "Mathematica Link for Excel 3.2". Retrieved May 18, 2011. 
  19. ^ "Mathematica Link for LabVIEW 2.1". Retrieved May 18, 2011. 
  20. ^ Haskell packages
  21. ^ Unisoftware plus
  22. ^ MrMathematica website
  23. ^ Mathematica for ActivX
  24. ^ Pythonika MathLink module for Python
  25. ^ PYML (Python Mathematica interface)
  26. ^ "Clojuratica". clojuratica.weebly.com. 2013. Retrieved June 14, 2013. 
  27. ^ a b "Mathematica Symbolic Toolbox for MATLAB--Version 2.0". Retrieved May 18, 2011. 
  28. ^ Mathworks. "MATLAB Compiler". Retrieved May 18, 2011. 
  29. ^ Mathworks. "Symbolic Math Toolbox". Retrieved May 18, 2011. 
  30. ^ Mathworks. "Object-Oriented Programming in MATLAB". Retrieved May 18, 2011. 
  31. ^ "MATLAB File Exchange". Retrieved May 18, 2011. 
  32. ^ Mathworks. "MEX-files Guide". Retrieved May 18, 2011. 
  33. ^ Mathworks. "MATLAB Builder NE for Microsoft .NET Framework". Retrieved May 18, 2011. 
  34. ^ Mathworks. "MATLAB Builder JA for Java language". Retrieved May 18, 2011. 
  35. ^ "MATLAB Builder EX for Microsoft Excel". Retrieved May 18, 2011. 
  36. ^ "GNU Octave: Object Oriented Programming". Retrieved May 18, 2011. 
  37. ^ Varandas, Joaquim. "GUI Octave". Retrieved May 18, 2011. 
  38. ^ "Octave-Forge". Retrieved May 18, 2011. 
  39. ^ "Octave Wiki: OctaveFortran". Retrieved May 18, 2011. 
  40. ^ a b "Octave Wiki: OctavePerl". Retrieved May 18, 2011. 
  41. ^ "Octave Wiki: OctaveTcl". Retrieved May 18, 2011. 
  42. ^ "Octave Wiki: OctaveJava". Retrieved May 18, 2011. 
  43. ^ "Octave Wiki: CategoryExternal". Retrieved May 18, 2011. 
  44. ^ "Perlmonks". Retrieved January 24, 2013. 
  45. ^ "O'Reilly tutorial". Retrieved January 24, 2013. 
  46. ^ "PerlTK tutorial". Retrieved January 24, 2013. 
  47. ^ "CPAN". Retrieved January 24, 2013. 
  48. ^ "Calling Perl from C". Retrieved January 24, 2013. 
  49. ^ R Development Core Team (April 13, 2011). "Object-oriented programming". R Language Definition. ISBN 3-900051-13-5. Retrieved May 18, 2011. 
  50. ^ "CRAN: Contributed Packages". Retrieved May 18, 2011. 
  51. ^ Hornik, Kurt (2011). The R FAQ. ISBN 3-900051-08-9. 
  52. ^ Bengtsson, Henrik; Jason Riedy. "CRAN: R.matlab package". Retrieved May 18, 2011. 
  53. ^ Grothendieck, G.; Carlos J. Gil Bellosta. "rJython R package". Retrieved May 18, 2011. 
  54. ^ Neuwirth, Erich. "CRAN: RExcelInstaller package". Retrieved May 18, 2011. 
  55. ^ "A simple and efficient access to R from Python". Retrieved May 18, 2011. 
  56. ^ "Additional Packages". Retrieved June 5, 2013. 
  57. ^ "Interpreter Interfaces". Retrieved June 6, 2013. 
  58. ^ "C/C++ Library Interfaces". Retrieved June 6, 2013. 
  59. ^ "Using Compiled Code Interactively". Retrieved June 6, 2013. 
  60. ^ a b ocamlmath web page
  61. ^ Instituts de recherche sur l'enseignement des mathématiques
  62. ^ IREM des Pays de la Loire web site

External links[edit]