Voici un petite programme qui permet de gerer des corps de facon generique.
On peut obtenir des corps classiques comme les reels, les rationnels, ou
encore les corps finis Z/pZ (avec p premier). A partir de cela on peut
constuire des polynomes sur un corps, et puis faire des extensions de corps
a partir d'un polynome irreductible... on construit d'autres corps, comme
les complexes et des corps finis a 4,16,256,3,9,27... elements !!
Un petit detour dans le monde merveilleux des mathematiques :
Soit K un corps, et P un polynome irreductible de degre n sur K.
K[X] est l'anneau des polynomes a coefficients dans K. On note
K[X]/P la classe residuelle modulo P des polynomes de K[x],
autrement dit on considere seulement les restes des divisions
euclidiennes par P. (Autrement mathematiquement-pompeusement dit : on
quotiente l'ensemble K[X] par la relation d'equivalence A~B<=>P|A-B, et
on prend comme representant des classes d'equivalences le polynome de
degre strictement inferieur a n)
Noton L=K[X]/P cette ensemble. L est muni naturellement de l'addition,
soustraction, multiplication, regles d'associativite et de distributivite,
... et surtout de l'inverse (et donc de la division pour tout element non-nul)
La relation de bezout entre un polynome non-nul et P donne : XU+PV=PGCD(X,P)=1
car P est irreductible, dont premier avec tout polynome de degre strictement
inferieur a n. Ainsi "modulo P" on a XU=1, U est donc l'inverse de X dans L.
L est donc muni d'une structure de corps. Et L est un espace vectoriel sur K
de dimension n.
Dans le cas des corps finis, ceci montre que si K=Z/pZ, alors L est un corps
a p^n elements... reste a demontrer qu'il existe bien un polynome irreductible
de degre n... c'est un autre probleme !
La genericite du code pour la strucutre de corps ('FIELD') permet aisement de
construire c'est sur-corps, ce programme met bien en oeuvre l'utilisation
des extensions de corps.
C=R[X]/X^2+1 est le corps des complexes
Q[racine de deux] ) Q[X]/X^2-2
F16 = F2[X]/X^4+X+1 est le corps (a isomorphisme pres il est unique) a 16 elements