Home >> Science >> Math >> Software >> Mathematica


  Companies
       


}

This article is all about software package. For the policy locate organization, please understand Mathematica Policy Research, Inc.

Mathematica occurs as widely-utilized computer algebra system originally developed by Stephen Wolfram and sold by his company Wolfram Research. Mathematicthe is besides a right programming language emulating multiple paradigms on top of term-rewriting.

Overview
Tungsten began to act on the program around 1986 and released a 1st version within 1988. A todays version is Quint.Two (freed July 12, 2005). These are available in the wide kind of computing system.

A Mathematica programing language is according to term-rewriting and supports both functional and procedural programming (though functional code is much extra effective in the main). These are implemented within an object-oriented variant of C, but a bulk of the extensive code library is actually written in a Mathematica language that can be utilized to extend the body. Generally, fresh code is added in the form of Mathematica "packages", i personally.e., document written in the Mathematica language.

In the Mathematica technique, the core language is interpreted by a kernel that performs a actual computations. A resolutions come ordinarily communicated to one of many frontends. Communication between a kernel & a frontend (or even any more client, such as user-written computer program) utilizes a MathLink protocol, typically complete the network. These are imaginable for many frontend processes to attach to the equivalent kernel, & for of these frontend to become attached to many kernels.

Unlike another computer algebra systems, for example Maxima or Maple, Mathematicthe tries to use a presently stored transformation system when hanker when conceivable, wanting to find a fixed point. For this to exist as meaningful, absence of side-results is beneficial (though non implemented), hence a similarity to functional programming. Functions & code come foremost-class & non unintelligible. Scoping is moral force, however there are besides a few constructs that try to simulate lexical scope (a lot one might well become broken).

Examples
A charted Mathematica sequence may locate a determinant of the 6×6 matrix whose i, j'th entry contains ij by having 100% zero entries replaced when Unity. Within[1]:= Det@ReplaceAll[Table[i j, ] Retired[1]= 0

Therefore the determinant of such a matrix is Cypher.

A as a consequence numerically calculates a root of the equation ex = xTwo + Deuce, starting at a point x = -One.

Within[2]:= FindRoot[Exp[x] == x^Ii + 2, ] Retired[2]=

Understand Hello World for the prototypical How-do-you-do Globe program.

Multiple paradigms, one language
Mathematica permits multiple programming paradigmatic approaches to programming. Assume the elementary lesson: you need the table of values of gcd(x, y) for I ≤ x ≤ Five, Ace ≤ y ≤ Fivesome.

There are at least ternion approaches to this: Inside[3]:= Table[GCD[x, y], ] Retired[3]=

An APL-style approach: Within[4]:= Outer[GCD, Range[5], Range[5]] Out[4]= Outer corresponds to the outer product operator, Range corresponds to the iota operator.

An iterative approach: In[5]:= l1 := ; For[j = 1, j <= 5, j++, (* as Append does not modify l2, we need to force evaluation, otherwise we have an infinite list *) l2 := Evaluate@Append[l2, GCD[i, j]] ]; l1 := Evaluate@Append[l1, l2]; (* append the sublist, that is, the row *) ]; l1 Out[5]= Observe that this solution is considerably larger than the previous two.

Common structures, common manipulations
One guiding principle in Mathematica is a unified structure behind almost all objects representable in Mathematica. For example, the expression x^4+1 if entered will be represented as if it were written: In[6]:= x^4 + 1 Out[6]= 1+x4

If the FullForm command is used on this expression however: In[7]:= FullForm[x^4 + 1] Out[7]= Plus[1, Power[x, 4]]

Nearly all objects in Mathematica have the basic form head[e1, e2, ...] (which may be displayed or entered in some other fashion). For example, the head of the above example is Plus, symbols such as x have form Symbol["x"], lists have this structure too, the head is List.

The principle permits regular expressions unrelated to lists to be operated on with list operators: In[8]:= Expand[(Cos[x] + 2 Log[x^11])/13]2, 1 Out[8]= 2/13 and the reverse can occur -- lists can be modified to behave like regular expressions In[9]:= Map[Apply[Log, #] &, ] Out[9]= where the Apply function changes the head of its second argument to that of the first.

Front ends
The default Mathematica frontend features extensive layout and graphical capabilities, performs prettyprinting and offers a notebook metaphor - user input (both text and Mathematica input) as well as results sent by the kernel (including graphics and sound) are placed in a hierarchy of cells (as is the case for Maple), which also allows for outlining and sectioning of a document. Starting with version 3.0 of the software, notebooks are represented as expressions that can be manipulated by the kernel, and the typesetting features of the frontend were deemed sufficiently important to warrant the availability of a dedicated reader software for displaying Mathematica notebooks, the MathReader software that is not tied to a commercial license.

Several other frontends are also available, e.g., JMath or mash, but the standard Mathematica frontend is the most popular.

Connections with other applications
The MathLink protocol allows not only communication between the Mathematica kernel and front-end, but also between the kernel and arbitrary applications. Wolfram Research distributes freely a developer kit for linking applications written in the C programming language to the Mathematica kernel through MathLink, as well as J/Link, a similar, easier to use system for the Java programming language. Using J/Link, a Java program can ask Mathematica to perform computations; also, a Mathematica program can load any Java class, manipulate Java objects and perform method calls, making it possible, for instance, to build Java graphical user interfaces from Mathematica.

Artlandia
Mathematica-based software for creating mathematical and algorithmic art, as well as mathematical recreations and active learning through art. Allows you to write simple programs that generate geometrical patterns, ornaments and designs. Easily creates fractal effects. Features built-in tools for "automatic" generation of attractive patterns.

MathGroup
Moderated email group for Mathematica Users. A free service of Steven M. Christensen and Associates, Inc.

Review of Mathematica 3 by Kayll Lake
Mathematica 3.0

Symbol: Sum
Technical notes about built-in symbols

Complex Analysis
A set of Mathematica notebooks on many topics.

FeynArts
FeynArts is a Mathematica package for the generation and visualization of Feynman diagrams and amplitudes.

Graphica Book Series
Unusual color illustrations created using Mathematica.

Mathematica
Comprehensive symbolic and numerical software. Advanced programming language, graphics and sound, programmable interface, notebook documents, and applications library.

Experiments in Mathematics Using Mathematica
Interactive Mathematica notebooks developed for the two senior high school years, associated with the book Experiments in Mathematics Using Mathematica (Springer, 1995) by C.T.J. Dodson and E.A. Gonzalez.

MATHwire
An electronic newsletter written specifically for the Mathematica community.


Science: Math: Mathematicians: Wolfram, Stephen
Science: Math: Statistics: Software





© 2005 GeneralAnswers.org