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 12 / October 2011 Not free Proprietary
IGOR Pro WaveMetrics 1986 1988 6.03A / 2008 $550 (commercial) / $395 (academic) / $85 (student) Proprietary interactive graphics, programmable, 2D/3D, used for science and engineering, large data sets.
J Jsoftware 1989 1990 7.0.1 / 2/1/2011 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
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)
Julia Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other[2] contributors 2009 2011 Daily builds (2012) 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 9.0.1 (January 30, 2013 (2013-01-30)) [±] 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 / 27 August 2012 Free GPL Mainly a computer algebra system
mpmath Fredrik Johansson and others 2005 2007[5] 0.17 / 1 February 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.1 (March 7, 2014; 43 days ago (2014-03-07)) [±] 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 01, 2013 Free GPL Primarily for statistics, but there are many interfaces to open-source numerical software
Sage William Stein 2005 6.1.1 (4 February 2014; 2 months ago (2014-02-04)) [±][6] Free GPL Programmable, includes computer algebra, 2D+3D plotting. Interfaces to many open-source software. Web based interface HTTP or HTTPS
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 / 17 April 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
SCaViS Yes Yes Yes Yes Yes No Yes
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
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[11]
J No Yes Yes Yes Yes Yes Javascript Javascript
Maple No Yes Yes[12] Yes Yes Yes[13] C, C#, Fortran MATLAB,[14] Excel,[15] VisualBasic, Java, and C[16]
Mathematica Yes[17] Yes Yes Yes Yes Yes[18] Java, .NET, C++, FORTRAN, CUDA, OpenCL, R
Java, .NET, C++
Excel,[19] LabVIEW[20]
Haskell,[21] AppleScript,[22] Racket,[23] Visual Basic,[24] Python[25][26]Clojure[27] MATLAB[28]
MATLAB with extension[29] with extension library[30] Yes[31] Yes Yes Yes[32]
Through MEX[33] files: C, C++, FORTRAN. Also compiled Java and ActiveX components.
Mathematica[28]
.NET,[34] Java,[35] Excel[36]
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[37] GUI Octave code can be used[38] Yes Yes[39] C++, FORTRAN,[40] Perl,[41] Tcl[42] Java,[43] Perl,[41] C++[44]
PDL Yes[45] No Yes[46] Yes[47] Yes Yes[48] C via perlXS; C, Python, F77, etc. via Inline Perl, C[49]
R No No Yes[50] No Yes Yes[51]
C, C++, FORTRAN[52]
MATLAB[53]
Python[54]
Excel[55]
Python[56]
Sage No Yes Yes No Yes Yes[57] Many languages[58][59][60] 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 2.6.0 / 07.2013 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[61] IREM[62] des Pays de la Loire[63] 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 Enthought Python 1995 0.12.0 / 2013-04-07 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[61]  ?  ? 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 6 June 2013. 
  6. ^ "Sage 6.1.1 Changelog". sagemath.org. 2014-02-04. Retrieved 2014-04-04. 
  7. ^ Once was supported
  8. ^ "Dyalog APL Users Guide". 
  9. ^ "An Introduction to Object Oriented Programming for APL programmers". 
  10. ^ "Dyalog APL Interface Guide". 
  11. ^ "Dyalog APL Interface Guide". 
  12. ^ Maplesoft. "Object-Oriented Programming, Polymorphism, and More in Maple 9.5". Retrieved 18 May 2011. 
  13. ^ "Maple Application Center". 
  14. ^ "MAPLE: MATLAB® Connectivity". Retrieved 18 May 2011. 
  15. ^ "Maple and Excel". 
  16. ^ Maplesoft. "OpenMaple API for VisualBasic and Java". Retrieved 18 May 2011. 
  17. ^ Wolfram Research. "C Code Generation User Guide". Retrieved 19 May 2011. 
  18. ^ library.wolfram.com
  19. ^ Wolfram Research. "Mathematica Link for Excel 3.2". Retrieved 18 May 2011. 
  20. ^ "Mathematica Link for LabVIEW 2.1". Retrieved 18 May 2011. 
  21. ^ Haskell packages
  22. ^ Unisoftware plus
  23. ^ MrMathematica website
  24. ^ Mathematica for ActivX
  25. ^ Pythonika MathLink module for Python
  26. ^ PYML (Python Mathematica interface)
  27. ^ "Clojuratica". clojuratica.weebly.com. 2013. Retrieved 14 June 2013. 
  28. ^ a b "Mathematica Symbolic Toolbox for MATLAB--Version 2.0". Retrieved 18 May 2011. 
  29. ^ Mathworks. "MATLAB Compiler". Retrieved 18 May 2011. 
  30. ^ Mathworks. "Symbolic Math Toolbox". Retrieved 18 May 2011. 
  31. ^ Mathworks. "Object-Oriented Programming in MATLAB". Retrieved 18 May 2011. 
  32. ^ "MATLAB File Exchange". Retrieved 18 May 2011. 
  33. ^ Mathworks. "MEX-files Guide". Retrieved 18 May 2011. 
  34. ^ Mathworks. "MATLAB Builder NE for Microsoft .NET Framework". Retrieved 18 May 2011. 
  35. ^ Mathworks. "MATLAB Builder JA for Java language". Retrieved 18 May 2011. 
  36. ^ "MATLAB Builder EX for Microsoft Excel". Retrieved 18 May 2011. 
  37. ^ "GNU Octave: Object Oriented Programming". Retrieved 18 May 2011. 
  38. ^ Varandas, Joaquim. "GUI Octave". Retrieved 18 May 2011. 
  39. ^ "Octave-Forge". Retrieved 18 May 2011. 
  40. ^ "Octave Wiki: OctaveFortran". Retrieved 18 May 2011. 
  41. ^ a b "Octave Wiki: OctavePerl". Retrieved 18 May 2011. 
  42. ^ "Octave Wiki: OctaveTcl". Retrieved 18 May 2011. 
  43. ^ "Octave Wiki: OctaveJava". Retrieved 18 May 2011. 
  44. ^ "Octave Wiki: CategoryExternal". Retrieved 18 May 2011. 
  45. ^ "Perlmonks". Retrieved 24 Jan 2013. 
  46. ^ ""O'Reilly tutorial"". Retrieved 24 Jan 2013. 
  47. ^ ""PerlTK tutorial"". Retrieved 24 Jan 2013. 
  48. ^ "CPAN". Retrieved 24 Jan 2013. 
  49. ^ "Calling Perl from C". Retrieved 24 Jan 2013. 
  50. ^ R Development Core Team (2011-04-13). "Object-oriented programming". R Language Definition. ISBN 3-900051-13-5. Retrieved 2011-05-18. 
  51. ^ "CRAN: Contributed Packages". Retrieved 18 May 2011. 
  52. ^ Hornik, Kurt (2011). The R FAQ. ISBN 3-900051-08-9. 
  53. ^ Bengtsson, Henrik; Jason Riedy. "CRAN: R.matlab package". Retrieved 18 May 2011. 
  54. ^ Grothendieck, G.; Carlos J. Gil Bellosta. "rJython R package". Retrieved 18 May 2011. 
  55. ^ Neuwirth, Erich. "CRAN: RExcelInstaller package". Retrieved 18 May 2011. 
  56. ^ "A simple and efficient access to R from Python". Retrieved 18 May 2011. 
  57. ^ "Additional Packages". Retrieved 5 June 2013. 
  58. ^ "Interpreter Interfaces". Retrieved 6 June 2013. 
  59. ^ "C/C++ Library Interfaces". Retrieved 6 June 2013. 
  60. ^ "Using Compiled Code Interactively". Retrieved 6 June 2013. 
  61. ^ a b ocamlmath web page
  62. ^ Instituts de recherche sur l'enseignement des mathématiques
  63. ^ IREM des Pays de la Loire web site

External links[edit]