Maxima
Un système de calcul formel

Systèmes de calcul formel

Un système de calcul formel (CAS, pour « Computer Algebra System ») est un logiciel capable de manipuler des expressions mathématiques de manière similaire à la façon dont un scientifique effectuerait des calculs sur papier.

Une liste des principaux systèmes de calcul formel et de leurs fonctionnalités se trouve sur Wikipédia : List of computer algebra systems. Nous nous intéressons ici uniquement aux systèmes libres, tels que Maxima, dont les algorithmes peuvent être consultés dans le code source, ce qui permet à d'autres personnes de les étudier, de les adapter, de les modifier et de les réutiliser.

Autres systèmes de calcul formel libres

Axiom

« Axiom est un système de calcul formel à usage général. Il est utile pour faire des mathématiques par ordinateur ainsi que pour la recherche et le développement d'algorithmes mathématiques. Il définit une hiérarchie de types fortement typée et mathématiquement correcte. Il dispose d'un langage de programmation et d'un compilateur intégré. »

Il existe aussi une intéressante pierre de Rosette qui propose des traductions de nombreuses opérations de base pour plusieurs systèmes de calcul formel, dont Maxima.

FriCAS

« FriCAS est un système de calcul formel avancé. FriCAS est une bifurcation (fork, 2007) du système de calcul formel Axiom. »

GAP

« GAP est un système d'algèbre discrète computationnelle, avec un accent particulier sur la théorie computationnelle des groupes. »

REDUCE

« REDUCE est un système interactif pour les calculs algébriques généraux intéressant les mathématiciens, les scientifiques et les ingénieurs. »

Yacas

« YACAS est un système de calcul formel à usage général, facile à utiliser, un programme de manipulation symbolique d'expressions mathématiques. Il utilise son propre langage de programmation conçu pour les calculs symboliques ainsi que pour les calculs numériques en précision arbitraire. »

PARI/GP

« PARI/GP est un système de calcul formel très utilisé, conçu pour des calculs rapides en théorie des nombres (factorisations, théorie algébrique des nombres, courbes elliptiques...), mais qui contient aussi un grand nombre d'autres fonctions utiles pour calculer avec des entités mathématiques telles que les matrices, les polynômes, les séries entières, les nombres algébriques, etc., ainsi que de nombreuses fonctions transcendantes. »

SINGULAR

« SINGULAR est un système de calcul formel pour les calculs polynomiaux, avec un accent particulier sur les besoins de l'algèbre commutative, de la géométrie algébrique et de la théorie des singularités. »

Jasymca

« Jasymca est une calculatrice symbolique écrite pour les téléphones mobiles et les assistants personnels (PDA). Elle résout et manipule des équations, traite les problèmes élémentaires d'analyse et fournit quelques autres fonctions typiques des systèmes de calcul formel. Sa syntaxe est vaguement apparentée à celle de Maxima. »

MAJ : le site de Jasymca est actuellement indisponible et ne semble plus accessible.

Autres logiciels mathématiques libres

On trouve de vastes listes de paquets dans les Oberwolfach References on Mathematical Software et dans le répertoire des logiciels mathématiques et de calcul libres

Nous mettons ici en avant ceux que nous considérons comme les plus pertinents pour Maxima :

Scilab

« Scilab est un logiciel libre et open source pour les ingénieurs et les scientifiques, avec une longue histoire (première version en 1994) et une communauté croissante (100 000 téléchargements par mois dans le monde). »

Octave

« GNU Octave est un langage de haut niveau, principalement destiné aux calculs numériques. Il offre une interface en ligne de commande pratique pour résoudre des problèmes linéaires et non linéaires de façon numérique, et pour réaliser d'autres expériences numériques à l'aide d'un langage qui est en grande partie compatible avec Matlab. »

R

« R est un environnement logiciel libre pour le calcul statistique et les graphiques. Il se compile et s'exécute sur un grand nombre de plateformes UNIX, sous Windows et sous MacOS. »

NumPy

« Le paquet fondamental nécessaire au calcul scientifique avec Python s'appelle NumPy. Ce paquet contient un puissant objet tableau à N dimensions, des fonctions sophistiquées (de diffusion, ou « broadcasting »), des outils pour intégrer du code C/C++ et Fortran, ainsi que des fonctionnalités utiles d'algèbre linéaire, de transformée de Fourier et de nombres aléatoires. »

ARIBAS

« ARIBAS est un interpréteur interactif pour l'arithmétique des grands entiers et l'arithmétique à virgule flottante en précision multiple, avec une syntaxe proche de Pascal/Modula. Il comporte plusieurs fonctions intégrées pour la théorie algorithmique des nombres, comme le pgcd, le symbole de Jacobi, le test de primalité probabiliste de Rabin, des algorithmes de factorisation (rho de Pollard, courbe elliptique, fraction continue, crible quadratique), etc. »

Macaulay2

« Macaulay2 est un système logiciel consacré au soutien de la recherche en géométrie algébrique et en algèbre commutative, dont la création est financée par la National Science Foundation depuis 1992. Macaulay2 comprend des algorithmes de base pour calculer des bases de Gröbner et des résolutions libres graduées ou multigraduées de modules sur des anneaux quotients d'anneaux de polynômes gradués ou multigradués avec un ordre monomial. »