Aujourd'hui, un article orienté sciences et calcul, et (un peu) LaTeX : on va parler de Maxima et de wxMaxima, respectivement un logiciel de calcul formel et une interface graphique pour ce dernier. Je vais vous présenter un peu tout ça, et essayer de vous donner quelques bases d'utilisation. C'est pratique, bien fait, puissant, et surtout capable d'exporter les résultats sous un grand nombre de normes différentes.

Commentez .

- Titre : Calcul formel avec (wx)Maxima

- Auteurs : maxime-auvy, Vincent Viale, Vincent Viale, Claude Leloup

- Parution : 12 avril 2013

- Licence : Le contenu de cet article a été rédigé par maxime-auvy et est disponible sous la licence Creative Commons "Paternité Pas d'Utilisation Commerciale". Par contre, les logos developpez.com, en-tête, pied de page, css et look & feel de l'article sont eux sous copyright 2013 developpez.com.

Sommaire

- I. (wx)Maxima, c'est quoi ?

- II. Et concrètement, ça sert à quoi ?

- III. Euh, ça ressemble à quoi sinon ?

- IV. Bases d'utilisation

- IV-A. Premier calcul : affectation d'une fonction et évaluation numérique

- IV-B. Deuxième calcul : résolution d'une équation

- IV-C. Troisième calcul : tracé d'une fonction

- V. La suite…

I - (wx)Maxima, c'est quoi ?

C'est le descendant d'un (vieux) logiciel développé par le MIT qui s'appelait Macsyma et qui a servi de bac à sable géant pour le développement de tout un tas d'algorithmes que nous utilisons aujourd'hui.

Je ne vous fais pas un historique complet de la chose, mais sachez quand même que si Macsyma est né à la fin des années 60, Maxima n'est devenu libre (licence GNU/GPL) qu'en 1998. En réalité, trois « déclinaisons » existent aujourd'hui :

- la version libre dont nous parlons, Maxima ;

- la version du MIT, DOE-Macsyma (non libre) ;

- la version de Symbolics/Macsyma Inc, Macsyma (non libre).

Maxima est écrit en Lisp, ce qui a permis (et permet toujours) de développer relativement aisément des extensions. Il est compatible avec les principales plates-formes : Linux, MacOS, Windows…

Quant à wxMaxima, c'est une interface graphique relativement jolie (du moins plus agréable que celle de base) qui utilise la bibliothèque wxWidgets, et qui permet d'avoir le logiciel dans la langue que vous utilisez (et ça aide). wxMaxima est aussi sous licence GNU/GPL, et est maintenant inclus dans Maxima.

II - Et concrètement, ça sert à quoi ?

Eh bien, c'est un équivalent libre à toutes ces usines à gaz telles que Maple (que j'ai utilisé pendant 1 an… avant qu'un prof ne me fasse découvrir Maxima. Ben oui, ma licence Maple était expirée) et Mathematica (même si ses possibilités sont un poil plus limitées que celles de ses concurrents, surtout côté graphique).

Maxima vous permet de faire du calcul : dérivées, intégration, polynômes, fractions rationnelles, matrices, limites, séries, et bien plus !

(je ne vous ai pas perdu là quand même, si ?)

Il sait aussi tracer des courbes 2D et 3D, et peut utiliser l'excellent GNUplot pour le faire.

III - Euh, ça ressemble à quoi sinon ?

Un dessin vaut mieux que de longs discours, donc voici une capture d'écran de la fenêtre principale (dans mon cas, wxMaxima 12.09.0 et Maxima 5.28.0) :

Avec donc accès simplifié à tous les menus et fonctions proposés par la bête.

IV - Bases d'utilisation

IV-A - Premier calcul : affectation d'une fonction et évaluation numérique

Non, nous ne sommes pas en train de réécrire la théorie des cordes… De bien méchants mots, en vérité. Mais la réalité est un peu plus simple : retenez que pour affecter une variable on utilise le deux-points « : », et que pour les entrées à plusieurs lignes, chacune d'elles doit se terminer par un point-virgule « ; ».

Faisons simple, affectons ici à la fonction f(x) l'opération « mise au cube », et évaluons le résultat pour x=2.

/* [wxMaxima: input   start ] */
f(x) := x^3;
f(2);
/* [wxMaxima: input   end   ] */

Normalement, wxMaxima vous renvoie une ligne affichant 8. Notez que cette ligne a un numéro, un identifiant si vous voulez, de la forme « %oX ». « o » pour « output » (sortie), X est un numéro correspondant à celui de votre cellule (numérotée %iX pour input). Ce n'est pas seulement pour décorer hein, il y a une vraie utilité : vous pouvez réutiliser un résultat par la suite ! Si vous tapez ensuite par exemple %o1*42 et que vous évaluez, vous aurez bien le résultat de l'opération 8*42. Magique !

Bonus : pour réutiliser le résultat de la cellule précédente, pas besoin du numéro, tapez juste le symbole pour cent « % ».

IV-B - Deuxième calcul : résolution d'une équation

Super utile pour aider vos enfants si vous en avez. C'est vrai qu'à un moment quand ils nous parlent par exemple de…

Ça évoque vaguement les souffrances endurées à l'époque en cours de maths. Mais sans pour autant permettre de confirmer (ou non) le résultat de l'exercice des malheureux bambins. Maxima va faire ça pour vous (et vous conserverez cette aura parentale qui vous est si chère).

Hop ! Direction le menu Équations > Résoudre… et entrez votre équation, comme sur la capture ci-dessous :

Cliquez sur « OK », et vous voyez apparaître sous vos petits yeux émerveillés le résultat, par ailleurs mis en forme proprement.

Bon à savoir !
Il est très facile d'exporter vos opérations entières ou simplement un résultat : faites votre sélection (à la souris, ou en utilisant la barre de gauche qui représente la cellule), cliquez droit dessus… et choisissez ! Vous avez le choix entre une copie simple, l'export en tant qu'image (pratique pour insérer dans un traitement de texte mal fichu) ou encore l'export en LaTeX pour intégrer ça directement dans votre document avec un rendu identique.

IV-C - Troisième calcul : tracé d'une fonction

Allez dans le menu Tracé de courbes > Courbe 2D… et remplissez la boîte de dialogue comme il vous sied (principalement avec la fonction qui vous intéresse, sur le bon intervalle). Exemple :

Cliquez sur OK, et là… Le miracle se produit.

Simplissime !

V - La suite…

Je vous laisse l'écrire. Furetez, fouinez, promenez-vous dans les menus, il y a sûrement des choses qui vous parleront. Si vous êtes scientifique (lycée en filière S, ou au-dessus), les termes utilisés vous parleront et vous n'aurez aucun mal à utiliser wxMaxima. Si vous ne l'êtes pas, ne pensez pas pour autant que ce logiciel ne vous sera pas utile, il l'est toujours à un moment donné.

Et à vous les joies du tracé de graphiques en 3D !

Calcul formel avec (wx)Maxima

Auteurs

| maxime-auvy | Vincent Viale | Vincent Viale | Claude Leloup |