CCP Maths 2 MP 2019

Thème de l'épreuve Algorithme de décomposition primaire d'un entier, adjoint d'un endomorphisme et matrices semblables
Principaux outils utilisés arithmétique, espaces euclidiens, réduction
Mots clefs nombres premiers, produit scalaire, matrices semblables

Corrigé

(c'est payant, sauf le début): - - - - - - - - - - - - - - - - - - - - - -

Extrait gratuit du corrigé

(télécharger le PDF)
           

Énoncé complet

(télécharger le PDF)
              

Rapport du jury

(télécharger le PDF)
        

Extrait du corrigé obtenu par reconnaissance optique des caractères



CCINP Maths 2 MP 2019 -- Corrigé
Ce corrigé est proposé par Théo Lenoir (ENS Ulm) ; il a été relu par Bertrand
Wiel (enseignant en CPGE) et Florian Metzger (docteur en mathématiques).

L'épreuve se compose de deux exercices et d'un problème, tous indépendants.
· Le premier exercice concerne l'informatique pour tous et consiste à coder un
algorithme retournant la décomposition d'un entier en facteurs premiers.
· Le second exercice porte sur les espaces euclidiens. On y étudie quelques 
propriétés des endormorphismes antisymétriques et des endomorphismes normaux,
c'est-à-dire qui commutent avec leur adjoint : l'adjoint d'un endomorphisme u
t
est l'endomorphisme associé à Mat u.
· Le problème a pour thème la réduction et plus particulièrement les matrices
semblables. Tout d'abord, on regarde des propriétés invariantes par similitude
et on étudie quelques cas particuliers. On démontre également un critère de
diagonalisabilité pour les endomorphismes de rang 1. On prouve également des
conditions suffisantes pour que deux matrices soient semblables dans Mn (R)
dans des cas particuliers. Enfin, on étudie une propriété reliant polynômes 
minimaux, polynômes caractéristiques et similitude, qui se révèle vraie en 
dimensions 2 et 3, mais fausse en dimension 4.
Le sujet est plutôt court, assez facile et comporte quelques questions proches 
du
cours. Le premier exercice permet de revoir efficacement le programme 
d'informatique. Le problème constitue une bonne révision du cours sur la 
réduction même si
on y déplore un certain manque d'unité et d'originalité.

Indications
Exercice I
2 Se servir de la fonction estPremier.
4 Exploiter le fait que si p divise n, vp (n) = vp (n/p) + 1.
5 Utiliser la fonction liste_premiers pour obtenir la liste des nombres premiers
entre 1 et n puis utiliser la fonction valuation_p_adique pour chaque nombre
de la liste.
Exercice II
6 Si la dimension n de E est supérieure à 2, noter (e1 , . . . , en ) une base 
orthonormée
de E et considérer v l'endomorphisme qui à e1 associe e2 , à e2 associe -e1 , 
et à ei
associe 0 pour i > 3.
7 Pour iii = ii, penser à la formule de polarisation. Pour ii = i, calculer,
pour (x, y) dans E2 , hx | v  u(y)i.
Problème
10 Pour la première méthode, regarder la matrice de u dans la base (e2 , e1 , 
e3 ). Pour
la seconde méthode, calculer les polynômes caractéristiques de A et B.
11 Montrer que le noyau de u est de dimension n - 1 et regarder la matrice de u
dans une base adaptée.
12 Trouver un polynôme de degré 2 qui annule u.

i 1
13 Considérer la matrice M =
.
1 -i

t
t
14 Vérifier que 1 1 1 1 et 1 -1 1 -1 sont des vecteurs propres de A.

1 0
15 Calculer PAP-1 pour P =
.
0 b/a
16 Montrer que PB = AP et regarder les parties réelles et imaginaires des 
coefficients.
17 Utiliser la formule explicite du déterminant. Que vaut det(R + iS) ?
18 Utiliser le résultat de la question 17.
19 Montrer que A est diagonalisable et que B a pour polynôme caractéristique X3 
+X.
20 Regarder le cas où le polynôme caractéristique est scindé à racines simples 
dans
lequel on pourra utiliser le résultat de la question 18, puis le cas où il est 
de la
forme (X - )2 . Montrer que  est réel et penser à trigonaliser A et B. Utiliser
ensuite le résultat de la question 15 pour le cas où aucune des deux matrices 
n'est
une homothétie.
21 Chercher deux matrices triangulaires supérieures M vérifiant M2 = 0, une de
rang 1 et une de rang 2.

Exercice I
1 On commence par traiter le cas n = 1 : 1 n'est pas premier. Ensuiteon vérifie
comme indiqué par l'énoncé si n est divisible par un entier entre 2 et  n. Si ce
n'est pas le cas, n est premier donc on renvoie True.
def estPremier(n):
if n == 1:
return False
for i in range (2, int(sqrt(n))+1):
if n % i == 0:
return False
return True
2 Utilisons le résultat de la question précédente : on crée une liste vide, 
puis on
parcourt les entiers entre 1 et n en ajoutant à la liste tous ceux qui sont 
premiers.
def liste_premiers(n):
L = []
for i in range (1, n+1):
if estPremier(i):
L.append(i)
return L
3 On utilise la méthode donnée par l'énoncé : tant que n est divisible par p on
effectue la division et on compte le nombre de divisions effectuées.
def valuation_p_adique (n, p):
valuation = 0
while n%p == 0:
valuation += 1
n = n//p
return valuation
4 Implémentons l'algorithme suivant : si p ne divise pas n, on renvoie 0. Sinon 
la
valuation p-adique de n vaut 1 plus celle de n/p. On renvoie donc 1 + val(n/p, 
p).
def val(n, p):
if n%p != 0:
return 0
return 1 + val(n//p, p)
5 On utilise les fonctions précédentes. On crée la liste des nombres premiers 
entre 1
et n. Ensuite pour tout p dans cette liste on calcule la valuation p-adique de 
n, et, si
elle est non nulle, on ajoute la liste [p, vp (n)] à la liste résultat.
def decomposition_facteurs_premiers(n):
L = liste_premiers(n)
T = []
for p in L:
a = valuation_p_adique(n, p)
if a != 0:
T.append([p, a])
return T

Exercice II
6 Soit u un endomorphisme vérifiant hu(x), xi = 0 pour tout x dans E. Si la
dimension de E est 0 ou 1 alors u est l'endomorphisme nul. En effet si E est de
dimension 0, alors tout endomorphisme de u est nul. Si E est de dimension 1, il 
existe
une base orthonormée de E qu'on note (e1 ). Il existe   R tel que u(e1 ) = e1 . 
Ainsi,
0 = hu(e1 ), e1 i = he1 , e1 i = 
On obtient u(e1 ) = 0, donc u est nul.
Par contre si la dimension de E est supérieure ou égale à 2, le résultat n'est 
plus
vrai. Notons B = (e1 , . . . , en ) une base orthonormée de E. Considérons 
l'endomorphisme v défini par
v(e1 ) = e2
v(e2 ) = -e1
v(ei ) = 0

et pour tout i  [[ 3 ; n ]]

Soit x dans E, en décomposant x dans la base B sous la forme x1 e1 + · · · + xn 
en
avec (x1 , . . . , xn )  Rn on obtient par bilinéarité du produit scalaire :
* 
+
 n
n
P
P
hv(x), xi = v
xi ei ,
xj ej
i=1

=
=
=

*

n
P

xi v(ei ),

i=1
n
P

j=1
n
P
j=1

j=1

n
P

xj ej

j=1

+

hx1 e2 - x2 e1 , xj ej i

x1 xj he2 , ej i -

= x1 x2 - x1 x2
hv(x), xi = 0

n
P

j=1

x2 xj he1 , ej i

Comme la famille (ei ) est une base, v(e1 ) = e2 6= 0 est non nul donc 
l'endomorphisme v est non nul.
L'endomorphisme u n'est pas nécessairement nul.
Les endomorphismes u de E qui vérifient pour tout x dans E l'égalité hu(x), xi 
= 0 sont exactement les endomorphismes dont la matrice dans
une base orthonormale est antisymétrique.
En effet notons (e1 , . . . , en ) une base orthonormale de E. Soit u un 
endomorphisme de E vérifiant pour tout x dans E hu(x), xi = 0. On pose M
la matrice de u dans la base (e1 , . . . , en ). Soit (x, y)  E2 . Par 
bilinéarité du
produit scalaire,
0 = hu(x + y), x + yi
= hu(x), xi + hu(x), yi + hu(y), xi + hu(y), yi
0 = hu(y), xi + hu(x), yi
En particulier pour tout (i, j)  {1, . . . , n}2 :
Mi,j = hu(ej ), ei i = -hu(ei ), ej i = -Mi,j
La matrice M est bien antisymétrique.