All Topics  
Mathematica

 

   Email Print
   Bookmark   Link






 

Mathematica



 
 
Mathematica is a computational software program used widely in scientific, engineering, and mathematical fields and other areas of technical computing. It was originally conceived by Stephen Wolfram
Stephen Wolfram

Stephen Wolfram is a British physicist, mathematician and businessman known for his work in theoretical particle physics, cosmology, cellular automaton, complexity theory, and computer algebra....
 and developed by a team of mathematicians and programmers that he assembled and led. It is developed by Wolfram Research of Champaign, Illinois
Champaign, Illinois

Champaign is a city in Champaign County, Illinois, Illinois, in the United States. The city is located south of Chicago and west of Indianapolis, Indiana....
.
features of Mathematica include:

ematica is split into two parts, the "kernel" and the "front end".






Discussion
Ask a question about 'Mathematica'
Start a new discussion about 'Mathematica'
Answer questions from other users
Full Discussion Forum



Recent Posts









Encyclopedia


Mathematica is a computational software program used widely in scientific, engineering, and mathematical fields and other areas of technical computing. It was originally conceived by Stephen Wolfram
Stephen Wolfram

Stephen Wolfram is a British physicist, mathematician and businessman known for his work in theoretical particle physics, cosmology, cellular automaton, complexity theory, and computer algebra....
 and developed by a team of mathematicians and programmers that he assembled and led. It is developed by Wolfram Research of Champaign, Illinois
Champaign, Illinois

Champaign is a city in Champaign County, Illinois, Illinois, in the United States. The city is located south of Chicago and west of Indianapolis, Indiana....
.

Features

Some features of Mathematica include:
  • Libraries of elementary and special
    Special functions

    Special functions are particular function s which have more or less established names and notations due to their importance in mathematical analysis, functional analysis, physics, or other applications....
     mathematical functions
  • 2D and 3D data and function visualization
    Visualization (graphic)

    Visualization is any technique for creating s, 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....
     tools
  • 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 .A naive implementation of an array may allocate space for the entire array, but in the case where there are few non-default values, this implementation is inefficient....
    s
  • Solvers for systems of equations, 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 its 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 its partial derivatives with respect to those variables....
    , DAEs
    Differential algebraic equation

    In mathematics, differential algebraic equations are a general form of differential equation, given in implicit form. They can be writtenwhere...
    , 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 relations
    Recurrence relation

    In mathematics, a recurrence relation is an equation that defines a sequence recursion: each term of the sequence is defined as a Function of the preceding terms....
  • Numeric and symbolic tools for discrete and continuous calculus
  • Multivariate statistics
    Statistics

    Statistics is a Mathematics pertaining to the collection, analysis, interpretation or explanation, and presentation of data. It also provides tools for prediction and forecasting based on data....
     libraries
  • Constrained and unconstrained local and global optimization
    Optimization (mathematics)

    In mathematics, the simplest case of optimization, or mathematical programming, refers to the study of problems in which one seeks to maxima and minima or maxima and minima a Function of a real variable by systematically choosing the values of Real number or integer variables from within an allowed set....
  • A 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 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 function s and avoids program state and immutable object data....
     and object oriented constructs
  • A toolkit for adding user interface
    User interface

    The user interface is the aggregate of means by which people—the User s—Interaction with the system—a particular machine, device, computer program or other complex tools....
    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 , such as photographs or video frame; the output of image processing can be either an image or a set of characteristics or parameters related to the image....
     
  • 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....
  • Data mining tools such as cluster analysis, sequence alignment and pattern matching
  • Libraries of number theory functions
  • Continuous and discrete integral transform
    Integral transform

    In mathematics, an integral transform is any list of transforms T of the following form:The input of this transform is a function f, and the output is another function TF....
    s
  • Import and export filters for data, images, video, sound, CAD, GIS, document and biomedical formats
  • A collection of databases of mathematical, scientific, and socio-economic information (see below)
  • Support for complex number
    Complex number

    In mathematics, the complex numbers are an extension of the real numbers obtained by adjoining an imaginary unit, denoted i, which satisfies:...
    , arbitrary precision and symbolic computation for all functions
  • Notebook interface for review and re-use of previous inputs and outputs including graphics and text annotations
  • 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 typical serve two purposes:...


Front ends

