Next available workshop

Please e-mail me for details of the next available workshop, or to arrange on-site training.

Introduction

Mathematica can seem a little daunting at first – particularly if you come from a traditional science/maths background and have either not programmed, or only used C/Fortran. Mathematica has, however, an extremely regular syntax and structure, so that after the workshop you should have no difficulty in developing your application.

Topics covered

Basic Operations

Using simple algebra and calculus examples, the syntax of Mathematica will be introduced gently, and and the use of the front-end palettes to enter expressions will be illustrated. The relationship between the superficial Mathematica syntax and the internal syntax- as revealed by Fullform.

Patterns and Transformation Rules

Using transformation rules it is possible to manipulate algebraic expressions in an infinite number of ways. Most transformations rules also involve the concept of Mathematica patterns – which are introduced at this stage.

Defining Functions

Simple function definitions evaluate a mathematical result, whilst more complex functions can act as general programs. The concept of hiding Mathematica symbols will also be introduced here.

Building a Tool Box

To get the best out of Mathematica, it is usually best to build a set of tools that automate the operations that you require to do most often. These can range from simple rules, assigned to Mathematica variables, up to small programs stored in a package. This section will discuss many issues involved in producing such a toolbox, and provide an explanation of the basic package structure.

Exploiting the Front End

Mathematica comes with a very powerful front-end, from which you can enter expressions and receive output in traditional mathematical notation. This section will illustrate how, using a little programming, it is possible to achieve many useful effects.

Simple Programming

A simple numerical procedure is used as an example to introduce Mathematica programming concepts. Programs are developed with a traditional (Fortran-like) structure and then converted to functional equivalents. Some of the pitfalls of running numerical procedures on data that has not been reduced to real numbers will be demonstrated.

Solving Equations

Many serious applications require the solution of equations, either symbolically (solve) or numerically (NSolve). This section describes the use of these functions, both in a simple and programmed context. The solving of polynomial equations will be discussed in detail.

Mathematica Graphics

This section will start with an explanation of the use of basic Mathematica graphics functions such as Plot and Plot3D. An explanation of the structure of Mathematica graphics objects will follow. Finally, we will show how low level graphics primitives can be used both to augment the high level functions and to create graphic displays from scratch.

Integrals and Differential Equations

The symbolic and numerical solution of integrals and differential equations will be explained. The concept of an interpolation function object will also be explained.

New features of Mathematica 5.0 and 5.1.

Important new features such as SparseArray, string patterns, the GUIKit, and piecewise functions will be discussed.

New features of Mathematica 5.0 and 5.1.