Cet article présente l’utilisation du logiciel Maxima dans la construire d’exercices à destination des élèves du secondaire.
Thomas Castanet a rédigé cet article à Bamako, quelques jours avant de quitter le Mali, après 5 ans d’enseignement des mathématiques dans ce pays et 16 ans d’expatriation.
Cet article peut être librement diffusé à l’identique dans la limite d’une utilisation non commerciale suivant la licence CC-by-nc-nd : http://creativecommons.org/licenses/by-nc-nd/3.0/fr/legalcode
Maxima est un logiciel de calcul formel. A travers cet article, j’expose quelques exemples d’utilisation de la puissance de calcul de Maxima pour étudier un type d’exercices et choisir les hypothèses de son énoncé afin de contrôler la complexité de sa résolution.
Introduction
Maxima a été conçu par le « Massachusetts Institute of Technology » dans les années 60 sous le nom « Macsyma ». Gratuit et diffusé sous licence GNU-GPL, il existe sous Linux, Mac et Window. Maxima continue son développement par un groupe de développeurs bénévoles.
Maxima permet de faire du calcul formel (CAS), il intègre de nombreux modules pour la dérivation, l’intégration, les séries de Taylor, les transformées de Laplace, les équations différentielles, les lois de probabilités ...
J’utilise parfois Maxima pour produire des exercices adaptés à une séquence de mon enseignement dans le secondaire : la puissance de calcul de Maxima (et celle des ordinateurs actuels) lui permet de résoudre des exercices à ma place !
Non pas que je ne puisse les résoudre moi-même, mais je vais demander à Maxima de résoudre des centaines voir des milliers de « situations d’un même exercice ».
Maxima m’affichant les valeurs des hypothèses de chaque énoncé, les résultats intermédiaires et finaux de la résolution, il ne me reste plus qu’à choisir LA situation correspondant à mon enseignement.
Ceci n’est possible que par l’utilisation du langage de programmation disponible dans Maxima et demande donc une certaine connaissance de celui-ci et de la pratique.
J’ai eu l’occasion de présenter ce logiciel :
- en 2012, en formation continue auprès des collègues togolais de Lomé avec l’inspecteur M. Nouwawssan
- en 2014, en formation initiale auprès des enseignants stagiaires de Bamako avec l’inspecteur M. Sokona
Ci-dessous le document « tutorial.pdf » utilisé lors de ces deux formations :
Premier exemple d’utilisation
Voici un exemple de code où Maxima va considérer tous les polynômes de la forme ax^2+bx+c
avec les coefficients a
, b
et c
prenant des valeurs entières de -3 à 3 et affichera les racines de ces polynômes
ce qui fait au total 343 polynômes à étudier ! Maxima s’en sort en moins de 2 secondes, et il ne reste plus qu’à choisir le polynôme qui nous convient pour la préparation de notre cours.
Sur la capture d’écran, on peut remarquer les polynômes :
-
-x^2+2x-1
qui fait appel à une identité remarquable -
-x^2+2x+1
dont la forme réduite des solutions nécessite une simplification du radical et du quotient -
-x^2+2x+3
dont la forme factorisée ne fait intervenir que des entiers - et on repère facilement les polynômes à racines réelles ou complexes
Deuxième exemple d’utilisation
Regardons les trois exercices suivants :
Au premier abord, ces trois exercices sont les mêmes hormis les hypothèses de départ sur les longueurs AC
et BC
. Leur méthode de résolution est la même mais la complexité des outils mis en jeu différera dans chaque exercice :
- Dans l’exercice 1, les résultats intermédiaires sont tous des entiers
- Dans l’exercice 2, des fractions apparaîtront dans la résolution de l’exercice
- Dans l’exercice 3, apparaîtront des « racines de 2 »
Ainsi, nous utiliserons les hypothèses de départ comme variables didactiques pour atteindre un but dans notre enseignement.
Voici le code qui m’a permis d’extraire les données initiales des deux premiers exercices :
Création d’autres exercices
Ex 1
Pythagore et sa réciproque
Souhaitant créer un exercice utilisant le théorème de Pythagore et sa réciproque pour les élèves de Quatrième, je suis parti de la configuration géométrique ci-dessous :
L’idée était de trouver trois valeurs entières de L
, l
et a
telles que le triangle DIC soit rectangle mais surtout que, lors de la résolution, seulement des valeurs entières soit utilisées afin de ne pas trop complexifier le traitement de l’exercice par les élèves.
J’ai donc utilisé Maxima pour qu’il traite des centaines de triplets (L,l,a)
de valeurs initiales et qu’il n’affiche que les triplets répondant à la contrainte précédente. Voici le code utilisé pour cet exercice :
La capture d’écran suivante montre les triplets obtenus par Maxima :
On remarquera que toutes les solutions affichées peuvent s’obtenir à l’aide du triplet (25 ;12 ;9). (remarque 25-9=16
correspondant à la position de I
symétrique relativement au milieu du segment [AB]
)
Peut-être peut-on partir de cette conjecture pour créer un nouvel exercice pour les Terminales S spé-math ?
Ex 2
Points à coordonnées rationnelles d’une courbe
Pour la classe de Seconde, je souhaitais créer un exercice où les élèves ré-investiraient le calcul fractionnaire lors de l’étude d’une fonction homographique. Pour cela, j’ai conçu l’exercice suivant :
Les élèves devaient compléter le tableau de valeurs de la fonction, puis effectuer le tracé de sa courbe représentative.
J’ai utilisé Maxima pour qu’il cherche les point de la courbe représentative de cette fonction ayant leurs coordonnées multiples de 1/4 : ainsi, les points obtenus se placent aux nœuds du quadrillage proposé.
Voici le code donnant les coordonnées de points qu’on pourra placer aux nœuds du quadrillage :
Ex 3
Inégalités de fractions rationnelles
Afin de faire travailler mes élèves de seconde sur des exercices liant l’étude de signes d’un produit/quotient et la mise en commun au même dénominateur de fractions rationnelles, je souhaitais trouver des inégalités d’expressions rationnelles dont je pouvais contrôler le degré de complexité de résolution.
Une des compétences travaillées était la factorisation par la reconnaissance de la forme développée d’une identité remarquable. La recherche d’une telle situation à la main est possible mais pas aisé.
Le programme suivant demande à Maxima d’essayer près de 2 millions de différences de deux fractions rationnelles du premier degré et de n’afficher que les situations présentant une identité remarquable au numérateur.
Voici le résultat affiché par Maxima :
Et voici le code utilisé :
Ex 4
Inverse d’une matrice
Dans l’anneau des matrices d’ordre 3, une relation du type A^2+a.A=b.I
est suffisante pour affirmer que la matrice A est inversible et on peut extraire l’expression de la matrice inverse.
Comment mettre à profit le calcul formel et la puissance de calcul de Maxima pour trouver de telles matrices ?
La réponse est simple : tester toutes les matrices et n’afficher que celles qui vérifient la condition recherchée !
Voici le programme utilisé. Maxima va étudier 7<sup>9</sup>
matrices.
Et un extrait de l’affichage de Maxima
Et l’exercice qui en découle :
Ex 5
Antécédents des imaginaires purs par une fonction
On considère les fonctions complexes f
de la forme (a*z+b)/(c*z+d)
(a
, c
réels et b
, d
complexes). Nous allons demander à Maxima de chercher celle dont l’ensemble des antécédents par f
de l’ensemble des imaginaires purs admet un cercle pour représentation dans le plan complexe.
Voici le code utilisé pour déterminer des fonctions répondant à cette contrainte.
Voici quelques explications de ce code :
- la ligne 11 permet d’extraire la partie réelle de l’écriture algébrique de
f(z)
- La structure conditionnelle de la ligne 12 permet de s’assurer que l’expression obtenue est de la forme
a*x^2+a*y^2+...
. Une factorisation para
nous assurera d’avoir l’expression de l’équation cartésienne d’un cercle. - Les conditionnelles des lignes 18 et 23 assurent que les coordonnées du centre du cercle sont des multiples de
2^(-1)
- La conditionnelle de la ligne 30 permet de contrôler que le rayon du cercle est un entier
Voici un extrait de l’affichage de Maxima :
Voici l’exercice qui découle de cette étude :
Ex 6
Représentation d’une fonction complexe
La représentation d’une fonction complexe doit se faire dans un espace de dimensions 4. Nous allons ici utiliser les capacités de calcul de Maxima couplées avec le logiciel de tracé GnuPlot.
Dans l’espace de départ, nous allons découper des tranches par une droite et tracer dans GnuPlot la représentation (de dimension 2) de l’image par notre fonction de cette droite.
Voici le code utilisé pour étudier les images par la fonction f définie par :
f(z)=1/(z^2+1)
En modifiant les variables xxa
et yya
, nous modifions la partie considérée de l’espace de départ et nous observons dans GnuPlot son image :
- Voici l’image de la droite « y=x » par la fonction f
- Voici l’image de la droite « y=2x » par la fonction f
- Voici l’image de la droite « y=x+0.5 » par la fonction f
En fait, le script prend pour argument la représentation paramétrique d’un segment associé à la droite, il est possible d’obtenir les images d’un cercle ou de tout autre courbe à partir du moment où on peut l’exprimer sous une représentation paramétrique.
Voici un exercice extrait de la situation où la droite prise dans le plan de départ est y=x
:
Les élèves doivent conclure que l’ensemble E'
est contenu dans le cercle de centre (0,5 ;0) mais n’est pas tout le cercle.
En fait la représentation de Maxima nous permet de conjecturer que E'
est un demi-cercle.
J’espère avoir pu vous montrer comment travailler avec Maxima avant la classe pour sélectionner des situations pédagogiques intéressantes pour votre enseignement.
Thomas Castanet