MuPAD est un logiciel conçu initialement par des chercheurs de l'université allemande de Paderborn. Ce n'est pas tout à fait un logiciel libre comme nous allons le voir, mais presque. En effet, le logiciel est composé de deux grands ensembles : un noyau (kernel) qui dépend de chaque ordinateur et qui n'est pas accessible aux utilisateurs (il gère par exemple le mode d'affichage selon le système d'exploitation) et une bibliothèque de fichiers décrivant chaque algorithme de calcul en mode texte, c'est à dire affichable et modifiable sur n'importe quel éditeur de texte. Ainsi, chaque utilisateur peut vérifier, réparer, améliorer la partie mathématique du logiciel et c'est ce qui nous importe vraiment, nous qui sommes plus mathématiciens qu'informaticiens.
Par exemple, nous pouvons regarder comment MuPAD calcule le reste de la division euclidienne de par à l'aide de l'instruction irem(a,b) en éditant le fichier correspondant dans le répertoire /usr/local/MuPAD/share/lib
$Date: 2000/06/16 07:34:55 $ $Author: tonner $ $Revision:1.3$
irem(b,a) liefert bei Eingabe zweier ganzer Zahlen a und b den ganzzahligen (natuerlichen) Rest bei Division von b durch a.
irem:= proc(b,a) begin
if args(0) <> 2 then error("expecting two arguments")
end_if;
if domtype(b) = DOM_INT then
if domtype(a) = DOM_INT then
return( b - a*specfunc::trunc(b/a) )
elif testtype( a,Type::Numeric ) then error("Integer expected")
else return( procname(b,a) )
end_if elif testtype( b,Type::Numeric ) or domtype(a) <> DOM_INT and testtype(a,Type::Numeric) then
error("Integer expected")
else return( procname(b,a) ) end_if
end_proc:
Certains connaissent déjà le minimum vital en programmation et voient en gros de quoi il retourne. Pour les autres, nous allons étudier les boucles très rapidement. Mais tout le monde peut comprendre qu'il est possible de modifier ce texte pour le personnaliser. Par exemple, on peut remplacer la ligne
error("Integer expected")
par
error("Bougre d'âne ! Il faut renter deux entiers")
qui est plus conviviale.
On peut aussi y trouver un intérêt mathématique (qui est assez limité dans l'exemple précédent) : par exemple, on peut se demander comment MuPAD teste si un entier est premier à l'aide deisprime(n) qui renvoie TRUE ou FALSE. Cette question peut être étudiée avec des élèves comme un point de départ pour l'étude de la théorie des nombres en terminale.
Voilà pour la liberté. Mais comme d'habitude, cette liberté entraîne quelques efforts de notre part (je ne dirai pas qu'elle a un prix, mais vous voyez ce que je veux dire). Il faut faire quelques efforts pour installer MuPAD de manière conviviale sur son ordinateur.
Tout d'abord il faut télécharger la version 3.1 pour linux : elle est gratuite et se présente sous la forme d'un fichier rpm récupérable à l'adresse
Une fois installé, il restera à s'occuper du logiciel chargé de tracer les graphiques, mais nous verrons ça la prochaine fois.
Une fois votre PATH complété en tapant par exemple
vous pouvez lancer l'application de plusieurs manières :
export LC_CTYPE=C
que vous remplacerez par
export LC_CTYPE="fr_FR"
Il existe encore d'autres possibilités, mais celles-ci suffiront pour commencer à travailler (enfin !)
Il reste à débrider la mémoire du noyau en allant chercher une license sur le site
https://www.mupad.org/muptan/muptan.php
Il suffira ensuite, une fois sous xmupad, de taper l'instruction suivante pour la license du lycée Jean Perrin par exemple :
register("7BSE91","112100-44A20-C176F-.....-.....")
Bien, nous supposons maintenant que tout va bien et que vous avez une version de MuPAD exploitable et correctement installée.
Nous allons bientôt découvrir les fonctionnalités utiles à des élèves de lycée (ou plus vieux) d'un logiciel de calcul formel appelé aussi CAS (Computer Algebra System) comme l'est MuPAD. Les niveaux de chacun étant divers, les activités sont de niveaux variés pour que chacun y trouve son compte.