MuPAD ... The history of MuPAD


Introduction

MuPAD stands for Multi Processing Algebra Data tool and is the computer algebra system (CAS) developed at the Institut für Automatisierung und Instrumentelle Mathematik (AUTOMATH) at the University of Paderborn.

MuPAD is a general purpose CAS with hypertext online help and a powerful graphic tool. Often when people hear about it for the first time they ask us ...

Why yet another CAS ?

We think MuPAD is not yet another CAS because it has some special features that may (by now) not be found in other systems:
Parallelism
MuPAD is designed as a parallel CA system. The reason for this is the requirement of a system that operates efficiently on very large data. The aim of development is to implement not only a multi-processor version but also a distributed system for heterogeneous computer networks, according to the typical hardware equipment of a university [Naundorf].

Domains
Domains are the key to object oriented programming in MuPAD. It is a feature of the kernel and allows users to defined their own data types [Naundorf-2]. Based on domains, MuPAD provides a library package to simplify the construction of new algebraic structures [Drescher], [Drescher-2].

Modules
Dynamic modules are special kind of library packages, implemented in the programming language C and dynamically (un)linked during runtime. Users are able to program their own modules while using all features of the MuPAD kernel and the underlying operating system [Sorgatz].

Debugging
MuPAD contains a source-level debugger for debugging MuPAD programs by executing them line by line. Those who implement large projects know that this is an essential development tool, even - or especially - in the computer algebra [Kluge].

Profiler
The profiler can be used to make runtime analysis of algorithms. This gives informations about the frequency and duration of function calls and helps to optimize MuPAD programs.

Free of charge
MuPAD is free of charge for the research community and non-commercial users and it is available on several ftp sites. We want MuPAD users to obtain a license in order to have an overview on Who uses MuPAD and "what are their interests". We hope you will support us in this way.

Dates in the life of MuPAD

Sep. 1989
The development of MuPAD starts with the master thesis of Karsten Morisse and Oliver Kluge. The prototype is called mupas and has only a few arithmetic functions that operate on simple expressions of numbers and variables. Parallelism is tested on base of the Cosmic Environment Software from CalTech.

Summer 1990
The MuPAD programming language is designed and implemented in a master thesis of Andreas Kemper. It offers Pascal like control structures and data structures as lists, sets, arrays, and so on. Although it looks like an imperative programming language it is functional, a feature that is often used for efficient implementations and code generation.

Winter 1990
The decision is made not to implement a new arithmetic package but to use the well tested package PARI. It is started to adapt PARI to the requirements of MuPAD.

End of 1990
The new name MuPAD (Multi Processing Algebra Data tool) is designed. The suffix 'PAD' of MuPAD is also chosen according to its birthplace Paderborn.

Summer 1991
The memory management of MuPAD is totally redesigned in a master thesis of Holger Naundorf. It is called MAMMUT and offers the programming model of a shared-memory machine. It is the basis for parallelism in MuPAD.

Sep. 1991
The mathPAD journal contains a first article about MuPAD and gives a brief description of its design. [MuPAD].

Nov. 1991
The internal release MuPAD 0.4 is fixed. It bases on mupas and integrates the new MuPAD programming language.

Jan. 1992
The internal release MuPAD 0.99 is fixed. This is the first release that integrates the new memory management MAMMUT.

Spring 1992
The MuPAD 2D/3D graphic tool VCAM is developed and implemented by Gudrun Oevel and Thorsten Schulze [Schulze]. It bases on the graphic tool 3D-draw written by Walter Oevel.

10. Jul. 1992
MuPAD is presented to a greater audience and also to the press for the first time. Release 1.0 is prepared for distribution.

18. Aug. 1992
MuPAD release 1.0 is available on our ftp server ftp.uni-paderborn.de:/pub/MuPAD. Only Sun workstations (Sun3 and Sun4) running SunOS 4.x with Xview/X11 are supported. A prerelease for Apple Macintosh exists.

