Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Utiliser Maxima pour préparer le travail en classe

Cet article présente l’utilisation du logiciel Maxima dans la construire d’exercices à destination des élèves du secondaire.

Article mis en ligne le 29 juin 2017
dernière modification le 3 juillet 2017

par Thomas Castanet

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 par a 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