Site last modified: Wed Apr 9 22:07:14 2008

About Mathematica

Mathematica is a software package made by Wolfram Reasearch International (WRI) which brings together a number of aspects of technical computing in one package. One of its key advantages over similar software is that it is built on an extremely uniform set of underlying principles. This means that a little bit of time spent studying Mathematica takes you a very long way indeed. Read more details here .

Recently, Wolfram Research introduced Mathematica 6.0. They have not introduced a new version for some time, and this is a very major release. Perhaps the most significant change is that graphics can be totally interactive – rotatable with the mouse, varying under the action of sliders, and adjustable in a host of other ways. Imagine, for example, taking a typical geometry construction and moving the points to explore the remaining degrees of freedom. If at all possible, upgrade to 6.0!

Press the button on the sidebar to obtain more 6.0 specific ideas and information, and to obtain a short program by Thomas Muench, that assembles an electronic version of the Mathermatica book for 6.0, analogous to the fat physical book that accompanied previous version of the software.

2-day Course

If you are relatively new to Mathematica, or don't feel you are exploiting the software to its full, why not contact me about one of my 2-day hands-on workshops and really make Mathematica work for you.

Using the Java GUI

The primary mode of interaction with Mathematica is via notebooks. These are optimised for interactive mathematical development, and with the introduction of 6.0, these can be very interactive indeed! However, a Mathematica notebook is never going to have the "look and feel" of a normal (e.g. Windows) application. Because Java runs on all the platforms that support Mathematica, and because J/Link provides a good interface between Java and Mathematica, a Java-based GUI is the obvious choice.

The GUIKit is an integral part of Mathematica, designed to aid in the construction of Java GUI's. However, the GUIKit is not very easy to use – requiring at least some knowledge of Java – and is rather inflexible. My free Super Widget Package to access the GUIKit is to use my free Super Widget Package -available Here , is designed to make GUI construction really easy. It is under active development, and covers an ever wider set of GUI features.

Outgrowing the GUIKit!

Previous versions of the Super Widget Package (SWP) described here were based on the GUIKit. The GUIKit is itself based on the lower level J/Link layer. The latest version, 4.0, has essentially the same interface as the earlier SWP, but operate using J/Link and Java only.

In truth, the SWP outgrew the GUIKit some time ago, in that it offers a range of functionality that comes directly from Java, and is not supplied by the GUIKit. Over time, more and more of the SWP has been based on Java code, and I believe the time had come to simplify the SWP by eliminating its use of the GUIKit. This has several consequences:

The GUIKit is quite slow, so users of the new SWP will see their GUI windows appear with significantly less delay. The package should also load much more efficiently.

The GUIKit contains some timing bugs which could cause occasional problems. Version 4.08 should eliminate all these issues.

My intention is that the new SWP will be a direct replacement for the earlier SWP, but the new GUI layout mechanism may result in some slight visual differences. Version 4.08 supplies more layout primitives – for example, it is possible to specify the stretch properties of each super widget explicitly.

The new SWP will make several other enhancements possible. For example, because the new SWP works correctly in kernel-only mode (GUIKit seems to have some problems here), it will be possible to create GUI Mathematica applications that look identical to any other software on the same platform. Such an application might start with a splash screen, and then move straight to its main window without the Mathematica toolbar or any notebooks being visible.

Clearly, the new SWP no longer supports the inclusion of GUIKit widgets, but to my knowledge, no SWP user is actively using this facility.

General scientific computing

I developed the range of Salford compilers (together with David Vallance, Ewan Cunningham, Andrew Smith, Martin Alderson, Bob Jackman, and many others over the years). Although we specialised in Fortran (.....), in the eighties we also produced LISP, PROLOG, and C++ compilers.

Obviously, this has given me many areas of expertise – from computer language parsing, to 'advanced' computer languages (such as Mathematica!), to automatic machine code generation. You can tap this experience for your project – please contact me directly to discuss details.