Maxima
Un système de calcul formel

Questions Fréquemment Posées

  1. Introduction et installation de Maxima
  2. Généralités
  3. Questions relatives à Lisp
  4. Problèmes d'installation
  5. Problèmes à l'exécution

1. Introduction et installation de Maxima

○ Qu'est-ce que Maxima ?

Maxima est un descendant de DOE Macsyma, dont les origines remontent à la fin des années 1960 au MIT. C'est le seul système issu de ces travaux qui soit encore accessible au public et doté d'une communauté d'utilisateurs active, grâce à son caractère open source. Macsyma a été le premier d'une nouvelle génération de systèmes de calcul formel, ouvrant la voie à des programmes tels que Maple et Mathematica. Cette variante particulière de Macsyma a été maintenue par William Schelter de 1982 jusqu'à son décès en 2001. En 1998, il a obtenu l'autorisation de publier le code source sous licence GPL. Ce sont ses efforts et son talent qui ont rendu possible la survie de Maxima, et nous lui sommes très reconnaissants d'avoir offert bénévolement son temps et ses compétences pour maintenir en vie et améliorer le code original de Macsyma. Depuis sa disparition, un groupe d'utilisateurs et de développeurs s'est constitué pour que Maxima reste bien vivant. Maxima lui-même est raisonnablement complet à ce stade, avec des capacités telles que l'intégration symbolique, les tracés 3D et un solveur d'EDO, mais il reste beaucoup de travail à accomplir en matière de correction de bogues, de nettoyage et de documentation. Cela ne veut pas dire qu'il n'y aura pas de nouvelles fonctionnalités, mais il y a beaucoup à faire avant d'en arriver là, et pour l'instant les nouvelles fonctionnalités ne sont probablement pas notre priorité.

○ Sous quelle licence Maxima est-il distribué ?

Il est distribué sous la Licence publique générale GNU (GPL) et hébergé sur SourceForge.net.

○ Comment puis-je télécharger Maxima ?

Vous pouvez choisir parmi les différentes options de téléchargement de la page de téléchargement, qui contient les liens vers la page de téléchargement appropriée à chaque cas. Le code est disponible sous forme de fichiers binaires précompilés pour différents systèmes, ainsi que sous forme de code source.

○ Comment installer Maxima ?

Suivez les instructions de la page de téléchargement, selon votre système et la méthode que vous souhaitez utiliser.

○ Quels sont les liens Maxima les plus importants que je devrais connaître ?

2. Généralités

○ Qui maintient Maxima actuellement ?

Depuis la disparition de William Schelter, un groupe d'utilisateurs et de développeurs s'est constitué pour que Maxima reste en développement actif. Il y a actuellement 27 développeurs qui peuvent modifier le code source. Pour les contacter, le canal à privilégier est la liste de diffusion.

○ Maxima est-il libre ?

Oui. Maxima est distribué sous la Licence publique générale GNU, avec certaines restrictions d'exportation imposées par le Département de l'Énergie des États-Unis.

○ Puis-je placer une copie de Maxima sur mon serveur local pour que mes étudiants/clients puissent la télécharger facilement ?

Oui. Vous pouvez distribuer Maxima, à condition de conserver intacte la mention de droit d'auteur et d'inclure également sur votre serveur local une copie du code source ou un lien vers l'endroit où ce code source peut être téléchargé.

○ Qui a écrit Maxima ?

Maxima est un descendant de DOE Macsyma, dont les origines remontent à la fin des années 1960 au MIT. C'est le seul système issu de ces travaux qui soit encore accessible au public et doté d'une communauté d'utilisateurs active, grâce à son caractère open source. Macsyma a été le premier d'une nouvelle génération de systèmes de calcul formel, ouvrant la voie à des programmes tels que Maple et Mathematica. Cette variante particulière de Macsyma a été maintenue par William Schelter de 1982 jusqu'à son décès en 2001. En 1998, il a obtenu l'autorisation de publier le code source sous la GPL.

○ Quelle est la différence entre Macsyma, DOE-Macsyma, Symbolics Macsyma et Maxima ?

Le système développé au MIT s'appelait Macsyma (bien que les surnoms MACSYM et MAXIMA aient parfois été utilisés, car les noms de fichiers étaient limités à six caractères en majuscules seulement dans le code de caractères sixbit).

