Adloun

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, gratuitement

Inscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.

Toutes les parties de l'épreuve

Corrigé complet gratuit →