David Madore's WebLog: Une erreur que je voudrais ne plus voir

Index of all entries / Index de toutes les entréesXML (RSS 1.0) • Recent comments / Commentaires récents

Entry #2169 [older|newer] / Entrée #2169 [précédente|suivante]:

(jeudi)

Une erreur que je voudrais ne plus voir

Je donne à Télécom ParisBientôtSaclayTech, dans le cadre d'un master de sécurité, un cours de remise à niveau en algèbre pour la cryptographie : il s'agit essentiellement de présenter les ℤ/mℤ (théorème chinois, fonction indicatrice d'Euler, éléments primitifs), la notion de groupe cyclique, et, à la fin, la notion de corps fini (et la manière de les voir comme des quotients des polynômes), voire la définition du symbole de Legendre (je fais ça en TD). Pour ceux que ça intéresse, les notes de mon cours ainsi que les feuilles d'exercices et les sujets de contrôle sont disponibles ici (je crois que c'est en accès public, en tout cas j'ai demandé que ce le soit ; sinon, il y a une copie de mes notes de cours ici).

Il s'agit de notions assez agréables à enseigner, et même si le niveau des étudiants est extrêmement hétérogène, c'est plutôt plaisant. Les objectifs sont modestes (d'ailleurs, si c'était moi qui faisais les programmes, quelques unes de ces choses seraient enseignées au lycée, au moins dans les terminales scientifiques) et l'ambiance est agréable.

Il y a pourtant une erreur récurrente que je vois chaque année dans une proportion alarmante des copies et que je m'arrache les cheveux à me demander comment l'éviter.

Je définis la notion d'ordre d'un élément a dans un groupe G comme le plus petit n tel que an=1 : j'insiste en disant ça sur le fait qu'avoir an=1 ne signifie pas que l'ordre de a soit n mais seulement qu'il divise n (ou que n est multiple de l'ordre de a). Quand j'énonce le « petit » théorème de Fermat, selon lequel si p est premier et a non multiple de p alors ap−1≡1 (mod p) (ou bien le théorème d'Euler selon lequel si a est premier avec m alors aφ(m)≡1 (mod m)), j'insiste sur le fait que cette borne n'est pas forcément optimale, il se peut très bien qu'il existe un exposant k plus petit que celui prédit par le théorème pour lequel on ait ak≡1, autrement dit, que l'ordre multiplicatif de a modulo p n'est pas forcément p−1 (ou φ(m) modulo un m quelconque), et d'ailleurs qu'on va appeler primitifs les éléments pour lesquels il l'est (et que ces éléments existent pour p premier et pour certains m composés, et qu'ils sont un objet d'étude important). Dans les exercices je souligne de nombreuses fois que quand on cherche à calculer l'ordre multiplicatif d'un élément a (non nul) modulo p, le petit théorème de Fermat donne l'assurance qu'à la puissance p−1 on retombera sur 1 mais qu'il est possible qu'on retombe sur 1 plus tôt, exemples à l'appui ; je leur fais notamment calculer les ordres additifs et multiplicatifs de tous les éléments modulo m pour différentes valeurs de m. Je donne même des exemples de situations où tous les éléments sont d'ordre plus petit que ce que prédit le théorème d'Euler, c'est-à-dire qu'il n'existe pas d'éléments primitifs. Je souligne qu'il ne faut pas faire cette erreur que de penser qu'avoir un multiple de l'ordre signifie qu'on ait l'ordre exact (mais que comme l'ordre exact doit diviser p−1 ou φ(m), on peut souvent le trouver). Bref, je tourne ça de toutes les façons que je peux imaginer, dans l'espoir que ça finisse par rentrer.

Et ça ne rentre pas. La première question du contrôle que je leur ai donné avant-hier était : quel est l'ordre multiplicatif de 2 modulo 11, et il y a vraiment trop d'étudiants qui me répondent : on a 210≡1 (mod 11) d'après le théorème de Lagrange / Euler / Fermat [ce qui est correct], donc 2 est d'ordre multiplicatif 10 [c'est le donc qui est faux[#] : on peut seulement en conclure qu'il divise 10] ; voire, qui enfoncent le clou en disant : on peut donc dire que 2 est primitif. (M'enfin ! Si tous les éléments étaient primitifs, on n'introduirait pas cette notion !)

[#] C'est uniquement le donc qui est faux : la conclusion est juste, 2 est bien d'ordre multiplicatif 10 modulo 11 (mais on ne peut pas le déduire du théorème de Lagrange / Euler / Fermat — il faut au minimum calculer 22 et 25 modulo 11).

Je sais que les enseignants aiment se plaindre que leurs élèves sont nuls, mais là, je ne peux pas dire ça : si quelqu'un écrit des énormités dans une copie, on peut se dire qu'il est idiot et en rire, mais vu que cette erreur revient chaque année chez au moins un tiers de mes étudiants, la faute est forcément la mienne, pas la leur. (J'en ai déjà parlé, mais cette année je croyais avoir mis le paquet, avoir passé un temps démesuré à répétér, rabâcher, mettre en garde, avertir, sermonner : le fait d'avoir an=1 ne signifie pas que l'ordre de a soit n mais seulement qu'il divise n.)

Alors, comment est-ce que je dois faire ? Est-ce que quelqu'un a une idée ? Il paraît que la pédagogie est une science : qu'on m'explique, sur cet exemple extrêmement précis, ce que je dois faire (je ne dis pas que je suis satisfait à 100% de ce qu'ils retiennent du reste du cours, mais ce point précis est vraiment celui qui me pose le plus de problème, c'est l'erreur nº1 que je voudrais leur faire éviter).

(Si c'était un point anecdotique du cours, je pourrais l'ignorer ; mais c'est vraiment ce qui sous-tend la notion de logarithme discret que de bien comprendre le concept d'ordre d'un élément dans un groupe et d'élément primitif.)

↑Entry #2169 [older|newer] / ↑Entrée #2169 [précédente|suivante]

Recent entries / Entrées récentesIndex of all entries / Index de toutes les entrées