Welcome to Mathemagix
Welcome | Download | Progress | Mailing lists | Contact

Mathemagix is a free computer algebra system under development. It consists of a general purpose interpreter, which can be used for non-mathematical tasks as well, and several mathematical libraries. The program uses GNU TeXmacs as its primary interface but also provides the user with a usual ascii shell mode an a convenient advanced programmer interface; this combination provides the user with a real scientific development, production and publication platform.

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

Even though Mathemagix is currently interpreted, the language has been designed in such a way that it will be possible to write a compiler later on. A partial experimental compiler already exists. All necessary type verifications are done during the compilation phase. Moreover, Mathemagix will provide powerful constructs for forcing the compiler to generate extremely fast code (comparable to the speed of C or C++).

As to the mathematical libraries, our main priority is to write interfaces for as many existing libraries as possible. Beside that, we have started the development of several standard libraries for basic arithmetic on dense objects (numbers, polynomials, power series, matrices, effective analysis, etc.), based on FFT and other fast algorithms). This should make Mathemagix particularly suitable as a bridge between symbolic computation and numerical analysis or symbolic computation.

At the moment, Mathemagix is merely at the stage of a project. So far several libraries and a complete interpreter already exist with partial documention (click here in order to see what has been done so far). If you are interested in Mathemagix, then please read the documentation and/or subscribe to our developers mailing list. Indeed, we are still in a stage where the precise features and definition of the Mathemagix language are being discussed, and we appreciate the participation of everyone interested in the development of high level languages.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License. If you don't have this file, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.