Class Corps
java.lang.Object
|
+----Corps
- public class Corps
- extends Object
Corps fini Fq (q = p^m).
-
irreductible
- Polynome irreductible (de degré m).
-
m
-
-
p
- Dimension de l'espace constructeur Fp.
-
primitifs
- Elements primitifs.
-
q
- Dimension du corps.
-
tableLogs
- Table des logarithmes.
-
Corps(int, int, Polynome)
- Construit un corps fini Fq (q = p^m) avec un polynôme irreductible
comme génératéur.
-
add(int, int)
- Somme deux elements a et b de Fp.
-
adjuste(int)
- Adjuste la puissance d'un élément primitif (cyclique par q-1).
-
adjusteCoeffsPolynome(Polynome)
-
Substitue tous les coefficients d'un polynôme
avec leurs homologues en Fp.
-
adjustePuissancesPolynome(Polynome)
- Transforme un polynôme de Z vers Fp^m.
-
afficheTableAdd()
- Affiche la table de l'addition de Fp.
-
afficheTableAddPolynomes(Polynome[])
-
Affiches la table d'addition des polynomes en Fq.
-
afficheTableMult()
-
Affiche la table de la multiplication de Fp.
-
afficheTableMultPolynomes(Polynome[])
- Affiches la table de multiplication des polynomes en Fq.
-
divise(Polynome, Polynome)
-
Divise deux polynomes dans Fp.
-
invers(Polynome)
- Retourne l'invers d'un polynome dans Fp.
-
mult(int, int)
- Multiplie deux elements a et b dans Fp.
-
polynomeMinimal(Vector)
- Crée le polynôme minimal d'un élément primitif alfa, à partir de la
classe cyclotomique de alfa.
-
recherchePrimitifs(Polynome[])
- Recherche les elements primitifs de ce corps Fp.
-
reverseTableLogs(Polynome)
- Cherche dans la table des logarithmes le polynome primitif^ égal au
polynome passé en paramétre.
-
tableLogs()
- Construit la table des logarithmes de ce corps Fp, generée à partir
du prémier élément primitif trouvé.
-
tousLesPolynomes()
-
Engendre tous les polynomes de Fq (de degre' < m, a' coeffs en Z/pZ).
q
int q
- Dimension du corps.
p
int p
- Dimension de l'espace constructeur Fp. Doit être un nombre premier.
m
int m
irreductible
Polynome irreductible
- Polynome irreductible (de degré m).
primitifs
Polynome primitifs[]
- Elements primitifs.
tableLogs
Polynome tableLogs[]
- Table des logarithmes.
Corps
public Corps(int p,
int m,
Polynome irreductible) throws CorpsException
- Construit un corps fini Fq (q = p^m) avec un polynôme irreductible
comme génératéur.
- Parameters:
- p - un entier premier (la base)
- m - un entier (le degré du polynôme irreductible)
- irreductible - un polynôme irreductible de degré m qui engendrera
le corps
add
int add(int a,
int b)
- Somme deux elements a et b de Fp.
- Parameters:
- a - un entier de Fp
- b - un entier de Fp
- Returns:
- a + b dans Fp
mult
int mult(int a,
int b)
- Multiplie deux elements a et b dans Fp.
- Parameters:
- a - un entier
- b - un entier
- Returns:
- a * b dans Fp
afficheTableAdd
void afficheTableAdd()
- Affiche la table de l'addition de Fp.
afficheTableMult
void afficheTableMult()
- Affiche la table de la multiplication de Fp.
adjustePuissancesPolynome
public Polynome adjustePuissancesPolynome(Polynome polyZ)
- Transforme un polynôme de Z vers Fp^m.
- Parameters:
- polyZ - un polynôme de Z
- Returns:
- le polynôme polyZ dans Fp^m
adjusteCoeffsPolynome
public Polynome adjusteCoeffsPolynome(Polynome polyZ)
- Substitue tous les coefficients d'un polynôme
avec leurs homologues en Fp.
- Parameters:
- polyZ - un polynôme de Z
- Returns:
- le polynôme polyZ dans Fp^m
adjuste
public int adjuste(int exposant)
- Adjuste la puissance d'un élément primitif (cyclique par q-1).
- Parameters:
- exposant - un entier
- Returns:
- le modulo q-1 positif de exposant
tousLesPolynomes
Polynome[] tousLesPolynomes()
- Engendre tous les polynomes de Fq (de degre' < m, a' coeffs en Z/pZ).
- Returns:
- un array contenant tous les q polynômes possibles de Fq
afficheTableAddPolynomes
public void afficheTableAddPolynomes(Polynome tousPolys[])
- Affiches la table d'addition des polynomes en Fq.
- Parameters:
- tousPolys - tous les polynômes de Fq
afficheTableMultPolynomes
public void afficheTableMultPolynomes(Polynome tousPolys[])
- Affiches la table de multiplication des polynomes en Fq.
- Parameters:
- tousPolys - tous les polynômes de Fq
divise
public Polynome[] divise(Polynome dividende,
Polynome diviseur)
- Divise deux polynomes dans Fp.
- Parameters:
- dividende - le polynôme dividende
- diviseur - le polynôme diviseur
- Returns:
- un array contenant deux polynômes: le premier est le resultat
de la division, le deuxième le reste
tableLogs
private Polynome[] tableLogs()
- Construit la table des logarithmes de ce corps Fp, generée à partir
du prémier élément primitif trouvé.
- Returns:
- la table des logarithmes sous forme d'un array de polynômes,
où l'élément d'indice i contient (primitif^i)
reverseTableLogs
public int reverseTableLogs(Polynome polynome)
- Cherche dans la table des logarithmes le polynome primitif^ égal au
polynome passé en paramétre.
- Parameters:
- polynome - un polynome
- Returns:
- un entier i qui, dans la table des logarithmes, vérifie
primitif^i = polynome; -1 si un tel i n'existe pas (c'est le cas si
polynome est nul)
recherchePrimitifs
private Polynome[] recherchePrimitifs(Polynome tousPolys[])
- Recherche les elements primitifs de ce corps Fp.
- Parameters:
- tousPolys - tous les polynômes de Fp
- Returns:
- un array de polynômes contenant tous les elements primitifs
de Fp
invers
public Polynome invers(Polynome poly)
- Retourne l'invers d'un polynome dans Fp.
- Parameters:
- poly - un polynôme
- Returns:
- le polynôme inverse
polynomeMinimal
public Polynome polynomeMinimal(Vector classeCyc)
- Crée le polynôme minimal d'un élément primitif alfa, à partir de la
classe cyclotomique de alfa.
- Parameters:
- une - liste d'entiers (p0=1, p1, p2, ...) qui sont les puissances
de la classe cyclotomique de alfa
- Returns:
- le polynôme minimal (X - alfa)*(X - alfa^p1)*(X - alfa^p2)*...