Contrôle numéro 2 Mardi 18 novembre 2008, 25 minutes. Exercice 1

Transcription

Contrôle numéro 2 Mardi 18 novembre 2008, 25 minutes. Exercice 1
Licence STS mention mathématiques
Outils Informatiques pour les Mathématiques (OIM)
Année universitaire 2008-2009
2ème année, 1er semestre
Contrôle numéro 2
Mardi 18 novembre 2008, 25 minutes.
Exercice 1
1. L’entier 97 est-il premier ? Justifier.
2. Existe-t-il a dans ZZ tel que 14 a ≡ 1 (mod 97) ? Si oui, trouver une solution a, si non justifier.
3. Existe-t-il a dans ZZ non multiple de 97 tel que 14 a ≡ 0 (mod 97) ? Si oui, trouver une solution a,
si non justifier.
Correction
1. 97 n’est pas divisible par les nombres premiers inférieurs à
premier.
√
97 à savoir 2, 3, 5 et 7 ; donc il est
2. Comme 97 est premier, tout entier compris entre 1 et 96 est premier avec 97 et est inversible modulo
97. En particulier 14 est inversible modulo 97 et son inverse s’obtient par l’algorithme d’Euclide
étendu appliqué à 97 et 14 :
(6×)
(1×)
97 =
97 × 1
14 =
97 × 0
13 =
97 × 1
1 = 97 × (−1)
+
14 × 0
+
14 × 1
+ 14 × (−6)
+
14 × 7
L’entier a = 7 vérifie donc 14a ≡ 1 (mod 97).
3. Soit a dans ZZ tel que 14a ≡ 0 (mod 97). Multiplions les deux membres de cette égalité par 7 (inverse
de 14 modulo 97). On obtient a ≡ 7 × 0 (mod 97) donc a est multiple de 97. Il n’existe donc pas
d’entier a non multiple de 97 tel que 14a ≡ 0 (mod 97)
Exercice 2
Alexandra prétend que son programme maple monpgcd calcule le pgcd de deux entiers mais Soraya prétend
qu’il manque une ligne de commande dans ce programme pour qu’il fonctionne.
monpgcd :=proc(a,b)
local x,y,r ;
x :=a ;
y :=b ;
while y<>0 do
r :=irem(x,y) ;
x :=y (correction de la question 3)
y :=r ;
od ;
return(x) ;
end :
1. Calculer monpgcd(14,8).
2. Plus généralement, que rend monpgcd(a,b) ?
3. En suivant la remarque de Soraya, ajouter ci-dessus une ligne de commande pour que le programme
marche.
1
Correction
1. monpgcd(14,8)=14
2. Le programme retourne x (return(x)). Au début du programme on affecte à x la valeur a (x :=a)
puis on ne modifie plus x dans la suite du programme. On obtient donc monpgcd(a,b)=a
3. On rajoute la ligne en rouge dans le programme.
Exercice 3
On considère la matrice suivante M à coefficients

1
M = 1
1
dans ZZ/2ZZ

1 1 1
0 0 1 
0 1 0
1. A l’aide de l’algorithme de Gauss-Jordan, calculer la forme échelonnée réduite G de M .
2. Construire tous les mots du code linéaire binaire C de matrice génératrice G.
3. Quelle est la distance minimale de C ?
Correction
1. On place des zéros sous le premier pivot : L2 ← L2 + L1

1 1 1
M (1) =  0 1 1
0 1 0
On place des zéros sous et sur le deuxième pivot : L1

1 0
M (2) =  0 1
0 0
et L3 ← L3 + L1

1
0 
1
← L1 + L2 et L3 ← L3 + L2

0 1
1 0 
1 1
On place des zéros sur le dernier pivot : L2 ← L2 + L3

1 0 0
G = M (3) =  0 1 0
0 0 1

1
1 
1
2. Le code linéaire binaire C de matrice génératrice G est l’ensemble des m G où m décrit (ZZ/2ZZ)3 ,
on obtient donc 8 mots de code :
C = {(0, 0, 0, 0), (1, 0, 0, 1), (0, 1, 0, 1), (0, 0, 1, 1), (1, 1, 0, 0), (1, 0, 1, 0), (0, 1, 1, 0), (1, 1, 1, 1)}
3. La distance minimale du code linéaire C est le plus petit des poids des mots non nuls de C, soit
min(2, 4) = 2.
On remarque que le code C est le code contrôle de parité de longueur 4 et dimension 3.
2

Documents pareils