Mathematical software

Last updated

Mathematical software is software used to model, analyze or calculate numeric, symbolic or geometric data. [1]

Contents

Evolution of mathematical software

Numerical analysis and symbolic computation had been in most important place of the subject, but other kind of them is also growing now. A useful mathematical knowledge of such as algorism which exist before the invention of electronic computer, helped to mathematical software developing. On the other hand, by the growth of computing power (such as seeing on Moore's law), the new treatment (for example, a new kind of technique such as data assimilation which combined numerical analysis and statistics) needing conversely the progress of the mathematical science or applied mathematics.
The progress of mathematical information presentation such as TeX or MathML [2] will demand to evolution form formula manipulation language to true mathematics manipulation language (notwithstanding the problem that whether mathematical theory is inconsistent or not). And popularization of general purpose mathematical software, special purpose mathematical software [3] so called one purpose software which used special subject will alive with adapting for environment progress at normalization of platform. So the diversity of mathematical software will be kept.

Solvers

A solver is a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic form and calculates their solution. In a solver, the emphasis is on creating a program or library that can easily be applied to other problems of similar type.

Software calculator

A software calculator allows the user to perform simple mathematical operations, like addition, multiplication, exponentiation and trigonometry. Data input is typically manual, and the output is a text label.

Computer algebra systems

Many mathematical suites are computer algebra systems that use symbolic mathematics. They are designed to solve classical algebra equations and problems in human readable notation.

Statistics

Many tools are available for statistical analysis of data. See also Comparison of statistical packages.

Theorem provers and proof assistants

Optimization software

Geometry

Numerical analysis

The Netlib repository contains various collections of software routines for numerical problems, mostly in Fortran and C. Commercial products implementing many different numerical algorithms include the IMSL, NMath and NAG libraries; a free alternative is the GNU Scientific Library. A different approach is taken by the Numerical Recipes library, where emphasis is placed on clear understanding of algorithms.

Many computer algebra systems (listed above) can also be used for numerical computations.

Music mathematics software

Music mathematics software utilizes mathematics to analyze or synthesize musical symbols and patterns.

Websites

A growing number of mathematical software is available in web browsers, without the need to download or install any code. [5]

Programming libraries

Low-level mathematical libraries intended for use within other programming languages:

See also

Related Research Articles

<span class="mw-page-title-main">Numerical analysis</span> Study of algorithms using numerical approximation

Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. It is the study of numerical methods that attempt to find approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics, numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.

<span class="mw-page-title-main">Wolfram Mathematica</span> Computational software program

Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimization, plotting functions and various types of data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other programming languages. It was conceived by Stephen Wolfram, and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica. Mathematica 1.0 was released on June 23, 1988 in Champaign, Illinois and Santa Clara, California.

A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.

<span class="mw-page-title-main">Maple (software)</span> Mathematical computing environment

Maple is a symbolic and numeric computing environment as well as a multi-paradigm programming language. It covers several areas of technical computing, such as symbolic mathematics, numerical analysis, data processing, visualization, and others. A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.

Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.

Macsyma is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC.

<span class="mw-page-title-main">Yacas</span> Computer algebra system

Yacas is a general-purpose computer algebra system. The name is an acronym for Yet Another Computer Algebra System.

GiNaC is a free computer algebra system released under the GNU General Public License. The name is a recursive acronym for "GiNaC is Not a CAS". This is similar to the GNU acronym "GNU's not Unix".

<span class="mw-page-title-main">LAPACK</span> Software library for numerical linear algebra

LAPACK is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition. LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in version 3.2 (2008). The routines handle both real and complex matrices in both single and double precision. LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines.

<span class="mw-page-title-main">Mathomatic</span> Computer algebra system

Mathomatic is a free, portable, general-purpose computer algebra system (CAS) that can symbolically solve, simplify, combine and compare algebraic equations, and can perform complex number, modular, and polynomial arithmetic, along with standard arithmetic. It does some symbolic calculus (derivative, extrema, Taylor series, and polynomial integration and Laplace transforms), numerical integration, and handles all elementary algebra except logarithms. Trigonometric functions can be entered and manipulated using complex exponentials, with the GNU m4 preprocessor. Not currently implemented are general functions like f(x), arbitrary-precision and interval arithmetic, and matrices.

Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to questions in continuous mathematics. It is a subfield of numerical analysis, and a type of linear algebra. Computers use floating-point arithmetic and cannot exactly represent irrational data, so when a computer algorithm is applied to a matrix of data, it can sometimes increase the difference between a number stored in the computer and the true number that it is an approximation of. Numerical linear algebra uses properties of vectors and matrices to develop computer algorithms that minimize the error introduced by the computer, and is also concerned with ensuring that the algorithm is as efficient as possible.

<span class="mw-page-title-main">Computer algebra</span> Scientific area at the interface between computer science and mathematics

In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects. Although computer algebra could be considered a subfield of scientific computing, they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers, while symbolic computation emphasizes exact computation with expressions containing variables that have no given value and are manipulated as symbols.

<span class="mw-page-title-main">PARI/GP</span> Computer algebra system

PARI/GP is a computer algebra system with the main aim of facilitating number theory computations. Versions 2.1.0 and higher are distributed under the GNU General Public License. It runs on most common operating systems.

Tensor software is a class of mathematical software designed for manipulation and calculation with tensors.

Validated numerics, or rigorous computation, verified computation, reliable computation, numerical verification is numerics including mathematically strict error evaluation, and it is one field of numerical analysis. For computation, interval arithmetic is used, and all results are represented by intervals. Validated numerics were used by Warwick Tucker in order to solve the 14th of Smale's problems, and today it is recognized as a powerful tool for the study of dynamical systems.

References

  1. See, e.g., the editorial charter of the ACM Transactions on Mathematical Software or the problem taxonomy of the National Institute of Standards and Technology Guide to Available Mathematical Software (both retrieved 2015-02-15).
  2. Both MathML and TeX may be only simple a kind of computer language which enable also to present the mathematical formula. However they also may be the mathematical software if the term of software interpreted as whole technology on how to use computer, at most wide sense.
  3. Included your written script code on the general purpose mathematical software.
  4. Musimathics website, freeware download
  5. Internet Accessible Mathematical Computation, Institute for Computational Mathematics, Kent State University, retrieved 2015-02-15.