Mathematica
Overview
Stephen Wolfram
Stephen Wolfram is a British scientist and the chief designer of the Mathematica software application and the Wolfram Alpha computational knowledge engine.- Biography :...
and is developed by Wolfram Research of Champaign, Illinois
Champaign, Illinois
Champaign is a city in Champaign County, Illinois, in the United States. The city is located south of Chicago, west of Indianapolis, Indiana, and 178 miles northeast of St. Louis, Missouri. Though surrounded by farm communities, Champaign is notable for sharing the campus of the University of...
.
The name of the program "Mathematica" was suggested to Stephen Wolfram by Apple co-founder Steve Jobs
Steve Jobs
Steven Paul Jobs was an American businessman and inventor widely recognized as a charismatic pioneer of the personal computer revolution. He was co-founder, chairman, and chief executive officer of Apple Inc...
although Stephen Wolfram had thought about it earlier.
Features of Mathematica include:
- Elementary mathematical function library
- SpecialSpecial functionsSpecial functions are particular mathematical functions which have more or less established names and notations due to their importance in mathematical analysis, functional analysis, physics, or other applications....
mathematical function library - Matrix and data manipulation tools including support for sparse arraySparse arrayIn computer science, a sparse array is an array in which most of the elements have the same value . The occurrence of zero elements in a large array is inconvenient for both computation and storage...
s - Support for complex numberComplex numberA complex number is a number consisting of a real part and an imaginary part. Complex numbers extend the idea of the one-dimensional number line to the two-dimensional complex plane by using the number line for the real part and adding a vertical axis to plot the imaginary part...
, arbitrary precision, interval arithmetic and symbolic computation - 2D and 3D data and function visualizationVisualization (graphic)Visualization is any technique for creating images, diagrams, or animations to communicate a message. Visualization through visual imagery has been an effective way to communicate both abstract and concrete ideas since the dawn of man...
and animation tools - Solvers for systems of equations, diophantine equationDiophantine equationIn mathematics, a Diophantine equation is an indeterminate polynomial equation that allows the variables to be integers only. Diophantine problems have fewer equations than unknown variables and involve finding integers that work correctly for all equations...
s, ODEsOrdinary differential equationIn mathematics, an ordinary differential equation is a relation that contains functions of only one independent variable, and one or more of their derivatives with respect to that variable....
, PDEsPartial differential equationIn mathematics, partial differential equations are a type of differential equation, i.e., a relation involving an unknown function of several independent variables and their partial derivatives with respect to those variables...
, DAEs, DDEsDelay differential equationIn mathematics, delay differential equations are a type of differential equation in which the derivative of the unknown function at a certain time is given in terms of the values of the function at previous times....
and recurrence relationRecurrence relationIn mathematics, a recurrence relation is an equation that recursively defines a sequence, once one or more initial terms are given: each further term of the sequence is defined as a function of the preceding terms....
s - Numeric and symbolic tools for discrete and continuous calculus
- Multivariate statisticsStatisticsStatistics is the study of the collection, organization, analysis, and interpretation of data. It deals with all aspects of this, including the planning of data collection in terms of the design of surveys and experiments....
libraries including fitting, hypothesis testing, and probability and expectation calculations on over 100 distributions. - Constrained and unconstrained local and global optimizationOptimization (mathematics)In mathematics, computational science, or management science, mathematical optimization refers to the selection of a best element from some set of available alternatives....
- Programming language supporting proceduralProcedural programmingProcedural programming can sometimes be used as a synonym for imperative programming , but can also refer to a programming paradigm, derived from structured programming, based upon the concept of the procedure call...
, functionalFunctional programmingIn computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state...
and object orientedObject-oriented programmingObject-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
constructs - Toolkit for adding user interfaceUser interfaceThe user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
s to calculations and applications - Tools for image processingImage processingIn electrical engineering and computer science, image processing is any form of signal processing for which the input is an image, such as a photograph or video frame; the output of image processing may be either an image or, a set of characteristics or parameters related to the image...
and morphological image processing including image recognition - Tools for visualizing and analysing graphsGraph (mathematics)In mathematics, a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected objects are represented by mathematical abstractions called vertices, and the links that connect some pairs of vertices are called edges...
- Tools for combinatoric problems
- Tools for text miningText miningText mining, sometimes alternately referred to as text data mining, roughly equivalent to text analytics, refers to the process of deriving high-quality information from text. High-quality information is typically derived through the devising of patterns and trends through means such as...
including regular expressions and semantic analysis - Data mining tools such as cluster analysis, sequence alignmentSequence alignmentIn bioinformatics, a sequence alignment is a way of arranging the sequences of DNA, RNA, or protein to identify regions of similarity that may be a consequence of functional, structural, or evolutionary relationships between the sequences. Aligned sequences of nucleotide or amino acid residues are...
and pattern matchingPattern matchingIn computer science, pattern matching is the act of checking some sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually has to be exact. The patterns generally have the form of either sequences or tree structures... - Number theory function library
- Tools for financial calculations including bonds, annuities, derivatives, options etc.
- Group theory functions
- Libraries for waveletWaveletA wavelet is a wave-like oscillation with an amplitude that starts out at zero, increases, and then decreases back to zero. It can typically be visualized as a "brief oscillation" like one might see recorded by a seismograph or heart monitor. Generally, wavelets are purposefully crafted to have...
analysis on sounds, images and data - Control systems libraries
- Continuous and discrete integral transforms
- Import and export filters for data, images, video, sound, CAD, GIS, document and biomedical formats
- Database collection for mathematical, scientific, and socio-economic information and access to WolframAlpha data and computations
- Technical word processing including formula editingFormula editorA formula editor is a name for a computer program that is used to typeset mathematical works or formulae.Formula editors typically serve two purposes:...
and automated report generating - Tools for connecting to DLLs.
Discussions