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