|
Welcome to Mathemagix |
|
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.
© 2003 Joris van der Hoeven
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.