15. Dec 1992
After MuPAD has been available of our ftp server, it was tested by many critical users. Thanks to them, some bugs were found and it is decided to give out a bugs-fixed version of MuPAD, the minor release 1.0.1.

Mar. 1993
MuPAD meets the international computer fair CeBIT (in Hannover, Germany) for the first time. The prototype of MuPAD 1.1 is presented with great success.

May 1993:
Because of the overwhelming success of the public domain Unix system Linux, MuPAD is ported to this platform (kernel 0.99.pl14) by Ralf Hillebrand.

27. May. 1993
MuPAD 1.1 is available on our ftp server. With this release Linux on PC/AT systems and also AIX 3.1.x on IBM/RS6000 are supported.

29. Sep.1993
MuPAD wins the "Deutsch-Österreichische Hochschul-Software Preis", awarded by the Akademische Software Kooperation (ASK) in Karlsruhe.

08. Feb. 1994
MuPAD is ported to IRIX 4.0.5 on a SGI Indigo. These binaries are also running on IRIX 5.x systems. The distribution of MuPAD has just passed the number of 300 licenses on more than 1500 hosts.

Mar. 1994
On the CeBIT the new MuPAD release 1.2 is presented. New features: domains for object oriented, user-defined data types and polymorphic algorithms; polynomials as an intrinsic type of the kernel; improved graphic tool; a more user friendly source-level debugger; and many more functions [Morisse].

14. Mar. 1994
MuPAD release 1.2 - including the SGI binaries - is available on our ftp server. Because most Linux users have monitors smaller than 17", we provide an optionally online manual formated according to a screen with a resolution of 600 pixel (height).

Apr. 1994
MuPAD will be ported to Ultrix 4.2 (DECstation) by Konrad Hinsen at RWTH Aachen.

May. 1994
The MuPAD WWW service starts at: http://math-www.uni-paderborn.de/MuPAD/

In 1994
The Apple Macintosh version of MuPAD is totally redesigned in a master thesis of Gerald Siek. According to the name Xmupad - used for the MuPAD frontend on Unix systems - the name MacMuPAD is designed.

Aug. 1994
The concept of dynamic modules is developed and implemented in a master thesis of Andreas Sorgatz. This is the basis for further developments of MuPAD user programming interfaces and a MuPAD compiler.

Sep. 1994
MuPAD release 1.2.1 - including the binaries for DECstation and Apple Macintosh - is available on our ftp server. New features are: linear algebra package (Frank Postel), number theory package (Dr. F. Schwarz), domains package to simplify the construction of algebraic structures, integration package, dynamic modules, and much more [Kluge-2].

01. Oct. 1994
MuPAD is ported to NetBSD/ FreeBSD 1.1.5.1 (also running on FreeBSD 2.0) by Marc van Kempen from Eindhoven (The Netherlands) and is now available (release 1.2.1) on our ftp server.

Oct. 1994
Paul Zimmermann from INRIA starts with MuPAD library development. He improves the integration package (master thesis of Ralf Kraume) and implements packages for series, limits (later improved by Frank Postel) definite and indefinite summation, continued fractions, and more ...

18. Oct. 1994
The cooperation agreement between the Ukrainian Academy of Science (Donetsk-Kiev) and MuPAD is signed to "... enhance development, research and use of computer algebra and other modern information technology, based on Mathematical and Engineering expert systems, in Ukraine ...". For that, "The MuPAD group by this cooperation agreement will make available for nearly 90 000 Ukrainian scientists, schools (more than 2 000 000 students of which nearly 1 000 000 are attending high school) and industry a development which represents a considerable investment ...".

Nov. 1994
MuPAD is awarded the "european academic software awards" in the category of mathematical software.

Jan. 1995
MuPAD is ported to HP-UX (HP workstations) and beta testing starts. The first official mirror site of MuPAD is in France (europe): ftp.inria.fr:/lang/MuPAD/

