III.3 Recherche d’unKR-automorphisme
Dans la suite, on fixeΩ:= (ω1, . . . ,ωd)uneQ-base deK. De plus, pour tout 1¶ j¶n, on
pose
Λj:=a1a−j1b1⊕ · · · ⊕ana−j1bn.
III.3.1 Automorphisme partiel
Commençons par modifier la notion originale d’automorphisme partiel:
Définition III.3.1 Soit1¶m¶n. On appelle m-automorphisme partiel deΛ(suivantBetΩ)
tout m-upletV:= (v1, . . . ,vm)d’éléments de KRn tel que
(i) vj∈Λj pour tout1¶ j¶m.
(ii) 〈ωkvi|ωlvj〉=〈ωkbi|ωlbj〉pour tous1¶i,j¶m et1¶k,l¶d.
En particulier, en vertu de laProposition III.2.2, unn-automorphisme partielV deΛdéfinit
un KR-automorphisme f ∈ AutK
R(Λ) en posant f(bi) = vi pour tout 1 ¶ i ¶ n.
Récipro-quement, un élément de AutK
R
(Λ)définit de la même manière un n-automorphisme partiel
deΛ. Nous déterminons donc un KR-automorphisme de Λen complétant récursivement un
1-automorphisme partiel en un n-automorphisme partiel. Néanmoins, un m-automorphisme
partiel ne peut pas toujours être complété en unn-automorphisme partiel. Ainsi, même s’il est
raisonnablement aisé de tester si la complétion du rangmau rangm+1 est possible, il est
souhaitable de disposer d’une méthode permettant d’éliminer rapidement les automorphismes
partiels qui ne finiront pas par donner un élément de AutK
R
(Λ). Avant d’introduire plusieurs
invariants permettant d’effectuer de tels tests, remarquons que cette approche récursive est
effectuée sur un nombrefinide possibilités :
Proposition III.3.2 Pour tout1¶m¶ n, l’ensemble des m-automorphismes partiels deΛest
fini.
Démonstration. Remarquons que puisque l’ensemble desn-automorphismes partiels deΛest
exactement AutK
R
(Λ), nous avons déja démontré ce résultat de finitude pourm= ndans la
Proposition II.3.25. Pour tout 1¶ j¶nconsidérons
Sj(Λ,B,Ω):=
x∈Λj : 〈ωkx|ωlx〉=〈ωkbj|ωlbj〉 ∀1¶k,l¶d .
Par définition même, unm-automorphisme partiel deΛa ses éléments dans
S1(Λ,B,Ω)× · · · ×Sm(Λ,B,Ω),
etSj(Λ,B,Ω)est un ensemble fini pour tout 1¶ j¶n. En effet,ω1Λjest un réseau algébrique
deKRn et on a
Sj(Λ,B,Ω)⊂ω−11·y∈ω1Λj : kyk=kωjbjk . (III.1)
D’où le résultat annoncé.
Chapitre III. Extension de l’algorithme de Plesken et Souvignier 81
Comme nous le remarquerons dans le chapitre suivant (voir la Section IV.2.2), le calcul
des ensemblesSj(Λ,B,Ω)est une tâche difficile, qui est vraisemblablement la partie la plus
coûteuse de l’algorithme. Notons que ces ensembles sont calculables en s’appuyant sur
l’in-clusion (III.1) puis en utilisant l’algorithme énumératif de Fincke et Pohst[FP85, §2]une fois
le réseauω1Λj identifié à un réseau euclidien deRnd. Nous détaillons le calcul pratique de
ces ensembles dans laSection V.4.1.1. Dans la suite, nous supposerons que ces ensembles ont
été précalculés. Cette hypothèse est déjà présente dans l’algorithme original de Plesken et
Souvignier, qui nécessite le précalcul des ensembles{x∈Λ : kxk=kbik}, où(b1, . . . ,bn)est
une base du réseau euclidien considéré.
III.3.2 Invariants pour le prolongement d’un automorphisme partiel
III.3.2.1 Empreinte d’une pseudo-base
Une première idée, connue dans le cas euclidien depuis les travaux de Plesken et Pohst
[PP85, §3], est d’utiliser le résultat suivant :
Proposition III.3.3 SoientVun m-automorphisme partiel deΛ(avec1¶m<n) et f ∈AutK
R
(Λ).
Le nombre d’éléments deΛm+1permettant de prolongerV en un(m+1)-automorphisme partiel
est égal au nombre d’éléments deΛm+1 permettant de prolonger f(V):= (f(v1), . . . ,f(vm))en
un(m+1)-automorphisme partiel.
Démonstration. Pour tout x ∈Λm+1,(V,x)est un(m+1)-automorphisme partiel si et
seule-ment si(f(V),f(x))en est un.
Corollaire III.3.4 Si un m-automorphisme partielV se prolonge en un automorphisme de Λ,
le nombre de prolongements deV en un (m+1)-automorphisme partiel est égal au nombre de
prolongements de(b1, . . . ,bm)en un(m+1)-automorphisme partiel.
Cette propriété fournit un premier test pour vérifier si un automorphisme partiel est
poten-tiellement prolongeable en unKR-automorphisme deΛ. Il est pour cela nécessaire de calculer
le nombre de prolongements possibles de(b1, . . . ,bm)en un(m+1)-automorphisme partiel
pour tout 1¶m<n. Cette donnée est appeléeempreinte de la pseudo-baseB(suivantΩ).
Une permutationτ ∈Sn de la pseudo-baseB permettant de minimiser ces valeurs est
également déterminée. Permuter les éléments de la pseudo-base initiale ne nécessite pas de
recalculer les ensemblesSj(Λ,B,Ω). En effet, si on noteBτ la pseudo-base deΛformée de
Bτ:= (bτ(1), . . . ,bτ(n))etAτ:= (aτ(1), . . . ,aτ(n)), on montre sans difficultés que
Sj(Λ,Bτ,Ω) =Sτ(j)(Λ,B,Ω)τ,
oùτagit sur KRn par permutation des coordonnées. Dans un souci de clarté et de lisibilité,
nous supposerons dans la suite que la permutationτest égale à l’identité. L’Algorithme III.1
82 III.3. Recherche d’unKR-automorphisme
Données :
• Une pseudo-base B de Λ.
• Une Q-base Ω de K.
• Les ensemble Sj(Λ,B,Ω) pour 1¶j¶n.
Résultat :
• L’empreinte E de B suivant Ω.
• La permutation τ minimisant l’empreinte.
1
calculer τ(1) tel que
S
τ(1)(Λ,B,Ω)
=min
1¶j¶n
S
j(Λ,B,Ω)
.
2E1:=
Sτ(1)(Λ,B,Ω)
.
3pour 2¶i¶n faire
4pour 1¶j¶n faire
5si j∈ {τ(1), . . . ,τ(i−1)} alors
6Fi,j:=0.
7sinon
8Fi,j:=
x∈F1,j :〈ωkx|ωleσ(h)〉=〈ωkbj|ωleσ(h)〉 ∀∀11¶¶kh,<l¶i d
.
9calculer τ(i) tel que
Fi,τ(i)
=min 1¶j¶n
j∈{/ τ(1),...,τ(i−1)}
Fi,j
.
10Ei:=
Fi,τ(i)
.
11retourner E et τ.
Algorithme III.1 - Calcul de l’empreinte d’uneKR-base.
III.3.2.2 Combinaisons scalaires
Comme remarqué dans[PS97, §5], l’empreinte seule n’est parfois pas suffisante pour
éli-miner rapidement les automorphismes partiels qui ne définissent pas unKR-automorphisme
deΛ. C’est pourquoi la notion decombinaison scalaireest introduite.
SoientV unm-automorphisme partiel deΛets= (sk,l,j)11¶¶kj¶,l¶md∈Rmd
2. On pose :
Xs(V):=
x ∈Sm+1(Λ,B,Ω) : 〈ωkx|ωlvj〉=sk,l,j ∀1¶k,l¶d
∀1¶ j¶m
et
b
Xs(V):= X
x∈Xs(V)
x.
Puisque lesXs(V)sont inclus dansSm+1(Λ,B,Ω), l’ensemble¦
b
Xs(V) : s∈Rmd
2©
est fini. On
l’appelle l’ensemble dessommes de combinaisons scalaires associées àV (suivantB etΩ). En
utilisant laProposition III.2.2, on montre que f ∈AutK
R
(Λ)préserve les ensemblesSj(Λ,B,Ω).
On en déduit la proposition suivante.
Chapitre III. Extension de l’algorithme de Plesken et Souvignier 83
Données :
• Un m-automorphisme partiel V de Λ.
• Une Q-base Ω de K.
• L’ensemble S(Λ,B,Ω).
Résultat :
• Une K-base X extraite des Xbs(V), donnée par des indices (s1, . . . ,sh).
• L’ensemble
〈ωkXi|ωlXj〉 : 1¶k,l¶d
1¶i,j¶h
.
• Les coordonnées des Xbs(V) dans la base X.
1
pour x∈S(Λ,B,Ω) faire
2
pour 1¶k,l¶det1¶ j¶m faire
3
sk,l,j:=〈ωkx|ωlvj〉.
4
soit s= (sk,l,j). Ajouter x à Xbs(V).
5
extraire une K-base X = (X1, . . . ,Xh) des Xbs(V).
6
déterminer les indices (s1, . . . ,sh) tels que Xi=Xbs
i
(v1, . . . ,vm) pour tout 1¶i¶h.
7
pour chaque Xbs(V) faire
8
écrire Xs(V) =Ph
i=1λs,iXi avec λs,i∈K.
9
pour 1¶k,l¶det1¶i,j¶h faire
10
Gi,j,k,l:=〈ωkXi|ωlXj〉.
11
retourner (s1, . . . ,sh), (λs,i) et G.
Algorithme III.2 - Calcul des combinaisons scalaires liées à un automorphisme partiel.
Proposition III.3.5 Soit f ∈AutK
R
(Λ). Pour tous1¶m¶n et s∈Rmd
2, l’application f induit
une bijection entre Xs(b1, . . . ,bm)et Xs(f(b1), . . . ,f(bm)). En particulier, on a
f(Xbs(b1, . . . ,bm)) =Xbs(f(b1), . . . ,f(bm)).
Cette proposition fournira une seconde condition (détaillée dans la prochaine section) pour
qu’un automorphisme partiel puisse être prolongé en unKR-automorphisme deΛ. Avant cela,
il est nécessaire de précalculer pour tout 1¶ m¶ nles combinaisons scalaires associées à
(b1, . . . ,bm)sous la forme suivante :
(a) On extrait une K-base X := (X1, . . . ,Xh) de l’ensemble des Xbs(b1, . . . ,bm), donnée par
des indices (s1, . . . ,sh), de telle façon queXi = Xbs
i
(b1, . . . ,bm) pour tout 1¶ i¶ h.
No-tons que si V est un m-automorphisme partiel de Λ, pour tout s ∈ Rmd
2, Xbs(V) est un
élément de VectK(Λ). En particulier, l’ensemble des combinaisons scalaires associées à un
automorphisme partiel deΛest de dimension au plusnsurK.
(b) On calcule l’ensemble
〈ωkXi|ωlXj〉 : 1¶k,l¶d
1¶i,j¶h
.
(c) On détermine lesK-coordonnées desXbs(b1, . . . ,bm)dans la baseX.
84 III.3. Recherche d’unKR-automorphisme
III.3.3 Test d’un candidat et bilan
SoitV unm-automorphisme partiel deΛ. À partir des deux algorithmes précédents, nous
construisons une méthode permettant de tester siVpeut être prolongé en unKR-automorphisme
deΛ. Soulignons néanmoins que les conditions que nous testons sontnécessaires mais
générale-ment non suffisantes: il est possible qu’un automorphisme partiel passe ces tests sans finalement
définir unKR-automorphisme deΛ. SoitC l’ensemble des élémentsx ∈Sm+1(Λ,B,Ω)tels que
(V,x)soit un(m+1)-automorphisme partiel.
(1) D’après leCorollaire III.3.4, si le cardinal deC n’est pas égal au nombre de prolongements
de(b1, . . . ,bm)en un(m+1)-automorphisme partiel (précalculé par l’empreinte), alorsV
n’est pas prolongeable en un automorphisme deΛ.
(2) On calcule lesXbs(V)pours∈Rmd
2. Si la baseX du point (a) est donnée par des indices
(s1, . . . ,sh), on pose ensuiteXei :=Xbs
i
(V). SiV se prolonge en f unKR-automorphisme de
Λ, en vertu de laProposition III.3.5, f(Xi) =Xei. Cependant, f(Xi)n’est généralement pas
calculable en connaissant seulementV. C’est pourquoi on effectue plutôt les tests suivants :
(i) On vérifie que〈ωkXei|ωlXej〉=〈ωkXi|ωlXj〉pour tous 1¶i,j¶het 1¶k,l¶dà
l’aide des données du point (b). D’après laProposition III.2.2, siVse prolonge en f,
ces égalités sont vérifiées.
(ii) En utilisant les données du point (c), chaqueXbs(b1, . . . ,bm)s’écrit
b
Xs(b1, . . . ,bm) =
h
X
i=1
λs,iXi.
On teste alors siXbs(V) =Ph
i=1λs,iXei pour touts∈Rnd
2. En effet, siV se prolonge
en f, on obtient en utilisantProposition III.3.5:
f(Xbs(b1, . . . ,bm)) =Xbs(V) =
h
X
i=1
λs,if(Xi) =
h
X
i=1
λs,iXei.
L’Algorithme III.3implante cette phase de tests.
On en déduit enfin un algorithme permettant de déterminer un KR-automorphisme de
Λ. On suppose que l’empreinte et les sommes de vecteurs deBsont précalculées à l’aide de
l’Algorithme III.1et de l’Algorithme III.2.
(1) On choisit un élémentv1parmi l’ensembleS1(Λ,B,Ω)des 1-automorphismes partiels de
Λ.
(2) Supposons déterminéV un m-automorphisme partiel deΛ. Si m= n,V définit un KR
-automorphisme de Λ. Dans le cas contraire, on calcule l’ensemble C des éléments
x∈Sm+1(Λ,B,Ω)tels que(V,x)soit un(m+1)-automorphisme partiel, donné par
C :=
x∈Sm+1(Λ,B,Ω) : 〈ωkx|ωlvj〉=〈ωkbm+1|ωlbj〉 ∀∀11¶¶kj,¶l¶md
Chapitre III. Extension de l’algorithme de Plesken et Souvignier 85
On choisit x∈C et on s’assure à l’aide de l’Algorithme III.3que(V,x)est un bon candidat
pour fournir un KR-automorphisme de Λ. Si (V,x) passe ce test avec succès, on pose
vm+1 = x et on passe à l’étape suivante. Sinon, un autre x ∈ C est choisi. Si toutes
les possibilités dans C sont épuisées, c’est que V ne peut pas être prolongé en un KR
-automorphisme deΛ: on retourne donc à l’étape précédente.
Remarquons que cette méthode (Algorithme III.4) est aisément modifiable pour permettre le
prolongement (si possible) d’un automorphisme partiel en unKR-automorphisme deΛ.
Données :
• Un m-automorphisme partiel V de Λ et l’ensemble C des candidats pour
prolonger V.
• L’ensemble S(Λ,B,Ω).
• L’empreinte E de la pseudo-base B initiale de Λ donnée par
l’Algorithme III.1.
• Les données (s1, . . . ,sh), (λs,i) et G associées aux combinaisons scalaires de
(b1, . . . ,bm) renvoyées par l’Algorithme III.2.
• Une Q-base Ω de K.
Résultat :
• Le résultat des tests de l’empreinte et des combinaisons scalaires sur V.
1
si |C| 6=Em alors
2retourner faux.
3pour x∈S(Λ,B,Ω) faire
4pour 1¶k,l¶det1¶ j¶m faire
5sk,l,j:=〈ωkx|ωlvj〉.
6soit s= (sk,l,j). Ajouter x à Xbs(V).
7pour 1¶i¶h faire
8Xei:=Xbs
i(V).
9pour 1¶j¶iet1¶k,l¶d faire
10si 〈ωkXei|ωlXej〉 6=Gi,j,k,l alors
11retourner faux.
12
pour chaque Xbs(V) faire
13
si Xbs(V)6=Ph
i=1λs,iXei alors
14
retourner faux.
15
retourner vrai.
86 III.3. Recherche d’unKR-automorphisme
Données :
• Une pseudo-base B de Λ.
• Les ensemble Sj(Λ,B,Ω) pour 1¶j¶n.
• L’empreinte E de pseudo-base initiale de Λ, donnée par l’Algorithme III.1.
• Les données des combinaisons scalaires de (b1, . . . ,bm) pour 1¶m<n
renvoyées par l’Algorithme III.2.
• Une Q-base Ω de K.
Résultat :
• Un KR-automorphisme de Λ.
1
C1:=S1(Λ,B,Ω).
2
i:=1.
3
tant que i¶m−1 faire
4
si i=1 alors
5
choisir v1∈C1.
6
C1=C1\ {v1}.
7
C2:={x∈S2(Λ,B,Ω) : 〈ωkx|ωlv1〉=〈ωkb2|ωlb1〉 ∀1¶k,l¶d}.
8
si estCandidat(v1) (Algorithme III.3) alors
9
i=i+1.
10sinon
11retourner à l’étape 5.
12sinon
13si Ci=; alors
14i=i−1.
15sinon
16choisir vi∈Ci.
17Ci=Ci\ {vi}.
18Ci+1:=
x∈Si+1(Λ,B,Ω) :〈ωkx|ωlvj〉=〈ωkbi+1|ωlbj〉 ∀∀11¶¶kj,¶l¶i d
.
19
si estCandidat(v1, . . . ,vi) (Algorithme III.3) alors
20
i=i+1.
21
sinon
22
retourner à l’étape 13.
23
choisir vm∈Cm.
24
retourner (v1, . . . ,vm).
Chapitre III. Extension de l’algorithme de Plesken et Souvignier 87
Dans le document
Méthodes algorithmiques pour les réseaux algébriques
(Page 86-93)