Mathematica is split into two parts, the "kernel" and the "front end". The kernel interprets expressions (Mathematica code) and returns result expressions.

The Mathematica Front End provides a GUI
Gui

Gui or guee is a generic term to refer to grillinged dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients....
 interface which allows the creation and editing of Notebook documents which can contain program code with prettyprint
Prettyprint

Prettyprint is the application of any of various stylistic formatting conventions to Text-based , source code, Markup language, and other similar kinds of content....
ing, formatted text together with results including typeset mathematics, graphics, GUI components, tables and sounds. All contents and formatting can be generated algorithmically or interactively edited and most standard word processing capabilities are supported but only one level of "undo" is supported.

Documents can be structured using a hierarchy of cells, which allow for outlining and sectioning of a document and support automatic numbering index creation. Documents can be presented in a slide show environment for presentations. Starting with version 3.0 of the software, notebooks and their contents are represented as Mathematica expressions that can be created, modified or analysed by Mathematica programs. This allows conversion to other formats such as TeX
TeX

TeX is a typesetting system designed and mostly written by Donald Knuth. Together with the METAFONT language for font description and the Computer Modern typefaces, it was designed with two main goals in mind: to allow anybody to produce high-quality books using a reasonable amount of effort, and to provide a system that would give the exact...
 or XML.

The Mathematica Front End includes development tools such as a debugger, input completion and automatic syntax coloring.

The kernel and the front end communicate via the MathLink
Mathematica

Mathematica is a computational software program used widely in scientific, engineering, and mathematical fields and other areas of technical computing....
 protocol. It is possible to use the kernel on one computer and the front end on another.

The standard Mathematica front end is used by default, but alternative front ends are available:

  • The Wolfram Workbench is an Eclipse
    Eclipse (software)

    Eclipse is a multi-language software development environment comprising an Integrated development environment and a plug-in system to extend it....
     based IDE
    Integrated development environment

    An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
    , introduced in 2006, that provides project based code development tools for Mathematica, including revision management, debugging, profiling, and testing.
  • Microsoft Excel
    Microsoft Excel

    Microsoft Excel is a spreadsheet-application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables and a macro programming language called VBA ....
     can be used as a front end to Mathematica.
  • GUIKit allows the construction of custom interfaces to Mathematica using the Java Swing libraries.
  • Mathematica includes a command line front end.
  • JMath is a third party front end based on GNU readline
    GNU readline

    GNU readline is a software library created and maintained by the GNU Project. It is licensed under the GNU General Public License, and used in projects such as GNU bash....
     that runs on UNIX-like operating systems.
  • MASH makes it possible to run self contained Mathematica programs (with arguments) from the UNIX command line.


High-performance computing

In recent years the capabilities for high-performance computing
High-performance computing

High-performance computing uses supercomputers and computer clusters to solve advanced computation problems. Today, computer systems approaching the teraflops-region are counted as HPC-computers....
 have been extended with the introduction of packed arrays (version 4, 1999) , sparse matrices (version 5, 2003), and by adopting the free GNU Multi-Precision Library
GNU Multi-Precision Library

The GNU Multiple-Precision Library, also known as GMP, is a free software library for arbitrary-precision arithmetic, operating on signed integers, rational numbers, and floating point numbers....
 to evaluate high-precision arithmetic.

Version 5.2 (2005) added automatic multi-threading when computations are performed on modern multi-core computers. This release included CPU specific optimized libraries. In addition Mathematica is supported by third party specialist acceleration hardware such as ClearSpeed
ClearSpeed

ClearSpeed Technology, PLC is a corporation based in Bristol, England that sells Attached Processors , or Coprocessors, as they are also called for use as accelerators in High Performance Computing and high-performance embedded applications....
.

In 2002 gridMathematica
GridMathematica

gridMathematica is a product sold by Wolfram Research which is based on its main product Mathematica. gridMathematica has additional features which allow a cluster of computers to work in parallel to solve some types of problems in less time than would be possible using just one computer One front end is used to communicate with multiple ker...
 was introduced to allow user level parallel programming
Parallel computing

Parallel computing is a form of computing in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved Concurrency ....
 on heterogeneous clusters and multiprocessor systems and in 2008 parallel computing technology was included in all Mathematica licenses including support for grid technology such as Windows HPC Server 2008
Windows HPC Server 2008

