Home | People | Software | Jobs | MaGiX@LiX | Services
TeXmacs | Mathemagix | Axel | Screenshots

Mathemagix is a free computer algebra system under development. It consists of the following ingredients:

The Mathemagix language

Mathemagix provides a newhigh level language which is imperative, strongly typed, with polymorphim and parametrized types. Mathemagix can be used as an “extension language”, i.e. easy to embed into other applications and to extend with existing libraries written in other languages like C or C++. An interesting feature is that this extension mechanism supports template types.

Currently, only a rather slow interpreter Mmx-light is available, but a compiler is under development. All necessary type verifications are done during the compilation phase. In addition, the Mathemagix language provides powerful constructs for allowing the compiler to generate extremely fast code (comparable to the speed of C or C++).

The Mathemagix packages

Standard libraries are available for algebraic computation (large numbers, polynomials, power series, matrices, etc. based on FFT and other fast algorithms) for exact and approximate computation. This should make Mathemagix particularly suitable as a bridge between symbolic computation and numerical analysis.

These packages written in C++ are connected to the interpreter (and later to the compiler), but can also be used independently

as standalone libraries. Separate documentation for each of the packages is also available.


A graphical interface
The program can be used within GNU TeXmacs as a primary interface but also provides the user with a usual ascii shell mode and a convenient advanced programmer interface.
A geometric modeler
The program is connected to the algebraic-geometric modeler Axel as a tool for visualisation and geometric computation.

This webpage is part of the MaGiX project. Verbatim copying and distribution of it is permitted in any medium, provided this notice is preserved. For more information or questions, please contact Joris van der Hoeven.