Symbolics a obtenu une licence de Macsyma auprès du M.I.T. et a déposé « Macsyma » comme marque à un moment donné (vraisemblablement avec l'autorisation du M. I. T.).

Lorsque le code source de Macsyma a cessé d'être librement disponible, des pressions ont été exercées sur le M. I. T. (principalement par Richard Fateman) pour qu'il transfère au Département de l'Énergie (DOE) le code qui avait été développé en grande partie grâce à des financements de ce département, lequel l'a ensuite diffusé à d'autres sous certaines conditions.

Cette base de code a été appelée DOE Macsyma. On ne sait pas bien quels droits légaux le DOE détenait sur le nom Macsyma, par opposition à la base de code, mais les utilisateurs non commerciaux de DOE Macsyma voulaient vraisemblablement éviter toute querelle juridique autour du nom, et ont commencé à utiliser le nom Maxima à un moment donné.

Maxima est simplement le nom le plus récent de la branche qui a débuté sous le nom DOE Macsyma.

○ Comment citer correctement Maxima dans un contexte universitaire ?

Nous suggérons quelque chose comme :

Maxima.sourceforge.io. Maxima, a Computer Algebra System.
Version 5.50.0 (2026). https://maxima.sourceforge.io/

(ou remplacez le numéro de version et l'année de publication si vous utilisez une version différente).

Si vous utilisez Bibtex pour vos citations, nous vous recommandons d'ajouter l'entrée suivante à votre base de données bibtex :

@ELECTRONIC{maxima,
author = {Maxima},
year = {2026},
title = {Maxima, a Computer Algebra System.  Version 5.50.0},
address = {https://maxima.sourceforge.io/},
url = {https://maxima.sourceforge.io/},
owner = {maxima},
timestamp = {2026.08.17}
}

3. Questions relatives à Lisp

○ Avec quelles implémentations de Lisp Maxima fonctionne-t-il ?

Clisp, SBCL, CCL, GCL (uniquement avec ANSI activé), CMUCL, ECL, Scieneer Common Lisp (SCL), Allegro Common Lisp (ACL) et ABCL. Les portages vers d'autres Lisp conformes à ANSI devraient être simples et sont les bienvenus ; veuillez contacter les développeurs si vous souhaitez travailler sur un portage. Voir aussi la page Maxima et Lisp.

4. Problèmes d'installation

○ Lors de l'installation du fichier RPM de Maxima sous Linux, j'obtiens une erreur indiquant que « maxima_exec » est une dépendance manquante ; comment puis-je résoudre ce problème ?

Vous devez installer au moins deux paquets rpm, maxima et maxima_exec. Retournez dans le gestionnaire de fichiers de SourceForge et téléchargez un paquet maxima-exec, puis installez-le en même temps que le paquet maxima.

○ Lors de l'installation de fichiers RPM de Maxima, j'obtiens des messages signalant des dépendances non satisfaites pour autre chose que maxima_exec ; que cela signifie-t-il ?

Les RPM de Maxima ont été créés sur un système Linux particulier. Les autres systèmes ont des versions différentes de diverses bibliothèques. Pour installer Maxima, les versions des bibliothèques doivent être les mêmes. Vous pourrez peut-être trouver des rpm pour votre version précise de Linux sur la page des portages de Maxima. Vous pouvez recompiler Maxima sur votre système. Les rpm créés de cette façon ont les bonnes dépendances pour votre système.

Pour recompiler Maxima, vous avez besoin d'une implémentation de Lisp. Nous recommandons Clisp. Une fois Clisp installé, téléchargez le fichier src.rpm de Maxima depuis le gestionnaire de fichiers de SF. Décompressez-le et lancez rpmbuild pour créer les fichiers rpm :

$ sudo rpm -ih maxima-5.50.0.src.rpm
$ cd /usr/src/local   # or wherever rpm source code is located
$ sudo rpmbuild -bb SPECS/maxima.spec

Installez ensuite les fichiers rpm qui ont été créés dans /usr/src/local/RPMS.

Vous avez presque certainement besoin des privilèges de superutilisateur pour écrire des fichiers dans /usr/src/local, d'où l'utilisation de sudo. Vous pouvez peut-être demander à votre aimable administrateur système de s'en charger.

Si vous créez des RPM, nous pouvons les héberger dans le gestionnaire de fichiers de SourceForge ; cela serait utile à tous ceux qui utilisent la même distribution Linux.

Les notes d'installation de la section Téléchargement en disent un peu plus sur la reconstruction de Maxima. En particulier, suivez les liens vers README.lisps et README.rpms.

5. Problèmes à l'exécution

○ Sous Windows, je peux lancer l'interface graphique de Maxima (Xmaxima ou WxMaxima), mais un message de dépassement de délai s'affiche et je n'obtiens aucune réponse quand je saisis une expression.

Problème 1. Socket bloqué.
Les interfaces graphiques de Maxima communiquent avec le moteur de calcul par un socket. Les programmes antivirus et/ou pare-feu le détectent et essaient de le bloquer (parce que certains programmes malveillants ouvrent aussi des sockets).
Solution : essayez de trouver le panneau de configuration de l'antivirus et/ou du pare-feu. Trouvez l'interface graphique de Maxima dans la liste des programmes bloqués et désactivez le blocage la concernant. Le programme d'interface graphique peut apparaître sous le nom « Tcl/Tk » (le nom de la boîte à outils graphique de Xmaxima).
Problème 2. Prévention de l'exécution des données (DEP).
Certaines implémentations de Lisp exécutent du code dans des zones de données de la mémoire. La DEP de Windows le détecte et le bloque (parce que certains programmes malveillants exécutent aussi du code dans des zones de données).
Solution : ajoutez le chemin complet de l'exécutable de Maxima, par exemple : C:\Program Files\Maxima-5.48.1\lib\maxima\5.48.1\binary-gcl\maxima.exe à la liste des exceptions de la DEP (Panneau de configuration → Système → Avancé → Performances → DEP)

○ Sous Linux, j'obtiens un message concernant une entrée non valide pour localhost dans le fichier /etc/hosts.

Assurez-vous qu'il existe une entrée correspondant à : 127.0.0.1 localhost. Sinon, wxmaxima et/ou xmaxima ne pourront pas résoudre « localhost » en une adresse IP valide et échoueront avec le message « maxima terminated ».

○ Sous MacOS, wxmaxima démarre mais chaque tentative d'exécution de commandes Maxima renvoie « Not connected to maxima! ».

Le mieux est probablement de signaler ce problème sur le forum des utilisateurs de wxMaxima. Certains rapports indiquent que wxMaxima ne fonctionne pas si Maxima est compilé avec clisp ou sbcl. Si vous utilisez l'une de ces versions de Lisp, vous pouvez essayer de compiler Maxima avec cmucl.