Windows HPC Server 2008, released in September 2008, is the successor product to Windows_Server_2003#Windows_Compute_Cluster_Server. Like WCCS, Windows HPC Server 2008 is designed for high-end applications that require high performance computing clusters....
, Microsoft Compute Cluster Server
Windows Server 2003

Windows Server 2003 is a Server operating system produced by Microsoft. Introduced on 24 April 2003 as the successor to Windows 2000 Server, it is considered by Microsoft to be the cornerstone of its Windows Server System line of business server products....
 and Sun Grid
Sun Grid

Sun Grid is an on-demand grid computing service operated by Sun Microsystems. The Sun Grid Compute Utility at provides access to a substantial computing resource over the Internet for United States dollar1 per CPU-hour....
.

Development

Several solutions are available for deploying applications written in Mathematica:

  • Mathematica Player Pro is a runtime version of Mathematica that will run any Mathematica application but does not allow editing or creation of the code.
  • Mathematica Player is a free interactive player is provided for running Mathematica programs that have been digitally signed for non-commercial use via a Wolfram Research web service, or published on the Wolfram Demonstrations Project website. It can also view unsigned Mathematica files, but not run them.
  • webMathematica allows a web browser to act as a front end to a remote Mathematica server. It is designed to allow a user written application to be remotely accessed via a browser on any platform. It may not be used to give full access to Mathematica. The current version of webMathematica (2.3) does not support Mathematica 6.


Connections with other applications

Communication with other applications occurs through a protocol called . It allows communication between the Mathematica kernel and front-end, and also provides a general interface between the kernel and other applications. Wolfram Research freely distributes a developer kit for linking applications written in the C programming language
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 to the Mathematica kernel through MathLink. Two other components of Mathematica, whose underlying protocol is MathLink, allow developers to establish communication between the kernel and a .NET or Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 program: .NET/Link. and J/Link.

Using .NET/Link, a .NET program can ask Mathematica to perform computations; likewise, a Mathematica program can load .NET classes
Class (computer science)

In object-oriented programming, a class is a programming language construct that is used as a blueprint to create Object s. This blueprint includes Attribute s and Method s that the created objects all share....
, manipulate .NET objects and perform method calls. This makes it possible to build .NET graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
s from within Mathematica. Similar functionality is achieved with J/Link, but with Java programs instead of .NET programs.

Communication with SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 databases is achieved through built-in support for JDBC.

Mathematica can also install web services from a WSDL
Web Services Description Language

The Web Services Description Language is an XML-based language that provides a model for describing Web services....
 description.

Mathematical equations can be exchanged with other computational or typesetting software as MathML
MathML

Mathematical Markup Language is an application of XML for describing mathematics notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web documents....
.

Computable data

Mathematica includes large collections of curated data in a consistent framework for immediate computation. Data can be accessed programmatically to inform or test models and is updated automatically from a data server at Wolfram Research. Some data such as share prices and weather are delivered in real-time. Data sets currently include:
  • Astronomical data: 99 properties of 155,000 astronomical bodies
  • Chemical data: 111 properties of 34,000 chemical compounds, 86 properties of 118 chemical elements and 35 properties of 1000 subatomic particles
  • Geopolitical data: 225 properties of 237 countries and 14 properties of 160,000 cities around the world
  • Financial data: 71 historical and real-time properties of 186,000 shares and financial instruments
  • Mathematical data: 89 properties of 187 polyhedra, 258 properties of 3000 graphs, 63 properties of 6 knots, 37 properties of 21 lattice structures, 32 properties of 52 geodesic schemes
  • Language data: 37 properties of 149,000 English words. 26 additional language dictionaries
  • Biomedical data: 41 properties of all 40,000 human genes, 30 properties of 27,000 proteins
  • Weather data: live and historical measurements of 43 properties of 17,000 weather stations around the world

Licensing

Mathematica is proprietary software
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 protected by both trade secret
Trade secret

A trade secret is a formula, Best practice, process, design, Legal instrument, pattern, or compilation of information which is not generally known or reasonably ascertainable, by which a business can obtain an economic advantage over competitors or customers....
 and copyright
Copyright

Copyright is a form of intellectual property which gives the creator of an original work exclusive rights for a certain time period in relation to that work, including its publication, distribution and adaptation; after which time the work is said to enter the public domain....
 law.

