Chapitre 4 : Quelques applications de l’algèbre linéaire 1

publicité
Université François-Rabelais de Tours
Licence de Mathématiques
Chapitre 4 : Quelques applications de l’algèbre linéaire
UE 6-3 Algèbre
1
1.1
Semestre 6
Applications de la dualité
Réduction des endomorphismes
Soit E un K-e.v de dimension finie, F un s.e.v de E et u ∈ L (E). On rappelle que F est stable par u si
et seulement si F ⊥ est stable par t u.
Théorème 1.1.
L’endomorphisme u est trigonalisable si et seulement si son polynôme caractéristique χu est
scindé
Démonstration. On raisonne par récurrence sur la dimension n de E. Si dim(E) = 1 c’est clair. On suppose
que dim(E) = n > 1. Soit A une matrice représentant u. On a χt u = χt A = χA = χu et donc χt u est
scindé. On voit donc que χt u admet une racine, donc t u admet une valeur propre et il existe une droite
vectorielle D ⊂ E ∗ stable par t u. Son orthogonal D◦ est stable par u et dim D◦ = n − 1. Par hypothèse de
récurrence, on peut trigonaliser u|D◦ , c’est-à-dire, il existe une base (e1 , . . . , en−1 ) dans laquelle la matrice
T de u est triangulaire supérieure. On complète en une base B = (e1 , . . . , en−1 , en ) de E. Dans cette base
on a
∗
T
MatB (u) =
.
01,n−1 λ
1.2
Polynômes de Lagrange
On cherche dans ce paragraphe à interpoler une série de points par un polynôme qui passe exactement
par ces points. Plus précisément, étant donné deux n + 1-uplets (x0 , . . . , xn ) et (y0 , . . . , yn ) de nombres
complexes tels que les xi sont distincts deux à deux, on souhaite déterminer un polynôme P vérifiant
P (xi ) = yi pour tout i ∈ {0, . . . , n}.
Soit i ∈ {0, . . . , n}. On cherche un polynôme Li de degré au plus n et vérifiant Li (xj ) = δi,j . Tous les xj
pour j 6= i sont racnes de Li , ainsi on a forcément
Y
Li = C
(X − xj ).
j6=i
Reste à déterminer la constante C. Puisque Li (xi ) = 1, on a
1
.
x
j6=i i − xj
C=Q
Finalement, on a
Li =
Y X − xj
.
xi − xj
j6=i
Si un autre polynôme Qi vérifie ces propriétés, alors L − Q est de degré au plus n et il s’annule en n + 1
points, il est donc nul. Ceci montre l’unicité des polynômes Li . Il suffit juste maintenant de poser
P =
n
X
i=0
pour trouver le polynôme recherché.
1
yi Li
Lien avec la dualité. Il est clair que la famille (Li )0≤i≤n forme une base de Cn [X]. Pour tout 0 ≤ k ≤ n
on définit la forme linéaire suivante :
ϕk : Cn [X] −→
Q
7−→
C
.
Q(xk )
Alors la famille (ϕi )0≤i≤n est la base duale de (Li )0≤i≤n . En effet, ϕk (Li ) = Li (xk ) = δi,k . Ainsi, tout
polynôme Q s’écrit
n
n
X
X
Q=
ϕi (Q)Li =
Q(xi )Li .
i=0
i=0
Exemple 1.2. Soient (x0 , x1 , x2 ) = (1, −1, 2) et (y0 , y1 , y2 ) = (3, 2, −1). On trouve
1
(X + 1)(X − 2)
= − (X 2 − X − 2)
(1 + 1)(1 − 2)
2
1
(X − 1)(X − 2)
L1 =
= (X 2 − 3X + 2)
(−1 − 1)(−1 − 2)
6
1
(X − 1)(X + 1)
= (X 2 − 1)
L2 =
(2 − 1)(2 + 1)
3
L0 =
L’unique polynôme P de degré trois passant par ces points est donc
1
3
P = 3L0 + 2L1 − L2 = − X 2 + X + 4
2
2
2
Extension de corps
Un corps est un anneau dont tous les éléments non nuls sont inversibles. Nous supposerons de plus qu’un
corps est commutatif.
Définition 2.1.
Soient K et L deux corps tels que K ⊂ L. On dit que L est une extension de K et que K est un
sous-corps de L.
Remarque 2.2. Si K est un sous-corps de L alors L est un K-espace vectoriel. Si dimK (L) est finie, alors
dimK (L) s’appelle le degré de L sur K.
Exemple 2.3. Le corps C est une extension de R. De plus, (1, i) est une R-base de C, ainsi dimR C = 2.
Théorème 2.4 (de la base téléscopique).
Soient K ⊂ L ⊂ M des corps. Soient (ei )i∈I une base de L sur K et (fj )j∈J une base de M sur
L. Alors (ei fj )(i,j)∈I×J est une base M sur K. En particulier, si les degrés des extensions sont
finis, on a dimK M = dimK L × dimL M.
P
Démonstration. (ei fj )i,j est une famille libre. Soient λi,j ∈ K tel que i,j λi,j ei fj = 0. On a alors
X
X X
λi,j ei fj =
fj (
λi,j ei ) = 0
i,j
j
i
P
P
et comme (fj )j est une base de M sur L et i λi,j ei ∈ L , on obtient i λi,j ei = 0 pour tout j. De même,
cette dernière inégalité implique que λi,j = 0 pour tout i. Ainsi, (ei fj )i,j forme bien une famille libre.
P
(ei fj )i,j est une famille génératrice. Soit
µj fj avec µj ∈ L. Puisque µP
j ∈ L et que (ei )i
P x ∈ M. On a x =
forme une base de L sur K, on a µj = j λi,j ei où λi,j ∈ K pour tout j. Finalement x = i,j λi,j ei fj .
Définition 2.5.
Soit K ⊂ L une extension de corps et soit α ∈ L\K. On désigne par
1) K[α] le sous-anneau de L engendré par K et α.
2) K(α) le plus petit sous-corps de L contenant α et K.
2
On vérifie que :
∗ si x ∈ K[α] alors x = an αn + . . . + a1 α + a0 avec ai ∈ K.
P (α)
∗ si x ∈ K(α) alors x =
avec P, Q ∈ K[X] et Q(α) 6= 0.
Q(α)
Attention, comme on le verra rapidement on n’a pas en général K[α] ' K[X] !
√
Exemple 2.6. On considère l’extension Q ⊂ R. On sait que 2 ∈ R\Q. Ainsi :
( √
)
n √
o
√
√
P ( 2)
√ | P, Q ∈ Q[X] .
Q[ 2] = P ( 2) | P ∈ Q[X])
et Q( 2) =
Q( 2)
√ 2
P √ i
Mais comme 2 = 2, on voit que toute expression (finie) de la forme i a0i 2 se réduit sous la forme
√
√
√ 2
√
√
a0 + a1 2 avec a0 , a1 ∈ Q. Par exemple 1 − 3 2 + 2 − ( 2)3 = 3 − 5 2. On a donc
(
)
√
n
o
√
√
√
a0 + a1 2
√ | a0 , a1 , b0 , b1 ∈ Q .
Q[ 2] = a0 + a1 2 | a0 , a1 ∈ Q
et Q( 2) =
b0 + b1 2
Mais on a aussi :
√
√
√
a0 b0 − 2a1 b1
−a0 b1 + a1 b0 √
(a0 + a1 2) · (b0 − b1 2)
a0 + a1 2
√ =
=
+
2
b20 − 2b21
b20 − 2b21
b20 − 2b21
b0 + b1 2
√
√
√
√
et donc Q( 2) ⊂ Q[ 2], c’est-à-dire Q( 2) = Q[ 2].
Définition 2.7.
Soit K ⊂ L une extension de corps et soit α ∈ L.
1) On dit que α est algébrique sur K s’il existe un polynôme P ∈ K[X] non-nul tel que
P (α) = 0. Dans ce cas, on appelle polynôme minimal de α l’unique polynôme unitaire
générateur de l’idéal {P ∈ K[X] | P (α) = 0}.
2) On dit que α est transcendant si α n’est pas algébrique.
Exemple 2.8.
1)
√
2 est algébrique sur Q puisque c’est une racine de X 2 − 2.
2) 5 est algébrique sur Q puisque c’est une racine de X − 5
3) e n’est pas algébrique sur Q.
On pose :
εα : K[X] −→
P
7−→
L
.
P (α)
Alors εα est un morphisme d’anneaux. Son noyau est l’ensemble des polynômes P ∈ K[X] tels que P (α) = 0.
Par définition on a εα est injectif si et seulement si α est transcendant.
Théorème 2.9.
Soit K ⊂ L une extension de corps et soit α ∈ L. Les propriétés suivantes sont équivalentes :
1) α est algébrique sur K,
2) on a K[α] = K(α),
3) on a dimK K[α] < +∞
Plus précisémment, si P est le polynôme minimal de α sur K alors dimK K[X] = deg(P ).
Démonstration. Si α est algébrique, alors εα n’est pas injectif. On a ker(εα ) = (Pα ) où Pα est le polynôme
minimal de α. On voit alors que
εα : K[X]/(Pα ) −→ K[α]
est isomorphisme d’anneaux. De plus, comme P est irréductible, K[X]/(Pα ) est un corps. Ainsi, puisque
ε est un isomorphisme, K[α] est aussi un corps. Finalement, on a K[α] = K(α). De plus, dimK (K[α]) =
3
deg(Pα ) d’après le Théorème 4.2 du premier chapitre. On a donc (1) ⇒ (2) et (1) ⇒ (3).
Si α est transcendant alors εα est injectif. Dans ce cas, K[X] ' K[α], dimK K[α] = +∞ et K[α] 6= K(α).
Ainsi (3) ⇒ (1) et (2) ⇒ (1).
Théorème 2.10.
Soit K ⊂ L une extension de corps. On pose
M := {x ∈ L | x est algébrique sur K}.
Alors M est un sous-corps de L.
Démonstration. Soient α, α0 ∈ M . Considérons le sous-anneau K[α, α0 ] de L engendré par α et α0 . On
a K[α, α0 ] = K[α][α0 ]. Comme α est algébrique sur K, K[α] est un corps. Comme α0 est algébrique sur
K (et donc sur K[α]), K[α][α0 ] est aussi un corps. D’après le théorème de la base téléscopique on obtient
dimK (K[α, α0 ]) < +∞. Mais K[αα0 ] et K[α + α0 ] sont inclus dans K[α, α0 ], on a donc dimK K[α + α0 ] < +∞
et dimK K[α · α0 ] < +∞. Le résultat suit.
√
√
√
√
Exemple 2.11. On sait que 2 et 3 sont algébrique sur Q. D’après le théorème ci-dessus, 2 + 3 est
aussi algébrique sur Q. On cherche à déterminer son polynôme minimal. On a
√
2
√
√
√
√
√
( 2 + 3)2 = 5 + 2 6 et
( 2 + 3)2 − 5 = (2 6)2 = 24.
Ceci montre en particulier que
sur Q. De plus, on a
√
2+
√
3 est racine du polynôme P (X) = (X 2 − 5)2 − 24 donc algébrique
P (X) = (X 2 − 5)2 − 24
√ √ = X2 − 5 − 2 6 · X2 − 5 + 2 6
√
√ √ √
= X 2 − ( 2 + 3)2 · X 2 − ( 2 − 3)2
√ √
√ √
√ √
√ √
= X − ( 2 + 3) · X + ( 2 + 3) · X − ( 2 − 3) · X + ( 2 − 3)
Ceci permet de voir que P est irréductible sur Q. Ainsi
√
2+
√
3 est algébrique de degré 4.
Remarque 2.12.
1) Il n’est pas toujours évident de trouver le polynôme minimal de α+α0 .√
Par exemple,
√ 5 √il
7
3
n’est pas du tout évident de trouver√
un polynôme
à
coefficient
dans
Q
qui
s’annule
en
5+
7·
3
√
√
mais les polynômes minimaux de 7 5, 3 7 et 5 3 sont respectivement X 7 − 5, X 3 − 7 et X 5 − 3.
2) L’ensemble MQ = {x ∈ Q | x est algébrique sur Q} n’est pas égale à R ou à C. En effet, MQ √
est
dénombrable... L’extension Q ⊂ MQ n’est pas finie. En effet on peut montrer que le degré de n 2
est n pour tout n ∈ N.
3) On peut montrer à l’aide des méthodes vectorielles quelques résultats sur les constructions à la règle
et au compas.
3
Codes correcteurs
Les codes correcteurs d’erreurs apparaissent dans la transmission de données. Il peut se produire des
erreurs lorsque vous communiquez des données. Les codes correcteurs permettent dans certaines limites,
de détecter de telles erreurs voire de les localiser et de les corriger. Pour simplifier, on supposera que les
messages que l’on souhaitent envoyer sont de longueur k et à coefficient dans Fk2 . On supposera aussi que
la probabilité qu’il y ait une erreur sur la kième composante lors de la transmission est très petite.
Exemple 3.1. Supposons que les messages à communiquer soient de longueur 7, c’est-à-dire des éléments
m := (m1 , m2 , . . . , m7 ) de F72 . On peut alors rajouter un élément au message de la manière suivante :
(
P
(m1 , m2 , . . . , m7 , 0) si
mi ≡ 0 mod 2
m̃ =
P
(m1 , m2 , . . . , m7 , 1) si
mi ≡ 1 mod 2
4
De cette manière si vous recevez un message de la forme (0, 0, 1, 1, 0, 0, 0, 1), vous savez qu’il y a eu
un problème et vous pouvez demander que l’on vous renvoie le message. Si vous recevez un message
m̃ = (1, 1, 0, 0, 0, 0, 0, 0) alors il se peut que
1) il n’y ait pas d’erreur,
2) le message original soit, par exemple, (1, 1, 0, 0, 0, 1, 1, 0).
Il n’y a pas moyen de voir s’il y a une erreur. On voit donc que notre code peut détecter une erreur. Ce
code s’appelle le code de parité. L’idée est donc de rajouter de l’information afin de pouvoir détecter des erreurs et éventellement les
corriger. Dans l’exemple ci-dessus on ne peut que repérer une erreur mais pas la corriger. Un « bon code »
doit donc
1) ne pas trop diluer l’information
2) pouvoir détecter et corriger un nombre raisonnable d’erreurs
3) coder « rapidement » les messages
4) décoder « rapidement » les messages
3.1
Généralités
Un code correcteur de paramètre (k, n) est une application injective
Φ : Fk2
m
−→
7−→
Fn2
Φ(m).
∗ Les mots de Fk2 sont les mots sources, c’est l’information que l’on souhaite communiquer.
∗ Les mots de Fn2 sont les mots de code. On notera C = Im(Φ) l’ensemble des mots du code. C’est un
sous-ensemble de Fn2 .
∗ Le paramètre k est appelé la dimension du code
∗ le paramètre n la longueur du code.
Un code est dit systématique les k premières composantes de Φ(m) sont égales à m. En d’autres termes si
m = (m1 , . . . , mk ) alors Φ(m) = (m1 , . . . , mk , . . .). Nous ne considérerons que des codes systématiques.
Exemple 3.2.
1) Le code de parité introduit dans l’exemple précédent est un code de paramètre (7, 8).
2) On introduit le code suivant :
−→
7−→
7−→
Φ : F2
0
1
F32
(0, 0, 0)
(1, 1, 1)
C’est un code de paramètre (1, 3). L’ensemble C contient deux éléments. Une étude rapide montre
que ce code peut détecter 2 erreurs et corriger 1 erreur.
3.2
Distance de Hamming
Commençons cette section par reprendre l’exemple 2) précédent. Si on reçoit le message (0, 1, 0) alors on
voit qu’il y a forcément eu une erreur. Il se peut que
1) le message envoyé était (0, 0, 0) et il y a eu une erreur lors de la transmission ;
2) le message envoyé était (1, 1, 1) et il y a eu deux erreurs lors de la transmission.
Le premier cas est plus probable que le deuxième, donc si on reçoit (0, 1, 0) on corrigera ce message
en (0, 0, 0).
Définition 3.3.
1) Soit x, y ∈ Fn2 . La distance de Hamming entre x et y est définie par
d(x, y) = nombre de coordonnées distinctes entre x et y.
2) Le poids de x ∈ Fn2 est défini par w(x) = d(x, 0).
3) Soit C un code. La distance minimale de C est définie par :
dC = min{d(x, y) | x, y ∈ C , x 6= y}.
5
^ en M de telle manière que la distance
Le décodage naïf d’un message consiste à décoder un message Φ(m)
^ soit minimale. Évidemment, lorsque qu’il n’y a pas eu d’erreurs alors
entre M et Φ(m)
^ = Φ(m)
Φ(m)
et le mot de code M minimisant la distance est Φ(m). Lorsqu’il y a eu des erreurs, la question est plus
délicate, il est possible que plusieurs mots de code minimisent cette distance.
Proposition 3.4. Soit C un code de distance minimal dC . Alors
1) Le code C peut détecter dC − 1 erreurs ;
dC − 1
2) Le code C peut corriger b
c erreurs.
2
Démonstration. Partant d’un mot Φ(m) supposons qu’il y a eu moins de dC − 1 erreurs lors de la trans^ 6= Φ(m) alors Φ(m)
^ ne peut pas être un mot de code sans contredire la minimalité
mission. Si le mot Φ(m)
de dC puisque
^ ≤ dC − 1 < dC .
d(Φ(m), Φ(m))
dC − 1
c erreurs alors il ne peut y avoir qu’un seul mot M qui minimise la
2
^ En effet s’il y en a deux on a
distance de M à Φ(m).
De même, s’il y a eu moins de b
^ + d(Φ(m),
^ M2 ) ≤ 2b dC − 1 c < dC .
d(M1 , M2 ) ≤ d(M1 , Φ(m))
2
Le fait que d satisfait l’inégalité triangulaire sera prouver en Td.
3.3
Code linéaire
Un code Φ : F2 −→ Fn2 est dit linéaire si Φ est une application linéaire. Dans ce cas, on note GΦ la matrice
de Φ dans la base canonique.
Exemple 3.5. Les deux codes que nous avons rencontrer jusqu’à présent sont des codes linéaires.
1) Soit Φ le code de parité de paramètre (7, 8). Alors on peut montrer que la matrice de Φ est


