Comparison of numerical-analysis software: Difference between revisions
Appearance
Content deleted Content added
→General: added Nial Tags: Reverted Visual edit |
→Language features: new column: plotting mechanics Tags: Reverted Visual edit |
||
Line 787: | Line 787: | ||
! Can call code in other languages |
! Can call code in other languages |
||
! Can be called from other languages |
! Can be called from other languages |
||
!Plotting: built-in or via library import statement or by calling external program |
|||
|- |
|- |
||
! [[Analytica (software)|Analytica]] |
! [[Analytica (software)|Analytica]] |
||
Line 797: | Line 798: | ||
|{{yes|}}[[Component Object Model|COM]], [[Microsoft Excel|Excel]] |
|{{yes|}}[[Component Object Model|COM]], [[Microsoft Excel|Excel]] |
||
|{{yes|}}[[Microsoft Excel|Excel]], [[Component Object Model|COM]], [[.NET Framework|.NET]] |
|{{yes|}}[[Microsoft Excel|Excel]], [[Component Object Model|COM]], [[.NET Framework|.NET]] |
||
| |
|||
|- |
|- |
||
! [[Dyalog APL]] |
! [[Dyalog APL]] |
||
Line 807: | Line 809: | ||
| {{yes|}}[[Component Object Model|COM]], [[.NET Framework|.NET]], [[Web service|WebServices]], [[Library (computing)|Shared Libraries]], [[Dynamic-link library|DLL]]s, [[NAG Numerical Library|NAG]], [[R (programming language)|R]], [[JavaScript]]<ref name="Dyalog APL Interface Guide">{{cite web|url= http://docs.dyalog.com/13.2/Dyalog%20APL%20Interface%20Guide.pdf|title=Dyalog APL Interface Guide}}</ref> |
| {{yes|}}[[Component Object Model|COM]], [[.NET Framework|.NET]], [[Web service|WebServices]], [[Library (computing)|Shared Libraries]], [[Dynamic-link library|DLL]]s, [[NAG Numerical Library|NAG]], [[R (programming language)|R]], [[JavaScript]]<ref name="Dyalog APL Interface Guide">{{cite web|url= http://docs.dyalog.com/13.2/Dyalog%20APL%20Interface%20Guide.pdf|title=Dyalog APL Interface Guide}}</ref> |
||
| {{yes|}}[[Component Object Model|COM]], [[.NET Framework|.NET]], [[Web service|WebServices]]<ref name="Dyalog APL Interface Guide"/> |
| {{yes|}}[[Component Object Model|COM]], [[.NET Framework|.NET]], [[Web service|WebServices]]<ref name="Dyalog APL Interface Guide"/> |
||
| |
|||
|- |
|- |
||
! [[GNU Data Language]] |
! [[GNU Data Language]] |
||
Line 817: | Line 820: | ||
|{{yes|}}[[C (programming language)|C]], [[Python (programming language)|Python]] |
|{{yes|}}[[C (programming language)|C]], [[Python (programming language)|Python]] |
||
|{{yes|}}[[Python (programming language)|Python]] |
|{{yes|}}[[Python (programming language)|Python]] |
||
| |
|||
|- |
|- |
||
! [[MCSim|GNU MCSim]] |
! [[MCSim|GNU MCSim]] |
||
Line 827: | Line 831: | ||
|{{yes|}}[[C (programming language)|C]] |
|{{yes|}}[[C (programming language)|C]] |
||
|{{yes|}}[[R (programming language)|R]] |
|{{yes|}}[[R (programming language)|R]] |
||
| |
|||
|- |
|- |
||
! [[GNU Octave]] |
! [[GNU Octave]] |
||
Line 837: | Line 842: | ||
| {{Depends|}}[[C (programming language)|C]], [[C++]], [[Fortran]],<ref>{{cite web|url=http://wiki.octave.org/wiki.pl?OctaveFortran|title=Octave Wiki: OctaveFortran|access-date=18 May 2011|archive-url=https://archive.today/20120717143057/http://wiki.octave.org/wiki.pl?OctaveFortran|archive-date=July 17, 2012|url-status=dead}}</ref> [[Perl]],<ref name="OctavePerl"/> [[Python (programming language)|Python]], [[Tcl]]<ref>{{cite web|url=http://wiki.octave.org/wiki.pl?OctaveTcl|title=Octave Wiki: OctaveTcl|access-date=18 May 2011|archive-url=https://archive.today/20120717082040/http://wiki.octave.org/wiki.pl?OctaveTcl|archive-date=July 17, 2012|url-status=dead}}</ref> |
| {{Depends|}}[[C (programming language)|C]], [[C++]], [[Fortran]],<ref>{{cite web|url=http://wiki.octave.org/wiki.pl?OctaveFortran|title=Octave Wiki: OctaveFortran|access-date=18 May 2011|archive-url=https://archive.today/20120717143057/http://wiki.octave.org/wiki.pl?OctaveFortran|archive-date=July 17, 2012|url-status=dead}}</ref> [[Perl]],<ref name="OctavePerl"/> [[Python (programming language)|Python]], [[Tcl]]<ref>{{cite web|url=http://wiki.octave.org/wiki.pl?OctaveTcl|title=Octave Wiki: OctaveTcl|access-date=18 May 2011|archive-url=https://archive.today/20120717082040/http://wiki.octave.org/wiki.pl?OctaveTcl|archive-date=July 17, 2012|url-status=dead}}</ref> |
||
| {{Depends|}}[[Java (programming language)|Java]],<ref>{{cite web|url=http://wiki.octave.org/Main_Page |title=Octave Wiki: OctaveJava|access-date=18 May 2011}}</ref> [[Perl]],<ref name="OctavePerl">{{cite web|url=http://wiki.octave.org/wiki.pl?OctavePerl|title=Octave Wiki: OctavePerl|access-date=18 May 2011|archive-url=https://archive.today/20051222175249/http://wiki.octave.org/wiki.pl?OctavePerl|archive-date=December 22, 2005|url-status=dead}}</ref> [[C (programming language)|C]], [[C++]],<ref>{{cite web|url=http://wiki.octave.org/wiki.pl?CategoryExternal|title=Octave Wiki: CategoryExternal|access-date=18 May 2011|archive-url=https://archive.today/20120723080017/http://wiki.octave.org/wiki.pl?CategoryExternal|archive-date=July 23, 2012|url-status=dead}}</ref> [[Python (programming language)|Python]] |
| {{Depends|}}[[Java (programming language)|Java]],<ref>{{cite web|url=http://wiki.octave.org/Main_Page |title=Octave Wiki: OctaveJava|access-date=18 May 2011}}</ref> [[Perl]],<ref name="OctavePerl">{{cite web|url=http://wiki.octave.org/wiki.pl?OctavePerl|title=Octave Wiki: OctavePerl|access-date=18 May 2011|archive-url=https://archive.today/20051222175249/http://wiki.octave.org/wiki.pl?OctavePerl|archive-date=December 22, 2005|url-status=dead}}</ref> [[C (programming language)|C]], [[C++]],<ref>{{cite web|url=http://wiki.octave.org/wiki.pl?CategoryExternal|title=Octave Wiki: CategoryExternal|access-date=18 May 2011|archive-url=https://archive.today/20120723080017/http://wiki.octave.org/wiki.pl?CategoryExternal|archive-date=July 23, 2012|url-status=dead}}</ref> [[Python (programming language)|Python]] |
||
|built-in |
|||
|- |
|- |
||
! [[J (programming language)|J]] |
! [[J (programming language)|J]] |
||
Line 847: | Line 853: | ||
|{{yes|}}[[JavaScript]] |
|{{yes|}}[[JavaScript]] |
||
|{{yes|}}[[JavaScript]] |
|{{yes|}}[[JavaScript]] |
||
| |
|||
|- |
|- |
||
! [[Julia (programming language)|Julia]] |
! [[Julia (programming language)|Julia]] |
||
Line 862: | Line 869: | ||
|} |
|} |
||
| {{yes|}}[[C (programming language)|C]], [[C++]], [[Python (programming language)|Python]], [[R (programming language)|R]] |
| {{yes|}}[[C (programming language)|C]], [[C++]], [[Python (programming language)|Python]], [[R (programming language)|R]] |
||
|via import statement |
|||
|- |
|- |
||
! [[LabVIEW]] |
! [[LabVIEW]] |
||
Line 889: | Line 897: | ||
|} |
|} |
||
|{{Yes}}<ref>{{cite web|url=http://www.ni.com/tutorial/5719/en/|title=Calling LabVIEW VIs from Other Programming Languages|last=National Instruments|author-link=National Instruments|access-date=3 April 2017}}</ref> |
|{{Yes}}<ref>{{cite web|url=http://www.ni.com/tutorial/5719/en/|title=Calling LabVIEW VIs from Other Programming Languages|last=National Instruments|author-link=National Instruments|access-date=3 April 2017}}</ref> |
||
| |
|||
|- |
|- |
||
! [[Maple (software)|Maple]] |
! [[Maple (software)|Maple]] |
||
Line 899: | Line 908: | ||
|{{yes|}}[[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[Fortran]] |
|{{yes|}}[[C (programming language)|C]], [[C Sharp (programming language)|C#]], [[Fortran]] |
||
|{{Depends|}} [[MATLAB]],<ref>{{cite web|url=http://www.maplesoft.com/products/maple/features/feature_detail.aspx?fid=6721|title=MAPLE: MATLAB® Connectivity|access-date=18 May 2011}}</ref> [[Microsoft Excel|Excel]],<ref>{{cite web|url=http://www.maplesoft.com/support/help/Maple/view.aspx?path=Excel|title=Maple and Excel}}</ref> [[Visual Basic]], [[Java (programming language)|Java]], and [[C (programming language)|C]]<ref>{{cite web|url=http://www.maplesoft.com/applications/view.aspx?SID=4666|title=OpenMaple API for VisualBasic and Java|last=Maplesoft|author-link=Maplesoft|access-date=18 May 2011}}</ref> |
|{{Depends|}} [[MATLAB]],<ref>{{cite web|url=http://www.maplesoft.com/products/maple/features/feature_detail.aspx?fid=6721|title=MAPLE: MATLAB® Connectivity|access-date=18 May 2011}}</ref> [[Microsoft Excel|Excel]],<ref>{{cite web|url=http://www.maplesoft.com/support/help/Maple/view.aspx?path=Excel|title=Maple and Excel}}</ref> [[Visual Basic]], [[Java (programming language)|Java]], and [[C (programming language)|C]]<ref>{{cite web|url=http://www.maplesoft.com/applications/view.aspx?SID=4666|title=OpenMaple API for VisualBasic and Java|last=Maplesoft|author-link=Maplesoft|access-date=18 May 2011}}</ref> |
||
| |
|||
|- |
|- |
||
! [[Mathematica]] |
! [[Mathematica]] |
||
Line 916: | Line 926: | ||
|{{no|}}[[Haskell (programming language)|Haskell]],<ref>[http://hackage.haskell.org/package/mathlink Haskell packages]</ref> [[AppleScript]],<ref>{{Cite web |url=http://www.unisoftwareplus.com/products/mathlinkosax/ |title=Unisoftware plus |access-date=May 19, 2011 |archive-url=https://web.archive.org/web/20110717163309/http://www.unisoftwareplus.com/products/mathlinkosax/ |archive-date=July 17, 2011 |url-status=dead }}</ref> [[Racket (programming language)|Racket]],<ref>[http://www.cs.utah.edu/~czhu/SchemeLink/mrmma.html MrMathematica website]</ref> [[Visual Basic]],<ref>[http://library.wolfram.com/infocenter/TechNotes/4710/ Mathematica for ActivX]</ref> [[Clojure]]<ref>{{cite web |url= http://clojuratica.weebly.com/ |title=Clojuratica |work=clojuratica.weebly.com |year=2013 |access-date=14 June 2013}}</ref> [[MATLAB]]<ref name="mathworks.com">{{cite web|url=http://www.mathworks.com/matlabcentral/fileexchange/6044-mathematica-symbolic-toolbox-for-matlab-version-2-0|title=Mathematica Symbolic Toolbox for MATLAB--Version 2.0|access-date=18 May 2011}}</ref> |
|{{no|}}[[Haskell (programming language)|Haskell]],<ref>[http://hackage.haskell.org/package/mathlink Haskell packages]</ref> [[AppleScript]],<ref>{{Cite web |url=http://www.unisoftwareplus.com/products/mathlinkosax/ |title=Unisoftware plus |access-date=May 19, 2011 |archive-url=https://web.archive.org/web/20110717163309/http://www.unisoftwareplus.com/products/mathlinkosax/ |archive-date=July 17, 2011 |url-status=dead }}</ref> [[Racket (programming language)|Racket]],<ref>[http://www.cs.utah.edu/~czhu/SchemeLink/mrmma.html MrMathematica website]</ref> [[Visual Basic]],<ref>[http://library.wolfram.com/infocenter/TechNotes/4710/ Mathematica for ActivX]</ref> [[Clojure]]<ref>{{cite web |url= http://clojuratica.weebly.com/ |title=Clojuratica |work=clojuratica.weebly.com |year=2013 |access-date=14 June 2013}}</ref> [[MATLAB]]<ref name="mathworks.com">{{cite web|url=http://www.mathworks.com/matlabcentral/fileexchange/6044-mathematica-symbolic-toolbox-for-matlab-version-2-0|title=Mathematica Symbolic Toolbox for MATLAB--Version 2.0|access-date=18 May 2011}}</ref> |
||
|} |
|} |
||
| |
|||
|- |
|- |
||
! [[MATLAB]] |
! [[MATLAB]] |
||
Line 932: | Line 943: | ||
| {{Depends|}}[[.NET Framework|.NET]],<ref>{{cite web|url=http://www.mathworks.com/products/netbuilder/|title=MATLAB Builder NE for Microsoft .NET Framework |last=Mathworks|author-link=Mathworks|access-date=18 May 2011}}</ref> [[Java (programming language)|Java]],<ref>{{cite web|url=http://www.mathworks.com/products/javabuilder/|title=MATLAB Builder JA for Java language |last=Mathworks|author-link=Mathworks|access-date=18 May 2011}}</ref> [[Microsoft Excel|Excel]]<ref>{{cite web|url=http://www.mathworks.com/products/matlabxl/|title=MATLAB Builder EX for Microsoft Excel |access-date=18 May 2011}}</ref> |
| {{Depends|}}[[.NET Framework|.NET]],<ref>{{cite web|url=http://www.mathworks.com/products/netbuilder/|title=MATLAB Builder NE for Microsoft .NET Framework |last=Mathworks|author-link=Mathworks|access-date=18 May 2011}}</ref> [[Java (programming language)|Java]],<ref>{{cite web|url=http://www.mathworks.com/products/javabuilder/|title=MATLAB Builder JA for Java language |last=Mathworks|author-link=Mathworks|access-date=18 May 2011}}</ref> [[Microsoft Excel|Excel]]<ref>{{cite web|url=http://www.mathworks.com/products/matlabxl/|title=MATLAB Builder EX for Microsoft Excel |access-date=18 May 2011}}</ref> |
||
|built-in |
|||
|- |
|- |
||
! [[Maxima (software)|Maxima]] |
! [[Maxima (software)|Maxima]] |
||
Line 942: | Line 954: | ||
! {{yes|}}[[Common Lisp]] |
! {{yes|}}[[Common Lisp]] |
||
! {{yes|}}[[Common Lisp]] |
! {{yes|}}[[Common Lisp]] |
||
! |
|||
|- |
|- |
||
! [[MLAB]] |
! [[MLAB]] |
||
Line 952: | Line 965: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| |
|||
|- |
|- |
||
! [[Perl Data Language|PDL]] |
! [[Perl Data Language|PDL]] |
||
Line 962: | Line 976: | ||
|{{yes|}}C via perlXS; C, Python, F77, etc. via Inline |
|{{yes|}}C via perlXS; C, Python, F77, etc. via Inline |
||
|{{yes|}}Perl, C<ref>{{cite web|url=http://www.perlmonks.org/?node_id=830663|title=Calling Perl from C|access-date=24 January 2013}}</ref> |
|{{yes|}}Perl, C<ref>{{cite web|url=http://www.perlmonks.org/?node_id=830663|title=Calling Perl from C|access-date=24 January 2013}}</ref> |
||
| |
|||
|- |
|- |
||
! [[Python (programming language)|Python]] |
! [[Python (programming language)|Python]] |
||
Line 977: | Line 992: | ||
| {{yes|}}[[C (programming language)|C]], [[C++]], [[Fortran]], [https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages many others] |
| {{yes|}}[[C (programming language)|C]], [[C++]], [[Fortran]], [https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages many others] |
||
| {{yes|}}[[C (programming language)|C]], [[C++]], [[Fortran]], [https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages many others] |
| {{yes|}}[[C (programming language)|C]], [[C++]], [[Fortran]], [https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages many others] |
||
|import statement |
|||
|- |
|- |
||
! [[R (programming language)|R]] |
! [[R (programming language)|R]] |
||
Line 1,001: | Line 1,017: | ||
|{{Depends|}}[[SAS (software)|SAS]]<ref>{{cite web|url=http://support.sas.com/rnd/app/studio/Rinterface2.html|title=R Interface Now Available in SAS/IML Studio|access-date=10 October 2016}}</ref> |
|{{Depends|}}[[SAS (software)|SAS]]<ref>{{cite web|url=http://support.sas.com/rnd/app/studio/Rinterface2.html|title=R Interface Now Available in SAS/IML Studio|access-date=10 October 2016}}</ref> |
||
|} |
|} |
||
|built-in |
|||
|- |
|- |
||
! [[SageMath]] |
! [[SageMath]] |
||
Line 1,011: | Line 1,028: | ||
| {{yes|}} Many languages<ref>{{cite web|title=Interpreter Interfaces|url=http://www.sagemath.org/doc/reference/interfaces/index.html|access-date=6 June 2013}}</ref><ref>{{cite web|title=C/C++ Library Interfaces|url=http://www.sagemath.org/doc/reference/libs/index.html|access-date=6 June 2013}}</ref><ref>{{cite web|title=Using Compiled Code Interactively|url=http://www.sagemath.org/doc/numerical_sage/using_compiled_code_iteractively.html|access-date=6 June 2013|archive-url=https://web.archive.org/web/20130404205431/http://www.sagemath.org/doc/numerical_sage/using_compiled_code_iteractively.html|archive-date=April 4, 2013|url-status=dead}}</ref> |
| {{yes|}} Many languages<ref>{{cite web|title=Interpreter Interfaces|url=http://www.sagemath.org/doc/reference/interfaces/index.html|access-date=6 June 2013}}</ref><ref>{{cite web|title=C/C++ Library Interfaces|url=http://www.sagemath.org/doc/reference/libs/index.html|access-date=6 June 2013}}</ref><ref>{{cite web|title=Using Compiled Code Interactively|url=http://www.sagemath.org/doc/numerical_sage/using_compiled_code_iteractively.html|access-date=6 June 2013|archive-url=https://web.archive.org/web/20130404205431/http://www.sagemath.org/doc/numerical_sage/using_compiled_code_iteractively.html|archive-date=April 4, 2013|url-status=dead}}</ref> |
||
| {{yes}} (any language that can call Python) |
| {{yes}} (any language that can call Python) |
||
| |
|||
|- |
|- |
||
! [[SAS (software)|SAS]] |
! [[SAS (software)|SAS]] |
||
Line 1,027: | Line 1,045: | ||
|} |
|} |
||
| {{no}} |
| {{no}} |
||
| |
|||
|- |
|- |
||
! [[TK Solver]] |
! [[TK Solver]] |
||
Line 1,037: | Line 1,056: | ||
| {{Depends|}}[[.NET Framework|.NET]] [[Microsoft Excel|Excel]] |
| {{Depends|}}[[.NET Framework|.NET]] [[Microsoft Excel|Excel]] |
||
| {{Depends|}}Unknown |
| {{Depends|}}Unknown |
||
| |
|||
|} |
|} |
||
Revision as of 01:17, 23 January 2023
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 | 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 | 18.0 | 10 June 2020 | 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 | 10 February 2022 | 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 | 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. |
Fortran | John Backus | 1953 | 1957 | Fortran 2018 | 28 November 2018 | Free (depends on implementation) | depends on implementation | General-purpose programming language that is especially suited to numeric computation and scientific computing. |
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 | 21 | 8 December 2020 | 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 | Norman 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 | 7.3.0 | 2 November 2022 | Free | GPL | General numerical computing package with many extension modules. Syntax mostly compatible with MATLAB |
IGOR Pro | WaveMetrics | 1986 | 1988 | 8.00 | May 22, 2018 | $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 Alan Edelman | 2009 | 2012 | 1.7.2 | 6 February 2022 | Free | MIT License | A fast,[2][3][4] high-level numerical computing language. |
LabPlot | Stefan Gerlach, Alexander Semke, KDE | 2001 | 2003 | 2.9.0 | 3 May 2022 | Free | GPL | 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 | August 2016 | $1249 (commercial) / $79.95 (student) | Proprietary | Graphical, and textual through formula nodes, mathscript and .m file scripts[5] |
Maple | Maplesoft | 1980 | 1982 | 2024 (6 March 2024[±][6] | )14 March 2019 | $2390 (commercial) / $239 (personal) / $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 | 14.1.0 (July 31, 2024[±][8] | )16 April 2019 | 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.12 (R2022a) | 15 March 2022 | $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. |
Nial | Mike Jenkins | 1981 | 7.0 | 2017 | Free | GNU GPLv3 | High-level array programming language, also used for prototyping and artificial intelligence. | |
Origin | OriginLab | 1991 | 2019b | 24 April 2019 | $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. |
R | R Foundation | 1997 | 1997 | 4.0.3 | 10 October 2020 | Free | GPL | Primarily for statistics, but there are many interfaces to open-source numerical software |
SageMath | William Stein | 2005 | 9.5 (30 January 2022[±][11] | )30 January 2022 | 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. |
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 | ESI Group
Was:Inria |
1990 | 1994 | 6.1.0 | 25 February 2020 | 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. |
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 | 6.0.152 | 2020 | $599 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
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 |
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 |
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 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 | Plotting: built-in or via library import statement or by calling external program | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Analytica | No | No | Yes | Yes | Yes | Yes | COM, Excel | Excel, COM, .NET | ||||||||
Dyalog APL | Yes[12] | Yes | Yes[13] | Win32, .NET, WPF, HTML/JS | Yes | Yes | COM, .NET, WebServices, Shared Libraries, DLLs, NAG, R, JavaScript[14] | COM, .NET, WebServices[14] | ||||||||
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[15] | Yes | Yes | Yes[16] | C, C++, Fortran,[17] Perl,[18] Python, Tcl[19] | Java,[20] Perl,[18] C, C++,[21] Python | built-in | |||||||
J | No | Yes | Yes | Yes | Yes | Yes | JavaScript | JavaScript | ||||||||
Julia | Yes | Wrappers to SymPy, SymEngine and others | Yes | Yes | Yes | Yes |
|
C, C++, Python, R | via import statement | |||||||
LabVIEW |
|
No |
|
Yes | Yes | Yes[26] |
|
Yes[31] | ||||||||
Maple | No | Yes | Yes[32] | Yes | Yes | Yes[33] | C, C#, Fortran | MATLAB,[34] Excel,[35] Visual Basic, Java, and C[36] | ||||||||
Mathematica | Yes[37] | Yes | Yes | Yes | Yes | Yes[38] | Java, .NET, C++, Fortran, CUDA, OpenCL, R, Python, SQL, SPARQL, NodeJS, Julia |
|
||||||||
MATLAB | with extension[47] | with extension library[48] | Yes[49] | Yes | Yes | Yes[50] |
|
.NET,[52] Java,[53] Excel[54] | built-in | |||||||
Maxima | No | Yes | No | No | Yes | No | Common Lisp | Common Lisp | ||||||||
MLAB | No | Yes | No | Yes | Yes | No | No | No | ||||||||
PDL | Yes[55] | No | Yes[56] | Yes[57] | Yes | Yes[58] | C via perlXS; C, Python, F77, etc. via Inline | Perl, C[59] | ||||||||
Python | Py2exe, Py2App, PyInstaller, cxFreeze, etc. | SymPy & others | Yes Inherently Object Oriented |
|
Numpy | PyPI | C, C++, Fortran, many others | C, C++, Fortran, many others | import statement | |||||||
R | No | Yes and extended via Ryacas package | Yes[60] | Via the tcltk library | Yes | Yes[61] |
|
|
built-in | |||||||
SageMath | No | Yes | Yes | No | Yes | Yes[68] | Many languages[69][70][71] | 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.5 / 14 June 2018 | 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 the .NET Framework |
SciPy | scipy.org community | Python | 2001 | 1.5.3 / 17 October 2020 | 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
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
- ^ 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.
- ^ 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.
- ^ 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
References
- ^ 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.
- ^ National Instruments. "Working with .m File Scripts in NI LabVIEW for Text Based Signal Processing, Analysis, and Math". Retrieved April 3, 2017.
- ^ "Maplesoft Media Releases". www.maplesoft.com. Retrieved May 12, 2024.
- ^ "PTC Mathcad Prime 4.0 | PTC". Retrieved August 12, 2018.
- ^ "Yet More New Ideas and New Functions: Launching Version 14.1 of Wolfram Language & Mathematica". Retrieved July 31, 2024.
- ^ Raspberry Pi now includes Mathematica and Wolfram Language for free
- ^ Mathematica Home Edition Released Macworld, February 2009
- ^ "SageMath". sagemath.org. Retrieved February 15, 2020.
- ^ "Dyalog APL Users Guide" (PDF).
- ^ "An Introduction to Object Oriented Programming for APL programmers".
- ^ a b "Dyalog APL Interface Guide" (PDF).
- ^ "GNU Octave: Object Oriented Programming". Retrieved May 18, 2011.
- ^ "Octave-Forge". Retrieved May 18, 2011.
- ^ "Octave Wiki: OctaveFortran". Archived from the original on July 17, 2012. Retrieved May 18, 2011.
- ^ a b "Octave Wiki: OctavePerl". Archived from the original on December 22, 2005. Retrieved May 18, 2011.
- ^ "Octave Wiki: OctaveTcl". Archived from the original on July 17, 2012. Retrieved May 18, 2011.
- ^ "Octave Wiki: OctaveJava". Retrieved May 18, 2011.
- ^ "Octave Wiki: CategoryExternal". Archived from the original on July 23, 2012. Retrieved May 18, 2011.
- ^ National Instruments. "LabVIEW Application Builder". Retrieved April 3, 2017.
- ^ National Instruments. "LabVIEW Object-Oriented Programming". Retrieved April 3, 2017.
- ^ National Instruments. "NI GOOP Development Suite". Retrieved April 3, 2017.
- ^ National Instruments. "G# Framework". Retrieved April 3, 2017.
- ^ National Instruments. "LabVIEW Tools Network". Retrieved April 3, 2017.
- ^ National Instruments (January 18, 2010). "Calling External Code From LabVIEW". Retrieved April 3, 2017.
- ^ National Instruments. "Call Perl and Python Scripts from LabVIEW". Retrieved April 3, 2017.
- ^ National Instruments. "Introduction to Scripting in Perl, Python and Tcl". Retrieved April 3, 2017.
- ^ "Lua for LabVIEW". Retrieved April 3, 2017.
- ^ National Instruments. "Calling LabVIEW VIs from Other Programming Languages". Retrieved April 3, 2017.
- ^ Maplesoft. "Object-Oriented Programming, Polymorphism, and More in Maple 9.5". Retrieved May 18, 2011.
- ^ "Maple Application Center".
- ^ "MAPLE: MATLAB® Connectivity". Retrieved May 18, 2011.
- ^ "Maple and Excel".
- ^ Maplesoft. "OpenMaple API for VisualBasic and Java". Retrieved May 18, 2011.
- ^ Wolfram Research. "C Code Generation User Guide". Retrieved May 19, 2011.
- ^ library.wolfram.com
- ^ Wolfram Research. "Mathematica Link for Excel 3.2". Retrieved May 18, 2011.
- ^ "Mathematica Link for LabVIEW 2.1". Archived from the original on August 8, 2011. Retrieved May 18, 2011.
- ^ Haskell packages
- ^ "Unisoftware plus". Archived from the original on July 17, 2011. Retrieved May 19, 2011.
- ^ MrMathematica website
- ^ Mathematica for ActivX
- ^ "Clojuratica". clojuratica.weebly.com. 2013. Retrieved June 14, 2013.
- ^ a b "Mathematica Symbolic Toolbox for MATLAB--Version 2.0". Retrieved May 18, 2011.
- ^ Mathworks. "MATLAB Compiler". Retrieved May 18, 2011.
- ^ Mathworks. "Symbolic Math Toolbox". Retrieved May 18, 2011.
- ^ Mathworks. "Object-Oriented Programming in MATLAB". Retrieved May 18, 2011.
- ^ "MATLAB File Exchange". Retrieved May 18, 2011.
- ^ Mathworks. "MEX-files Guide". Retrieved May 18, 2011.
- ^ Mathworks. "MATLAB Builder NE for Microsoft .NET Framework". Retrieved May 18, 2011.
- ^ Mathworks. "MATLAB Builder JA for Java language". Retrieved May 18, 2011.
- ^ "MATLAB Builder EX for Microsoft Excel". Retrieved May 18, 2011.
- ^ "Perlmonks". Retrieved January 24, 2013.
- ^ "O'Reilly tutorial". Retrieved January 24, 2013.
- ^ "PerlTK tutorial". Retrieved January 24, 2013.
- ^ "CPAN". Retrieved January 24, 2013.
- ^ "Calling Perl from C". Retrieved January 24, 2013.
- ^ R Development Core Team (April 13, 2011). "Object-oriented programming". R Language Definition. ISBN 978-3-900051-13-6. Retrieved May 18, 2011.
- ^ "CRAN: Contributed Packages". Retrieved May 18, 2011.
- ^ Hornik, Kurt (2011). The R FAQ. ISBN 978-3-900051-08-2.
- ^ Bengtsson, Henrik; Jason Riedy. "CRAN: R.matlab package". Retrieved May 18, 2011.
- ^ Grothendieck, G.; Carlos J. Gil Bellosta. "rJython R package". Retrieved May 18, 2011.
- ^ Neuwirth, Erich. "CRAN: RExcelInstaller package". Archived from the original on May 25, 2011. Retrieved May 18, 2011.
- ^ "A simple and efficient access to R from Python". Retrieved May 18, 2011.
- ^ "R Interface Now Available in SAS/IML Studio". Retrieved October 10, 2016.
- ^ "Additional Packages". Retrieved June 5, 2013.
- ^ "Interpreter Interfaces". Retrieved June 6, 2013.
- ^ "C/C++ Library Interfaces". Retrieved June 6, 2013.
- ^ "Using Compiled Code Interactively". Archived from the original on April 4, 2013. Retrieved June 6, 2013.