List of numerical-analysis software
Appearance
Listed here are notable end-user computer applications intended for use with numerical or data analysis:
Numerical-software packages
[edit]- Analytica is a widely used proprietary tool for building and analyzing numerical models. It is a declarative and visual programming language based on influence diagrams.
- FlexPro is a program for data analysis and presentation of measurement data. It provides a rich Excel-like user interface and its built-in vector programming language FPScript has a syntax similar to MATLAB.
- FreeMat, an open-source MATLAB-like environment with a GPL license.
- GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. The 4.0 and newer releases of Octave include a GUI. A number of independently developed Linux programs (Cantor, KAlgebra) also offer GUI front-ends to Octave. An active community provides technical support to users.
- Igor Pro is proprietary software for performing complex numerical calculations, statistical analysis, and producing publication-quality graphics. It comes with its own programming language, in which numerical algorithms can be implemented.
- Jacket, a proprietary GPU Toolbox for MATLAB, enabling some MATLAB computations to be offloaded to the GPU for acceleration and data visualization purposes.
- jLab, a research platform for building an open-source MATLAB-like environment in pure Java and Groovy. Currently supports interpreted j-Scripts (MATLAB-like) and compiled GroovySci (extension to Groovy) scripts that provides direct interfacing to Java code and scripting access to many popular Java scientific libraries (e.g. Weka and JSci) and application Wizards.
- Julia (programming language) is a high-level dynamic language with a surface similarity to MATLAB. Packages such as DataFrames.jl are available.
- LabVIEW offers both textual and graphical-programming approaches to numerical analysis. Its text-based programming language MathScript uses .m-file-script syntax providing some compatibility with MATLAB and its clones.
- LAPACK provides Fortran 90 routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems and the associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, and generalized Schur).
- MATLAB is a widely used proprietary software for performing numerical computations.[1][2][3] It comes with its own programming language, in which numerical algorithms can be implemented.
- GNU MCSim a simulation and numerical integration package, with fast Monte Carlo and Markov chain Monte Carlo capabilities.
- ML.NET is a free-software machine-learning library for the C# programming language.[4][5]
- NAG Library is an extensive software library of highly optimized numerical-analysis routines for various programming environments.
- O-Matrix is a proprietary licensed matrix programming language for mathematics, engineering, science, and financial analysis.
- pandas is a BSD-licensed library providing data structures and data analysis tools for the Python programming language.
- Perl Data Language provides large multidimensional arrays for the Perl programming language, and utilities for image processing and graphical plotting.
- ScaLAPACK is a library of high-performance linear algebra routines for parallel distributed-memory machines that features functionality similar to LAPACK (solvers for dense and banded linear systems, least-squares problems, eigenvalue problems, and singular-value problem).
- Scilab is advanced numerical analysis package similar to MATLAB or Octave.[6][7] Comes with a complete GUI and Xcos which is alternative to Simulink. (free software, GPL-compatible CeCILL license)
- Sysquake is a computing environment with interactive graphics for mathematics, physics and engineering. Like other applications from Calerga, it is based on a MATLAB-compatible language.
- TK Solver is a mathematical modeling and problem-solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc.
- Torch is a deep-learning library with support for manipulation, statistical analysis and presentation of Tensors.
- XLfit, A plugin to Excel which provides curve-fitting and statistical analysis.
General-purpose computer algebra systems
[edit]- Macsyma, a general-purpose computer algebra system, which has a free GPL-licensed version called Maxima.
- Maple, a general-purpose commercial mathematics software package.
- Mathcad offers a WYSIWYG interface and the ability to generate publication-quality mathematical equations.
- Mathematica offers numerical evaluation, optimization and visualization of a very wide range of numerical functions. It also includes a programming language and computer algebra capabilities.[8][9][10][11]
- PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.
- SageMath is an open-source math software,[12] with a unified Python interface which is available as a text interface or a graphical web-based one. Includes interfaces for open-source and proprietary general purpose CAS, and other numerical analysis programs, like PARI/GP, GAP, gnuplot, Magma, and Maple.
- Speakeasy is an interactive numerical environment also featuring an interpreted programming language. Born in the mid '60s for matrix manipulation and still in continuous evolution, it pioneered the most common paradigms of this kind of tools, featuring dynamic typing of the structured data objects, dynamic allocation and garbage collection, operators overloading, dynamic linking of compiled or interpreted additional modules contributed by the community of the users and so on.
- Trilinos is a collection of open-source object-oriented libraries for use in scientific and engineering applications. Trilinos is based on scalable, parallel linear-algebra algorithms.
Interface-oriented
[edit]- Baudline is a time-frequency browser for numerical signals analysis and scientific visualization.
- COMSOL Multiphysics is a finite-element analysis, solver and simulation software / FEA Software package for various physics and engineering applications, especially coupled phenomena, or multiphysics.
- Dataplot is provided by NIST.
- DADiSP is a commercial program focused on DSP that combines the numerical capability of MATLAB with a spreadsheet-like interface.
- EJS is an open-source software tool, written in Java, for generating simulations.
- Euler Mathematical Toolbox is a powerful numerical laboratory with a programming language that can handle real, complex and interval numbers, vectors and matrices. It can produce 2D/3D plots.
- FEATool Multiphysics is a Matlab GUI toolbox for finite element FEM and PDE multiphysics simulations.
- FEniCS Project is a collection of project for automated solutions to PDEs.
- Hermes is a C++ library of advanced adaptive finite element algorithms to solve PDEs and multiphysics coupled problems.
- Fityk is a curve fitting and data-analysis program. Primarily used for peak fitting and analyzing peak data.
- FlexPro is a commercial program for interactive and automated analysis and presentation of mainly measurement data. It supports many binary instrument data formats and has its own vectorized programming language.
- IGOR Pro, a software package with emphasis on time series, image analysis, and curve fitting. It comes with its own programming language and can be used interactively.
- LabPlot is a data analysis and visualization application built on the KDE Platform.
- MFEM is a free, lightweight, scalable C++ library for finite element methods.
- Origin, a software package that is widely used for making scientific graphs. It comes with its own C/C++ compiler that conforms quite closely to ANSI standard.
- PAW is a free data analysis package developed at CERN.
- SPSS,[13][14][15][16][17] an application for statistical analysis.
- QtiPlot is a data analysis and scientific visualisation program, similar to Origin.
- ROOT is a free object-oriented multi-purpose data-analysis package, developed at CERN.
- Salome is a free software tool that provides a generic platform for pre- and post-processing for numerical simulation.
- Shogun, an open-source large-scale machine-learning toolbox that provides several SVM implementations (like libSVM, SVMlight) under a common framework and interfaces to Octave, MATLAB, Python, R
- Waffles is a free-software collection of command-line tools designed for scripting machine-learning operations in automated experiments and processes.
- Weka is a suite of machine learning software written at the University of Waikato.
Language-oriented
[edit]- acslX is a software application for modeling and evaluating the performance of continuous systems described by time-dependent, nonlinear differential equations.
- ADMB is a software suite for non-linear statistical modeling based on C++ which uses automatic differentiation.
- AMPL is a mathematical modeling language for describing and solving high complexity problems for large-scale optimization.
- Ch, a commercial C/C++-based interpreted language with computational array for scientific numerical computation and visualization.[18]
- APMonitor: APMonitor is a mathematical modeling language for describing and solving representations of physical systems in the form of differential and algebraic equations.
- Armadillo is C++ template library for linear algebra; includes various decompositions, factorisations, and statistics functions; its syntax (API) is similar to MATLAB.
- Clojure with numeric libraries Neanderthal, ClojureCUDA, and ClojureCL to call optimized matrix and linear algebra functions on CPU and GPU.
- Julia[19][20] is designed for cloud parallel scientific computing in mind on LLVM-based JIT as a backend. Lightweight “green” threading (coroutines). Direct calls of C functions from code (no wrappers or special APIs needed), support for Unicode. Powerful shell-like capabilities for managing other processes. Lisp-like macros and other metaprogramming facilities.
- ELKI a software framework for development of data mining algorithms in Java.
- GAUSS, a matrix programming language for mathematics and statistics.
- GNU Data Language, a free compiler designed as a drop-in replacement for IDL.
- IDL,[21] a commercial interpreted language based on FORTRAN with some vectorization. Widely used in the solar physics, fusion, atmospheric sciences and medical communities. The GNU Data Language is a free alternative.
- ILNumerics.Net, a C# math library that brings numeric computing functions for science, engineering and financial analysis to the .NET Framework.
- KPP generates Fortran 90, FORTRAN 77, C, or Matlab code for the integration of ordinary differential equations (ODEs) resulting from chemical reaction mechanisms.
- Madagascar, an open-source software package for multidimensional data analysis and reproducible computational experiments.
- mlpack is an open-source library for machine learning, providing a simple and consistent API, while exploiting C++ language features to provide maximum performance and flexibility
- NCAR Command Language is an interpreted language designed specifically for scientific data analysis and visualization.
- O-Matrix - a matrix programming language for mathematics, engineering, science, and financial analysis.
- OptimJ is a mathematical Java-based modeling language for describing and solving high-complexity problems for large-scale optimization.
- Perl Data Language,[22][23] also known as PDL, an array extension to Perl ver.5, used for data manipulation, statistics, numerical simulation and visualization.
- Python[24][25] with well-known scientific computing packages: NumPy, SymPy and SciPy.[26][27][28]
- R is a widely used system with a focus on data manipulation and statistics which implements the S language.[29] Many add-on packages are available (free software, GNU GPL license).
- SAS,[30] a system of software products for statistics. It includes SAS/IML,[31] a matrix programming language.
- VisSim is a visual block-diagram language for simulation of nonlinear dynamic systems and model-based embedded development. Its fast ODE engine supports real-time simulation of complex large-scale models. The highly efficient fixed-point code generator allows targeting of low-cost fixed-point embedded processors.
- Wolfram Language which is used within many Wolfram technologies such as Mathematica and the Wolfram Cloud
- World Programming System (WPS), supports mixing Python, R and SAS languages in a single-user program for statistical analysis and data manipulation
- Yorick is an interpreted programming language designed for numerics, graph plotting and simulation.
Historically significant
[edit]- Expensive Desk Calculator written for the TX-0 and PDP-1 in the late 1950s or early 1960s.
- S is an (array-based) programming language with strong numerical support. R is an implementation of the S language.
See also
[edit]References
[edit]- ^ Quarteroni, A., Saleri, F., & Gervasio, P. (2006). Scientific computing with MATLAB and Octave. Berlin: Springer.
- ^ Gander, W., & Hrebicek, J. (Eds.). (2011). Solving problems in scientific computing using Maple and Matlab®. Springer Science & Business Media.
- ^ Barnes, B., & Fulford, G. R. (2011). Mathematical modelling with case studies: a differential equations approach using Maple and MATLAB. Chapman and Hall/CRC.
- ^ David Ramel (2018-05-08). "Open Source, Cross-Platform ML.NET Simplifies Machine Learning -- Visual Studio Magazine". Visual Studio Magazine. Retrieved 2018-05-10.
- ^ Kareem Anderson (2017-05-09). "Microsoft debuts ML.NET cross-platform machine learning framework". On MSFT. Retrieved 2018-05-10.
- ^ Bunks, C., Chancelier, J. P., Delebecque, F., Goursat, M., Nikoukhah, R., & Steer, S. (2012). Engineering and scientific computing with Scilab. Springer Science & Business Media.
- ^ Thanki, R. M., & Kothari, A. M. (2019). Digital image processing using SCILAB. Springer International Publishing.
- ^ Maeder, R. E. (1991). Programming in mathematica. Addison-Wesley Longman Publishing Co., Inc.
- ^ Stephen Wolfram. (1999). The MATHEMATICA® book, version 4. Cambridge University Press.
- ^ Shaw, W. T., & Tigg, J. (1993). Applied Mathematica: getting started, getting it done. Addison-Wesley Longman Publishing Co., Inc.
- ^ Marasco, A., & Romano, A. (2001). Scientific Computing with Mathematica: Mathematical Problems for Ordinary Differential Equations; with a CD-ROM. Springer Science & Business Media.
- ^ Zimmermann, P., Casamayou, A., Cohen, N., Connan, G., Dumont, T., Fousse, L., ... & Bray, E. (2018). Computational Mathematics with SageMath. SIAM.
- ^ Wagner III, W. E. (2019). Using IBM® SPSS® statistics for research methods and social science statistics. Sage Publications.
- ^ Pollock III, P. H., & Edwards, B. C. (2019). An IBM® SPSS® Companion to Political Analysis. Cq Press.
- ^ Babbie, E., Wagner III, W. E., & Zaino, J. (2018). Adventures in social research: Data analysis using IBM SPSS statistics. Sage Publications.
- ^ Aldrich, J. O. (2018). Using IBM® SPSS® Statistics: An interactive hands-on approach. Sage Publications.
- ^ Stehlik-Barry, K., & Babinec, A. J. (2017). Data Analysis with IBM SPSS Statistics. Packt Publishing Ltd.
- ^ Ch Scientific Numerical Computing
- ^ Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. B. (2017). Julia: A fresh approach to numerical computing. SIAM Review, 59(1), 65-98.
- ^ Bezanson, J., Karpinski, S., Shah, V. B., & Edelman, A. (2012). Julia: A fast dynamic language for technical computing. arXiv preprint arXiv:1209.5145.
- ^ Gumley, L. E. (2001). Practical IDL programming. Elsevier.
- ^ Christiansen, T., Wall, L., & Orwant, J. (2012). Programming Perl: Unmatched power for text processing and scripting. " O'Reilly Media, Inc.".
- ^ Srinivasan, S. (1997). Advanced perl programming. " O'Reilly Media, Inc.".
- ^ Van Rossum, G. (2007, June). Python Programming Language. In USENIX annual technical conference (Vol. 41, p. 36).
- ^ Sanner, M. F. (1999). Python: a programming language for software integration and development. J Mol Graph Model, 17(1), 57-61.
- ^ Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python.
- ^ Bressert, E. (2012). SciPy and NumPy: an overview for developers. " O'Reilly Media, Inc.".
- ^ Blanco-Silva, F. J. (2013). Learning SciPy for numerical and scientific computing. Packt Publishing Ltd.
- ^ Ihaka, R., & Gentleman, R. (1996). R: a language for data analysis and graphics. Journal of computational and graphical statistics, 5(3), 299-314.
- ^ Khattree, R., & Naik, D. N. (2018). Applied multivariate statistics with SAS software. SAS Institute Inc.
- ^ SAS/IML