Symaxx/2 - a graphical frontend for the Maxima computer algebra system

Note: The obsolete Symaxx (1) homepage has moved here.
Maxima is a computer algebra system, whose roots go back to 1970 and earlier. Many users consider it a reliable and efficient program. It is operated through the command line (advanced users prefer Emacs).

Fig 1: Maxima / Emacs snapshot

Symaxx/2 is a graphical frontend for Maxima.

Fig 2: Symaxx/2 snapshot

Here are the Symaxx/2 demo files, which should give you a good impression about the program.

Fig 2a: One of the demos
A calculation in Symaxx/2 consists of a number of calculation `objects', as shown in fig. 2.
Each object consists of one or more command lines, and the corresponding number of result lines.
In fig. 2, the command is the integration, the result is the polynomial below.
An object can be considered as a `small Maxima session'.

Fig 3
Figure 3 shows two objects with independent calculations.
Maxima-note: The `%' operator refers to the last result. Ev(Expr,NUMER) calculates Expr as a floating point number
Each object has a unique identifier ID.
A calculation object can refer to the result of any other object by writing REF[ID], as in figure 4.

Fig 4
A Maxima calculation has to be initiated by the user (Ctrl-Space). If an object has been changed, it is marked as `dirty' - not up-to-date anymore.
Symaxx takes care of managing the dependencies between objects. An object depending on `dirty' results is `dirty', too.

Fig 5
A change has been made between figure 4 and figure 5 without reevaluating the calculation. Pressing Ctrl-Space gives the correct result, the red bars disappear.

The dependency chain is illustrated with arrows.
Note: A circular dependency results in an error message.
When Maxima reports an error, it is shown in red letters (figure 6):

Fig 6
Sometimes an error can be so severe, that it crashes the current Maxima session. The responsible command is highlighted with an angry red star to alert the user (figure 7):

Fig 7
Symaxx has the ability to interface with Gnuplot to produce standard 2D plots and show them on the workscreen.
The plot command (and some other standard operations, such as `evaluate numerically') can be accessed through a dialog box instead of typing them.
For example, the `g-in-a-box' shows, that a command belonging to the `Gnuplot'-feature is hidden behind the expression.

Fig 8

Symaxx allows documentation of both calculations and Maxima code. While it is not a scientific text processor, it can handle headings, text boxes and `Encapsulated Postscript' images in a way consistent with Maxima. More information on the Documentation page.

A graphical representation is available for many mathematical functions (figure 9):

Fig 9
A `palette' is available for some often-used commands (figure 10).

Fig 10

Manual (.pdf)


Artistic license or GPL, whatever is less restrictive


Symaxx/2 requires:
  • Unix (Linux / SunOS tested)
  • Perl, Perl Tk extension
  • Maxima
  • Mouse
  • Installation instructions


    Markus Nentwig


     Maxima homepage
    Symaxx download: Be sure to download a Symaxx/2 file, not the obsolete Symaxx (1)

    This page is hosted at .