Le deuxième critère est essentiellement une conséquence du premier, mais prend une forme dans laquelle on peut déterminer la diagonalisabilité uniquement à partir de la connaissance des multiplicités géométriques des valeurs propres:
Théorème: Soit \(A\) une matrice \(n\times n\). Alors \(A\) est diagonalisable si et seulement si son spectre est non-vide, et si \[ \sum_{\lambda\in\mathrm{Spectre}(A)}\mathrm{mult}_g(\lambda)=n\,. \] De plus, cette dernière égalité est vérifiée si et seulement si \[ \mathrm{mult}_g(\lambda)=\mathrm{mult}_a(\lambda)\qquad \forall \lambda\in \mathrm{Spectre}(A). \]
Supposons que \(\mathrm{Spectre}(A)=\{\lambda_1,\dots,\lambda_k\}\).
\(\Rightarrow\):
Supposons que \(A\) est diagonalisable. Par le théorème de la
section précédente, il existe donc une base de \(\mathbb{R}^n\), formée de vecteurs
propres de \(A\):
\[\mathcal{B}=(\boldsymbol{v}_1,\dots,\boldsymbol{v}_n)\,.\]
Puisque chaque \(\boldsymbol{v}_j\) est vecteur propre, il doit être associé à une des
valeurs propres de \(\mathrm{Spectre}(A)\).
Pour \(i=1,\dots,k\), définissons
\(m_i\) comme étant le nombre de vecteurs de
la famille \(\{\boldsymbol{v}_1,\dots,\boldsymbol{v}_n\}\) qui sont associés à la valeur
propre \(\lambda_i\). On a donc
\[
\sum_{i=1}^km_i=n\,.
\]
Puisque \(\mathcal{B}\) est une base, les vecteurs de
\(\{\boldsymbol{v}_1,\dots,\boldsymbol{v}_n\}\) qui sont associés à une même valeur propre
forment une famille libre, donc
\[
m_i\leqslant \mathrm{mult}_g(\lambda_i)\,.
\]
Mais comme on sait aussi que \(\mathrm{mult}_g(\lambda_i)\leqslant \mathrm{mult}_a(\lambda_i)\), on
peut écrire
\[ n=
\sum_{i=1}^km_i
\leqslant
\sum_{i=1}^k\mathrm{mult}_g(\lambda_i)
\leqslant
\sum_{i=1}^k\mathrm{mult}_a(\lambda_i)
\leqslant n\,,
\]
qui implique
\[
\sum_{i=1}^k\mathrm{mult}_g(\lambda_i)
=\sum_{i=1}^k\mathrm{mult}_a(\lambda_i)
=n\,.
\]
Remarquons aussi que cette dernière implique que
\[
\mathrm{mult}_g(\lambda_i)=\mathrm{mult}_a(\lambda_i)\qquad \forall i=1,\dots,k\,.
\]
En effet, si il existe un \(i\) tel que
\[
\mathrm{mult}_g(\lambda_i)\lt \mathrm{mult}_a(\lambda_i)\,,
\]
alors
\[
\sum_{i=1}^k\mathrm{mult}_g(\lambda_i)
\lt \sum_{i=1}^k\mathrm{mult}_a(\lambda_i)\,.
\]
\(\Leftarrow\):
(Le paragraphe qui suit est un peu lourd en notations,
même si l'idée est simple.)
Supposons maintenant que cette dernière égalité est vraie. Pour chaque
\(i=1,\dots,k\), définissons
\(g_i:= \mathrm{mult}_g(\lambda_i)=\dim(E_{\lambda_i})\),
et considérons une base de \(E_{\lambda_i}\), notée
\[
\mathcal{B}_i=(
\boldsymbol{v}^{(i)}_1,
\boldsymbol{v}^{(i)}_2,
\dots,
\boldsymbol{v}^{(i)}_{g_i}
)\,.
\]
Montrons que l'union de toutes ces bases,
\[ \mathcal{B}:= \mathcal{B}_1\cup\cdots \cup \mathcal{B}_k
\]
qui contient par définition \(n\) vecteurs, est libre.
On considère donc la relation linéaire
\[
(*)\qquad\lambda^{(1)}_1\boldsymbol{v}^{(1)}_1
+\cdots
+\lambda^{(k)}_{g_k}\boldsymbol{v}^{(k)}_{g_k}
=\boldsymbol{0}\,.
\]
Plus précisément,
\[
(*)\qquad
\sum_{i=1}^k \sum_{j=1}^{g_i}\lambda^{(i)}_{j}\boldsymbol{v}^{(i)}_j=\boldsymbol{0}\,.
\]
Si on introduit les vecteurs
\[
\boldsymbol{w}_i:=
\sum_{j=1}^{g_i}\lambda^{(i)}_{j}\boldsymbol{v}^{(i)}_j\,,
\]
alors \((*)\) devient
\[ (*)\qquad
\boldsymbol{w}_1+\cdots+\boldsymbol{w}_k=\boldsymbol{0}
\]
Mais chaque \(\boldsymbol{w}_i\in E_{\lambda_i}\), et donc
les \(\boldsymbol{w}_1,\dots,\boldsymbol{w}_k\) sont des vecteurs propres associés à
des valeurs propres distinctes, ils forment donc
une famille libre. Ceci signifie que
si leur somme est nulle, alors ils sont tous nuls:
\[ \boldsymbol{w}_i=\boldsymbol{0}\qquad\forall i=1,\dots,k.
\]
Mais comme
\(\mathcal{B}_i=( \boldsymbol{v}^{(i)}_1, \boldsymbol{v}^{(i)}_2, \dots, \boldsymbol{v}^{(i)}_{g_i})\)
est une base, ses vecteurs sont indépendants, et donc
\[
\boldsymbol{w}_i=
\lambda^{(i)}_{1}\boldsymbol{v}^{(i)}_1
+\cdots+
\lambda^{(i)}_{g_i}\boldsymbol{v}^{(i)}_{g_i}=\boldsymbol{0}\,
\]
implique que \(\lambda^{(i)}_{1}=\cdots=\lambda^{(i)}_{g_i}=0\).
Ceci montre que \(\mathcal{B}\) est libre; puisqu'elle contient \(n\) vecteurs, c'est
une base de \(\mathbb{R}^n\). Par conséquent, \(A\) est diagonalisable.
Exemple: Dans la section précédente, on avait considéré \[ B= \begin{pmatrix} 1&2&0\\ 0&3&0\\ 2&-4&2 \end{pmatrix}\,. \] On a vu que cette matrice possède trois valeurs propres, chacune de multiplicité géométrique égale à \(1\), ce qui implique \[ \sum_{\lambda\in \mathrm{Spectre}(A)}\mathrm{mult}_g(\lambda)=1+1+1=3\,. \] Par le théorème ci-dessus, on en déduit que \(B\) est diagonalisable.
Exemple: Étudions la diagonalisabilité de \[ A= \begin{pmatrix} 1&-1&0\\ 1&1&0\\ 0&0&1 \end{pmatrix}\,. \] Puisque \[ P_A(\lambda)=(1-\lambda)(\underbrace{\lambda^2-2\lambda+2}_{\color{red}\Delta\lt 0!})\,, \] \(A\) ne possède qu'une valeur propre: \(\lambda_1=1\), avec \(\mathrm{mult}_a(1)=1\). Or comme \[ E_1=\mathrm{Ker}(A-I_n)=\mathrm{Vect}\left\{ \begin{pmatrix} 0\\ 0\\ 1 \end{pmatrix} \right\}\,, \] on a \(\mathrm{mult}_g(1)=1\). Puisqu'ici \(n=3\), on a \[ \underbrace{\sum_{\lambda\in\mathrm{Spectre}(A)}\mathrm{mult}_g(\lambda)}_{=1}\lt 3\,, \] le théorème implique que \(A\) n'est pas diagonalisable.