Mathematicais a computer algebra and programming system developed by Wolfram Research, Inc. In this tutorial we will make extensive use ofMathematica´s programming language as well as the capabilities of the latest release ofMathematica3.0 to set up hypertext documents. The notebooks presented in this tutorial have been written withMathematica3.0, so it is essential to use this latest version of eitherMathematicaorMathReaderto get the most out of it.However, all the programs explained and used to generate the various evolution examples will run under

Mathematica2.2 versions as well. Actually, all the programs have been written some time before the first release ofMathematica3.0.## Why we use

MathematicaThere are several reasons why we have chosen the

Mathematicaprogramming environment for demonstrating evolutionary algorithm techniques:

Mathematicaprovides a sophisticated programming language based on symbolic expressions, and is thus quite similar to LISP or Scheme; however,Mathematicaprogram syntax is much closer to mathematical writing, especially with regard to formula notation.- Access to
Mathematica´s huge library of kernel functions is provided by a frontend with interactive mathematical/text documents, referred to as notebooks. A notebook is quite similar to any kind of nicely formatted text document, as know from TEX, FrameMaker, MS-Word, and other text processing systems. A notebook usually contains titles, sections, subsections, justified text in different fonts and sizes, mathematical formulas, images and even movies.- However,
Mathematicanotebooks offer a lot more than state-of-the-art document formatting. You also include yourMathematicaprogram code in these notebooks, and, of course, the results of your calculations also appear in these documents. Thus notebooks contain a large set of formatted items that make your life as a programmer much easier:

- formatted explanatory text (titles, headings, sections, subsections, paragraphs, etc.),
- program code,
- formatted symbolic input and output (even better than TEX (?)),
- graphics, animations, movies, and
- hyperlinks (to other notebooks or websites).
With all of these features

Mathematicaprovides a comfortable and easy to use environment for interactive programming, experimenting, and lively illustration of diverse algorithmic concepts, including evolutionary algorithms.

## Where to get MathReader

Even if you do not have access to

Mathematicaup to now you can read all the notebooks with a little helper application calledMathReader. This viewer forMathematicanotebooks is either available from Wolfram Research or you may download your personal copy directly from the following web pages:

MathReaderfor the Macintosh:

MathReaderfor Windows95/NT:

Check out the Wolfram Research pages for further information about

MathReader.

Former versions of

MathReaderfor readingMathematica2.x notebooks are still available:

MathReader(Version 2.x) for Macintosh,MathReader(Version 2.x) for Windows,MathReader(Version 2.x) for X Window System.Many of the tutorial notebooks have in fact been developed under

Mathematica Version 2.2. Most of the notebook material is therefore also available in the old format (on request by email to Christian Jacob).

## Extending your web browser for

MathematicanotebooksAll of the

Mathematicanotebooks to be found on the tutorial pages have the extension*.nb. For notebooks of version 2.x we use extension *.ma.You should have a look at your web browser´s manual pages to ensure that for *.nb files either

MathematicaorMathReaderis started.## Netscape

To prepare your Netscape browser for reading

Mathematicanotebooks properly you should

- include
MathematicaorMathReaderin the list of helper applications for Macintosh and Windows, or- edit your mime.types and mailcaps files on UNIX operating systems.
## Internet Explorer

??

[ About tutorial | Evolvica TOC | Christian Jacob´s homepage ]

Questions or comments about this site? Email me at jacob@cpsc.ucalgary.ca.