This article may need to be rewritten entirely to comply with Wikipedia's quality standards. (May 2018)
Mathematical software is software used to model, analyze or calculate numeric, symbolic or geometric data.
Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.
A mathematical model is a description of a system using mathematical concepts and language. The process of developing a mathematical model is termed mathematical modeling. Mathematical models are used in the natural sciences and engineering disciplines, as well as in the social sciences.
It is a type of application software which is used for solving mathematical problems or mathematical study. There are various views to what is the mathematics, so there is various views of the category of mathematical software which used for them, over from narrow to wide sense.
Application software is computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. Examples of an application include a word processor, a spreadsheet, an accounting application, a web browser, a media player, an aeronautical flight simulator, a console game or a photo editor. The collective noun application software refers to all applications collectively. This contrasts with system software, which is mainly involved with running the computer.
A mathematical problem is a problem that is amenable to being represented, analyzed, and possibly solved, with the methods of mathematics. This can be a real-world problem, such as computing the orbits of the planets in the solar system, or a problem of a more abstract nature, such as Hilbert's problems.
Mathematics includes the study of such topics as quantity, structure, space, and change.
A type of mathematical software (math library) also used by built in the part of another scientific software. A most primary them (for example, to calculate elementary function by floating point arithmetic) may be in the category of mathematical software. They are often usually built in the general purpose systems as middleware. So to speak, mathematical software is not only an application software but also basis of another scientific software. And that is its one of the characteristic of mathematical software as that mean.
Several mathematical software often have good user interface for educational purpose (see educational math software). But the core parts of solver of them direct dependent to the algorism by the mathematical knowledge. So it may be common sense that it does not process if it not well solved on mathematical construction at least. (There is physical limitation of hardware.) That is typical difference of mathematical software for another application software.
In computer science, a math library is a component of a programming language's standard library containing functions for the most common mathematical functions, for example trigonometry and exponentiation, etc.
In mathematics, an elementary function is a function of one variable which is the composition of a finite number of arithmetic operations (+ – × ÷), exponentials, logarithms, constants, and solutions of algebraic equations.
Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Specially, it may be sure common sense that to the attention that there is a such as next case in mathematical software using:
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 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 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.
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. Numerical analysis naturally finds application in all fields of engineering and the physical sciences, but in the 21st century also the life sciences, social sciences, medicine, business and even the arts have adopted elements of scientific computations. As an aspect of mathematics and computer science that generates, analyzes, and implements algorithms, the growth in power and the revolution in computing has raised the use of realistic mathematical models in science and engineering, and complex numerical analysis is required to provide solutions to these more involved models of the world. Ordinary differential equations appear in celestial mechanics ; numerical linear algebra is important for data analysis; stochastic differential equations and Markov chains are essential in simulating living cells for medicine and biology.
Algorism is the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits. One who practices algorism is known as an algorist. This positional notation system largely superseded earlier calculation systems that used a different set of symbols for each numerical magnitude, such as Roman numerals, and in some cases required a device such as an abacus.
An invention is a unique or novel device, method, composition or process. The invention process is a process within an overall engineering and product development process. It may be an improvement upon a machine or product or a new process for creating an object or a result. An invention that achieves a completely unique function or result may be a radical breakthrough. Such works are novel and not obvious to others skilled in the same field. An inventor may be taking a big step in success or failure.
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.
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.
A computer algebra system (CAS) 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.
Many tools are available for statistical analysis of data. See also Comparison of statistical packages.
The following tables compare general and technical information for a number of statistical analysis packages.
TK Solver is a mathematical modeling and problem solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc..
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.
See also Comparison of numerical analysis software.
Music mathematics software utilizes mathematics to analyze or synthesize musical symbols and patterns.
Growing number of mathematical software is available in the web browser, without the need to download or install any code.
Low-level mathematical libraries intended for use within other programming languages:
GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. It may also be used as a batch-oriented language. Since it is part of the GNU Project, it is free software under the terms of the GNU General Public License.
Wolfram Mathematica is a modern technical computing system spanning most areas of technical computing — including neural networks, machine learning, image processing, geometry, data science, visualizations, and others. The system is used in many technical, scientific, engineering, mathematical, and computing fields. 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.
Maple is a symbolic and numeric computing environment, and is also a multi-paradigm programming language.
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 is not Unix".
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.
Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication. They are the de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C and Fortran. Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions.
Mathematics encompasses a growing variety and depth of subjects over history, and comprehension requires a system to categorize and organize the many subjects into more general areas of mathematics. A number of different classification schemes have arisen, and though they share some similarities, there are differences due in part to the different purposes they serve. In addition, as mathematics continues to be developed, these classification schemes must change as well to account for newly created areas or newly discovered links between different areas. Classification is made more difficult by some subjects, often the most active, which straddle the boundary between different areas.
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, 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.
SageMath is a computer algebra system with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, number theory, calculus and statistics.
Euler is a free and open-source numerical software package. It contains a matrix language, a graphical notebook style interface, and a plot window. Euler is designed for higher level math such as calculus, optimization, and statistics.
Numerical linear algebra is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to mathematical questions. It is a subfield of numerical analysis, and a type of linear algebra. Because computers use floating-point arithmetic, they cannot exactly represent irrational data, and many algorithms increase that imprecision when implemented by a computer. Numerical linear algebra uses properties of vectors and matrices to develop computer algorithms that minimize computer error while retaining efficiency and precision.
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.