Corrigé Ecricome 2025 Maths approfondies ECG — Exercice 2 — Partie 1 (Q1.a à Q3.c) : Polynôme annulateur x³ − 4x² − 12x − 28 d'une matrice 3×3 : test en Python, inverse, unique valeur propre réelle, non-diagonalisabilité
Sujet officiel du concours Ecricome, session 2025, épreuve Maths approfondies ECG. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
On note , la matrice identité d'ordre et ; on admet (à partir de Q2) que est un polynôme annulateur de .
Q1. (a) Justifier que la famille est liée. (b) En déduire un polynôme annulateur non nul de de degré au plus .
Q2. (a) Écrire une fonction Python PolyAnn(M) renvoyant True si annule , False sinon. (b) Montrer que est inversible et exprimer à l'aide de , , .
Q3. (a) Montrer que toute valeur propre de vérifie . (b) En étudiant (on admet ), montrer que a au plus une valeur propre réelle, strictement supérieure à . (c) est-elle diagonalisable ?
Corrigé
Q1 (a). L'espace vectoriel est de dimension . La famille compte vecteurs de cet espace ; or dans un espace de dimension , toute famille de plus de vecteurs est liée. Donc
Ce que le correcteur attend : l'argument de dimension, et non un calcul des puissances (ni l'affirmation fausse que les seraient proportionnelles entre elles).
Q1 (b). Par Q1 (a), il existe des réels non tous nuls tels que (avec ). Le polynôme a au moins un coefficient non nul : il est non nul, de degré au plus , et . C'est un polynôme annulateur non nul de de degré .
Q2 (a). On calcule avec le produit matriciel np.dot (et non *, qui multiplie coefficient par coefficient), puis on teste la nullité de tous les coefficients.
import numpy as np
def PolyAnn(M):
n = np.shape(M)[0]
I = np.eye(n)
M2 = np.dot(M, M)
M3 = np.dot(M2, M)
Z = M3 - 4*M2 - 12*M - 28*I
return bool(np.all(Z == 0))
M = np.array([[0, 3, 2], [2, 2, 4], [5, 0, 2]])
print(PolyAnn(M), PolyAnn(np.eye(3))) # affiche : True False
Z == 0 est un tableau de booléens (un par coefficient) ; np.all renvoie vrai si et seulement si tous valent True, c'est-à-dire si est la matrice nulle. Exécuté, le programme affiche True pour (coefficients entiers : le calcul est exact) et False pour (). Pour une matrice à coefficients flottants, on remplacerait le test d'égalité par np.all(np.abs(Z) < 1e-10).
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.