1 0 0 0 0 0 0
0 1 0 0 0 0 0


0 0 1 0 0 0 0


0 0 0 1 0 0 0

GΦ = 
0 0 0 0 1 0 0


0 0 0 0 0 1 0


0 0 0 0 0 0 1
1 1 1 1 1 1 1
2) Le code de répétition (1, 3) est linéaire et sa matrice génératrice est
 
1
G = 1
1
3) Le code de Hamming de paramètre (4, 7) est donné par la matrice suivante :


1 0 0 0
0 1 0 0


0 0 1 0



G := 
0 0 0 1
1 1 1 0


1 1 0 1
1 0 1 1
Soit Φ un code linéaire systématique de paramètre (k, n). Alors sa matrice est de la forme
I
GΦ = k
où P est une matrice (n − k) × (n − k)
P
6
Proposition 3.6. La matrice H définie par H = (P, In−k ), appelée matrice de contrôle de Φ et vérifie la
proriété suivante :
M ∈ C ⇐⇒ H.M = 0.
X
Démonstration. Soit M =
où X est un vecteur colonne de taille k et Y est un vecteur colonne de
Y
taille n − k. Dans les égalités suivantes, on utilise la multiplication matricielle par bloc :
X
HM = P X + Y = 0 ⇐⇒ P X = Y ⇐⇒ M =
⇐⇒ M = GΦ X ⇐⇒ M ∈ C .
PX
Proposition 3.7. Soit Φ un code linéaire et H sa matrice de contrôle. Alors la distance minimale de Φ
est le nombre minimal de colonnes de H linéairement dépendantes.
Démonstration. Soit x = (x1 , . . . , xn ) ∈ Fn2 et soit {i1 , . . . , iN } l’ensemble des indices qui vérifient xik = 1.
On remarque que N = w(x) = d(x, 0). On a alors
Hx = 0 ⇐⇒ x ∈ C ⇐⇒ Hi1 , . . . , HiN sont linéairement dépendantes.
Comme C est linéaire on peut montrer que
dC = min{w(x) | x ∈ C }.
On en déduit le résultat.
Exemple 3.8. Reprenons l’exemple du code C de Hamming (4,7). La matrice de contrôle de C est


1 1 1 0 1 0 0
H = 1 1 0 1 0 1 0
1 0 1 1 0 0 1
et la distance minimale du code est 3. Autrement dit, si on prend deux colonnes de H elles sont nécessairement linéairement indépendantes.
Vous recevez le message suivant :
^ = t (1, 0, 1, 0, 0, 0, 1).
Φ(m)
Puisque
 
0
^ = 1 6= 0
H Φ(m)
1
vous savez qu’il y a eu des erreurs lors de la transmission.
Si on suppose qu’il n’y a eu qu’une seule erreur alors on peut la localiser. En effet dans ce cas il existe
^ = m + ei . Puisque m ∈ C on sait
un vecteur ei = (0, . . . , 1 . . . , 0) où le 1 est à la iième place tel que Φ(m)
que Hm = 0. Ainsi on a
 
0
^ = 1 = H(m + ei ) = Hm + Hei = Hei = Hi .
H Φ(m)
1
 
0
Ainsi puisque 1 est la 4ième colonne de H on doit avoir i = 4. Le message envoyé devait donc être
1
m = t (1, 0, 1, 1, 0, 0, 1).
S’il y a eu plus de deux erreurs on ne peut rien faire !
7
Téléchargement