Mathematica
Overview
 
Mathematica is a computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing. It was conceived by Stephen Wolfram
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
  • Special
    Special functions
    Special 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 array
    Sparse array
    In 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 number
    Complex number
    A 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 visualization
    Visualization (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 equation
    Diophantine equation
    In 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, ODEs
    Ordinary differential equation
    In 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....

    , PDEs
    Partial differential equation
    In 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, DDEs
    Delay differential equation
    In 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 relation
    Recurrence relation
    In 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 statistics
    Statistics
    Statistics 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 optimization
    Optimization (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 procedural
    Procedural programming
    Procedural 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...

    , functional
    Functional programming
    In 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 oriented
    Object-oriented programming
    Object-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 interface
    User interface
    The 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 processing
    Image processing
    In 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 graphs
    Graph (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 mining
    Text mining
    Text 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 alignment
    Sequence alignment
    In 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 matching
    Pattern matching
    In 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 wavelet
    Wavelet
    A 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 editing
    Formula editor
    A 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.
 
x
OK