
Le Travail
Notre but est d’impl´ementer une librairie de polynˆomes pour effectuer la division
Euclidienne des polynˆomes.
Vous devrez rendre sur le serveur de d´epˆots une archive contenant vos sources
et un rapport au format pdf expliquant vos choix d’impl´ementation ainsi que
les algorithmes utilis´es.
Bien que pour ce sujet nous n’utiliserons que des polynˆomes de F2[X] les
CRC utilis´es en pratique travaillent dans F256[X] o`u les coefficients sont dans le
corps `a 256 ´el´ements. Nous voulons avoir un code g´en´erique o`u les algorithmes
sur les polynˆomes peuvent s’exprimer sur n’importe quel corps de coefficients.
Les Nombres
Le corps F2contient les deux ´el´ements 0 et 1, nous utiliserons des entiers pour
les repr´esenter. Nous devons donc d´efinir un type de donn´ees Field ainsi que
des op´erations de base pour l’arithm´etique, les tests et l’impression.
Les Polynˆomes
Traditionellement les polynˆomes sont repr´esent´es par des listes de monˆomes
qui sont des couples form´es d’un degr´e et d’un coefficient. Le degr´e est en
g´en´eral un entier non sign´e et le coefficient un ´el´ement non nul d’un anneau K
dont les valeurs peuvent ˆetre repr´esent´es de diff´erentes fa¸cons. Les listes sont
implicitement tri´ees par ordre d´ecroissant des monˆomes, c’est-`a-dire que les plus
hauts degr´es sont au d´ebut de la liste.
0.0.1 Addition et soustraction
´
Etant donn´es deux polynˆomes Pet Q, il vient de la repr´esentation que si Pet
Qsont non nuls ils se d´ecomposent en:
P=cpXdp+P0
Q=cqXdq+Q0
o`u cpet cqsont non nuls dans Ksans calculs.
La somme Sdes polynˆomes P+Qpeut donc se calculer par l’une des for-
mules: S=cpXdp+ (P0+Q)
S=cqXdq+ (P+Q0)
S=cXd+ (P0+Q0)
avec c=cp+cqet d=dp=dqet en fonction de la comparaison entre dpet dq.
Ici la somme cp+cqs’effectue bien sˆur dans K.
Dans la formule pr´ec´edente seule la somme P0+Q0est r´ecursive. On prendra
en outre soin de ne pas construire le monˆome cXdlorsque cest nul dans K.
L’algorithme est donc le mˆeme que celui qu’on applique `a la main et la
soustraction de fait de la mˆeme mani`ere.
2