Feb. 1995
Because of the large expansion of MuPAD, some bugs sneaked in. We decided not to call them features but to give out a bugs-fixed version, the minor release 1.2.1a.

Mar. 1995
MuPAD goes Windows. On the CeBIT an alpha release of MuPAD for MS-Windows 3.1 (WinMuPAD) is presented, but it is still a long way to the finish. Also a prototype of MuPAD 1.2.2 is presented. New features: series, limits, continued fraction arithmetic, definite and indefinite summation, solving diophantine and polynomial equations, Bessel functions, Groebner basis, ...

May. 1995
Now official MuPAD mirror sites are available in the USA.

24. Jul. 1995
MuPAD 1.2.2 is available on official MuPAD ftp sites.

Nov. 1995
MuPAD 1.2.2 is the current record-holder of the von zur Gathen factorization challenge. Dr. Paul Zimmerman (INRIA) publishes: "The factorization of the polynomial x^500+x+1 modulo the 500-bit prime number nextprime(PI*2^500). This factorization was obtained using MuPAD 1.2.2 in two and a half days on a Sun Sparc-10 of the Medicis center at Ecole Polytechnique (France). This polynomial has 9 factors, of degrees 1, 1, 1, 12, 15, 17, 20, 68 and 365 respectively. The file contains a list l of 19 elements such that l[2], l[4], l[6], ..., l[18] are the factors."

Nov. 1995
The MuPAD kernel is ported for 64bit machines on a DECalpha and a SGI. Also a port for Windows95 is started. After updating the arithmetic package MuPAD is even faster.

Today
The development of MuPAD 1.3 is going on. Refer to News & Infos latest information.


References

[MuPAD]
Prof. Dr. B. Fuchssteiner et al., MuPAD, mathPAD, Vol. 1, HEFT 3, September 1991, S. 19-20, Universität Paderborn; available via www/ftp.
[Drescher]
Klaus Drescher (geb. Gottheil), Axioms, Categories and Domains, mathPAD, Vol 4, No 1, March 1994, S. 24--29, University of Paderborn, ISSN 0941-9187; available via www/ftp.
[Drescher-2]
Klaus Drescher (geb. Gottheil), The Constructors of the domains Package, available via www/ftp.
[Kluge]
Oliver Kluge, Debugging in MuPAD, mathPAD, Vol.3, HEFT 1, März 1993, S. 19--24, Universität Paderborn, ISSN 0941-9187; available via www/ftp.
[Kluge-2]
Oliver Kluge, New Features in MuPAD 1.2.1, mathPAD, Vol 4, No 2, Dezember 1994, S. 38--39, Universität Paderborn, ISSN 0941-9187; available via www/ftp.
[Morisse]
Karsten Morisse, What's new in MuPAD 1.2, mathPAD, Vol 4, No 1, March 1994, S. 4, University of Paderborn, ISSN 0941-9187; available via www/ftp.
[Naundorf]
Holger Naundorf, Ziele der Parallelität in MuPAD, mathPAD, Vol.3, HEFT 1, März 1993, S. 42-43, Universität Paderborn, ISSN 0941-9187; available via www/ftp.
[Naundorf-2]
Holger Naundorf, Domains and Domains in abelian Groups, mathPAD, Vol 4, No 1, March 1994, S. 20--22, S. 23, University of Paderborn, ISSN 0941-9187; available via www/ftp.
[Schulze]
Thorsten Schulze, MuPAD Graphik, mathPAD, Vol.3, HEFT 1, März 1993, S. 12--18, Universität Paderborn, ISSN 0941-9187; available via www/ftp.
[Sorgatz]
Andreas Sorgatz, MuPAD- Dynamische Module, MuPAD kernel paper, available via www/ftp.

Author: MuPAD-Webmaster
Last updated: 02. Jan. 1996