AccueilđŸ‡«đŸ‡·Chercher

Algorithme de Cantor-Zassenhaus

L'algorithme de Cantor-Zassenhaus est un algorithme de factorisation des polynÎmes à coefficients dans un corps fini. Il a été découvert par David G. Cantor (en) et Hans Julius Zassenhaus en 1981. Un autre algorithme effectuant cette opération est l'algorithme de Berlekamp, qui date de 1967.

Préparation

L'algorithme fonctionne sur des polynĂŽmes sans facteur carrĂ©, et dont tous les facteurs irrĂ©ductibles ont mĂȘme degrĂ©. La premiĂšre condition est habituelle, et l'on s'y ramĂšne en considĂ©rant le pgcd du polynĂŽme et de son polynĂŽme dĂ©rivĂ©. Quant Ă  la deuxiĂšme condition, elle est traitĂ©e grĂące au fait que tous les polynĂŽmes irrĂ©ductibles de degrĂ© divisant n, Ă  coefficients dans un corps fini de cardinal q, sont des diviseurs du polynĂŽme Xqn – X.

Soit f un polynĂŽme sans facteur carrĂ© Ă  factoriser. L'algorithme de Cantor-Zassenhaus implique donc de calculer d'abord le pgcd de f et Xq – X c'est un produit de polynĂŽmes de degrĂ© 1, auxquels on applique le pas gĂ©nĂ©ral de l'algorithme ; on divise ensuite f par tous ses facteurs de degrĂ© 1, et on recommence en calculant le pgcd du quotient avec Xq2 – X, en divisant par les facteurs trouvĂ©s, et en continuant jusqu'Ă  Ă©puisement des facteurs irrĂ©ductibles de f.

Pas général de l'algorithme

On suppose ici que f est un polynĂŽme Ă  coefficients dans le corps fini Fq Ă  q Ă©lĂ©ments, sans facteur carrĂ© et dont tous les facteurs irrĂ©ductibles sont de mĂȘme degrĂ© d, fixĂ© Ă  l'avance. Notons f1, jusqu'Ă  fr ces facteurs irrĂ©ductibles. Alors, par le thĂ©orĂšme des restes chinois, il existe un isomorphisme :

On cherche alors un polynĂŽme a(x), dont la rĂ©duction modulo fi sera notĂ©e ai pour chaque i, tel que tous les ai valent 0, 1 ou –1, et tel que deux au moins des ensembles suivants sont non vides :

Alors, les polynĂŽmes suivant fournissent une factorisation non triviale de f :

Il faudra alors appliquer ce pas gĂ©nĂ©ral rĂ©cursivement aux facteurs trouvĂ©s jusqu'Ă  obtenir des facteurs de degrĂ© d. En caractĂ©ristique diffĂ©rente de 2, un polynĂŽme a(x) est trouvĂ© en constatant que chaque Fq[x]/(fi) est un corps fini de cardinal qd, et que donc, en choisissant b(x) de degrĂ© plus petit que d, et diffĂ©rent des polynĂŽmes constants 0, 1 et –1, les rĂ©ductions ai du polynĂŽme sont bien toutes 0, 1 ou –1. Il peut cependant advenir que pour le polynĂŽme a ainsi construit, deux des trois ensembles A, B et C soient vides, mais la probabilitĂ© peut ĂȘtre contrĂŽlĂ©e. L'algorithme consiste donc Ă  tester des polynĂŽmes b choisis au hasard jusqu'Ă  trouver un polynĂŽme a tel que souhaitĂ©.

Références

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.