A regular single-user license for Mathematica costs around US$2300-2500, and includes four additional kernels for parallel computations and one year of service which includes updates, technical support, a home use license, a webMathematica Amateur license, a Wolfram Workbench license and three Mathematica Player Pro licenses. Discounts are available for government, charity, educational, pre-college, school, student, home use and retiree use and depend on geographical region. Educational site licenses allow use by students at home. A license manager similar to Flexlm
FLEXlm

FLEXnet Publisher is a common software license manager from Acresso Software which implementscopy protection and is often used in corporate environments to provide floating licenses to multiple end users of computer software....
 is available to provide sharing of licenses within a group.

Platform availability

Mathematica 7 is supported on various versions of Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, Apple's Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 and Sun's Solaris
Solaris Operating System

Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
 platforms. All platforms are supported with 64-bit implementations. Earlier versions of Mathematica supported other operating systems, including MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
, NeXTSTEP
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
, HP-UX
HP-UX

HP-UX 11i is Hewlett-Packard's proprietary software implementation of the Unix operating system, based on UNIX System V . It runs on the HP 9000 PA-RISC-based range of central processing unit and HP Integrity Intel's Itanium-based systems, and was also available for later Apollo/Domain systems....
, IRIX
IRIX

IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers....
, Ultrix
Ultrix

Ultrix was the brand name of Digital Equipment Corporation's native Unix systems. While ultrix is the Latin word for avenger, the name was chosen solely for its sound....
, OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
, Convex
Convex Computer

Convex Computer was a company that produced a number of Vector processor minisupercomputers, supercomputers for small-to-medium-sized businesses....
 and AIX.

The Mathematica Home Edition, available only in the US and Canada, is a 32-bit application on Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. The Home Edition also runs on Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 (Intel) and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, but not Solaris. Whether there is a 32-bit limitation on Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 for the Home Edition is not clear from the FAQ.

Version history

Mathematica built on the ideas in Cole and Wolfram's earlier Symbolic Manipulation Program
Symbolic Manipulation Program

Symbolic Manipulation Program, usually called SMP, was a computer algebra system designed by Chris A. Cole and Stephen Wolfram at Caltech circa 1979 and initially developed in the Caltech physics department under Wolfram's leadership with contributions from Geoffrey Charles Fox, Jeffrey M....
 (SMP).

Wolfram Research has released the following versions of Mathematica:

See also

  • IMTEK Mathematica Supplement
    IMTEK Mathematica Supplement

    The IMTEK Mathematica Supplement is an open source Mathematica AddOn that aims to provide a wealth of tutorials and packages for Scientific and Engineering purposes, mainly focused on finite element simulations but going far beyond....
    , an open source Mathematica add-on for Finite Element Simulation
  • List of graphing software
  • Mathematical software
    Mathematical software

    Mathematical software is software used to mathematical modelling, analyze, or calculate numeric, symbolic, or geometric data....
  • MathModelica System Designer
    MathModelica System Designer

    MathModelica System Designer, developed by MathCore Engineering AB, is a tool for modeling and simulation of multidomain dynamic systems. Its primary interface is an interactive graphical environment and a customizable set of component libraries....
    , modeling and simulation environment for Mathematica
  • Theodore Gray
    Theodore Gray

    Theodore W. Gray is one of the founders of Wolfram Research and is currently Wolfram's Director of User Interface Technology.He created a wooden periodic table with compartments for each of the elements....
  • Publicon
    Publicon

    Publicon is a technical publication software marketed by Wolfram Research. It is designed for engineers, physicists, chemists, bioscientists and people who work frequently with technical documents....
  • Graphmatica
    Graphmatica

    Graphmatica is a free graphing program created by Keith Hertzer, a graduate of the University of California, Berkeley. It runs on Microsoft Windows....


External links

  • discussion group
  • entry containing a wide variety of useful links and tutorials
  • , a wiki for users of Mathematica
  • , examples of art using Mathematica
  • by Theodore W. Gray and Jerry Glynn, excerpted from The Beginner's Guide to Mathematica V4, published by Cambridge University Press.
  • "" by Enrique Zeleny, Wolfram Demonstrations Project
    Wolfram Demonstrations Project

    The Wolfram Demonstrations Project is a website developed by Wolfram Research, whose stated goal is to bring computational exploration to the widest possible audience....
    .
  • documenting the growth of code base and number of functions over time.