%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper, 10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\title{}
\author{}
\date{}

%%------------------------------------------------------------------------------
%% Packages

\usepackage[]{geometry}
\usepackage{amsmath,amsfonts,amsthm}
\usepackage[matha,mathb,mathx]{mathabx} % french mathematical symbols and more
\usepackage[svgnames]{xcolor}
\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage[french]{babel}
\usepackage{mathtools}
\usepackage{lastpage}

%%------------------------------------------------------------------------------
%% Packages setup

% geometry
\geometry{textwidth = 0.75\paperwidth,
  textheight = 0.75\paperheight}
%defaults : textwidth = 0.7\paperwidth = 1675.8pt, textheight = 0.7\paperheight = 4788pt

% hyperref
\hypersetup{colorlinks=true,
  citecolor=DarkBlue,
  linkcolor=DarkBlue,
  linktoc=page,
  urlcolor=black}

% fancyhdr
\fancypagestyle{bob}{%
  \fancyhf{} % clear all header and footer fields
  \lhead{École Normale Supérieure de Lyon\\Département de mathématiques}
  \rhead{2024--2025\\Option B pour l'agrégation}
  \rfoot{\thepage /\pageref{LastPage}}
  \renewcommand{\footrulewidth}{0.5pt}
  \setlength{\headheight}{24.2pt}} % required for headers spanning two lines

\fancypagestyle{plain}{%
  \fancyhf{}
  \rfoot{\thepage /\pageref{LastPage}}
  \renewcommand{\headrulewidth}{0pt}}

\pagestyle{bob} % sets page style for the whole document

%%------------------------------------------------------------------------------
%% Custom environments/macros

\theoremstyle{definition}
\newtheorem*{defi}{Définition}
%% \newtheorem{qstn}{}
%% \newtheorem{subqstn}{}[qstn]

%% correction stuff
\newcommand{\correc}[1]{}
%\renewcommand{\correc}[1]{#1}  % comment out to remove corrections
% do not forget to compile twice to get page numbering right

\newtheorem*{solution}{Solution}
\newcommand{\sol}[1]{%
  \correc{\begin{solution}
      #1 \end{solution}}}

%\renewcommand{\thesection}{\Alph{section}}

\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Sph}{\mathbb{S}}
\newcommand{\mc}{\mathcal}

\renewcommand{\Im}{\operatorname{Im}}
\renewcommand{\Re}{\operatorname{Re}}
\newcommand{\Id}{\operatorname{Id}}
\DeclareMathOperator{\Tr}{Tr}
\DeclareMathOperator{\cond}{cond}
\DeclareMathOperator{\diag}{diag}
\renewcommand{\sp}{\operatorname{sp}}

\newcommand{\dbra}[1]{\ldbrack #1 \rdbrack}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert} %% requires mathtools
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\sbra}{[}{]}
\DeclarePairedDelimiter{\pare}{(}{)}
\DeclarePairedDelimiter{\osbral}{]}{]}
\DeclarePairedDelimiter{\osbra}{]}{[}
\DeclarePairedDelimiter{\osbrar}{[}{[}

% Exercices numbering and more 
\newcounter{exercice}
\newcounter{question}[section]
\newcounter{subquestion}[question]

\newcommand{\qstn}{\stepcounter{question}\paragraph{\thequestion.}~}
\newcommand{\sqstn}{\stepcounter{subquestion}\paragraph{\thequestion.\thesubquestion.}~}
\newcommand{\ex}{\refstepcounter{exercice}\paragraph{Exercice \theexercice.}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% \newcommand{\fonction}[5]{\begin{array}[t]{lrcl}
%%     #1 :&#2 &\longrightarrow &#3\\
%%     &#4& \longmapsto &#5
%% \end{array}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{center}
  {\Large \bf TD 1 : méthodes numériques pour l'algèbre linéaire}
\end{center}
\bigskip

%% \noindent%
%% \begin{center}%
%%   \begin{minipage}{0.8\textwidth}%
%%     \noindent\hrulefill
%%   \end{minipage}%
%% \end{center}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Normes et conditionnement}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ex
Soit $A \in M_n(\R)$ une matrice inversible.
\begin{enumerate}
\item Quel lien y a-t-il entre $\cond(A^2)$ et $\cond(A)^2$ pour un conditionnement lié à une norme quelconque ?
\item Supposons que $A$ soit symétrique. Montrer qu'alors, $\cond(A^2) = \cond(A)^2$.
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%

\ex
On munit $M_n(\R)$ d'une norme matricielle subordonnée à une norme $\abs{.}$ de $\R^n$.
Soient $A \in GL_n(\R)$ et $b\in \R^n \backslash \{0\}$.
On pose aussi $\Delta A \in M_n(\R)$ et $\delta b\in \R^n$.
Soient $x$ et $\delta x$ définis par :
\begin{equation*}
  Ax = b ,\quad (A+\Delta A)(x+\delta x) = b+\delta b.
\end{equation*}
Montrer qu'alors
\begin{equation*}
  \frac{\abs{\delta x}}{\abs x} \leq \frac{\cond(A)}{1 - \norm{A^{-1}\Delta A}}  \left(\frac{\abs{\delta b}}{\abs b} + \frac{\norm{\Delta A }}{\norm A} \right).
\end{equation*}

%%%%%%%%%%%%%%%%%%%%

%% \ex
%% On munit $M_n(\R)$ d'une norme matricielle subordonnée à une norme $\abs{.}$ de $\R^n$.
%% Soit $A$ une matrice de $M_n(\R)$ vérifiant 
%% \begin{equation}\label{eq:MinorA}
%%   \exists \theta>0 \text{ tel que } \forall x \in \R^n,\, \abs{Ax} \geq \theta \abs x.
%% \end{equation}
%% \begin{enumerate}
%% \item Montrer que l'égalité \eqref{eq:MinorA} est équivalente à dire que $A$ est inversible.
%%   Montrer également que le $\theta$ optimal dans l'inégalité est égal à $1/\norm{A^{-1}}$
%% \item Supposons que $A$ soit à diagonale strictement dominante :
%%   \begin{equation*}
%%     \forall  i\in\dbra{1,n} , \  |a_{ii}| > \sum_{j\neq i}|a_{ij}|.
%%   \end{equation*}
%%   Montrer que $A$ vérifie \eqref{eq:MinorA}. 
%%   Trouver un $\theta$ qui convient lorsque la norme (scalaire) utilisée est $\norm{.}_\infty$.
%% \item Montrer que si $A$ vérifie \eqref{eq:MinorA}, il existe $\delta >0$ tel que
%%   pour tout $E$ de norme plus petite que $\delta$, $A+E$ soit inversible.
%% \item Montrer que si $B$ est singulière, alors
%%   \begin{equation*}
%%     \frac{1}{\cond(A)}\leq \frac{\norm{A-B}}{\norm A}
%%   \end{equation*}
%% \item Utiliser le résultat précédent pour estimer le conditionnement \(\cond_\infty\) des matrices
%%   \begin{equation*}
%%     \begin{pmatrix}1 & 2 \\ 1.001 & 2 \end{pmatrix} \ \ \       \begin{pmatrix}3.9 & 1.8 \\ 6.2 & 2.7 \end{pmatrix}
%%   \end{equation*}
%% \end{enumerate}

%%%%%%%%%%%%%%%%%%%%

\ex
Soit $A$ la matrice de la discrétisation du Laplacien de taille $n$ :
\begin{equation}\label{eq:MatLaplace}
  A = \begin{pmatrix}
    2 & -1 & 0 &  \cdots & 0 \\
    -1 & 2 & -1 &  \ddots & 0 \\
    0 & \ddots & \ddots &  \ddots & \vdots \\
    \cdots  & \ddots & -1 & 2 & -1 \\
    0 & \cdots & 0 &  -1 & 2
  \end{pmatrix} \in M_n(\R)
\end{equation}
Calculer ses valeurs propres et son conditionnement par rapport à la norme 2. 
\emph{Indication : } on pourra chercher des solutions non nulles de $y''_\lambda=\lambda y_\lambda$, $y_\lambda(0) = y_\lambda(1) = 0$ et montrer que
le vecteur $Y = \left(y_\lambda \left(\frac{i}{n+1}\right)\right)_{1\leqslant i \leqslant n}$ est bien vecteur propre\\
Que vaut ce conditionnement lorsque la taille de la matrice croît vers $+\infty$ ?


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Méthodes directes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ex (Les codes des algorithmes proprement dits)
\begin{enumerate}
\item Écrire un programme qui résout le système $Ax = b$ par la méthode de Gauss.
  Il faudra penser à mettre en place une exception pour quand la matrice n'est pas inversible.
  On pourra écrire une routine intermédiaire qui résout le système lorsque $A$ est triangulaire supérieure (et qui vérifie évidemment qu'elle l'est !)
\item Écrire une routine qui prend une matrice $A$ en entrée et renvoie sa décomposition $LU$.
  On pensera à mettre en place une exception pour le cas où les mineurs principaux ne sont pas tous inversibles.
  On pourra écrire une routine intermédiaire qui résout le système lorsque $A$ est triangulaire inférieure (et qui vérifie évidemment qu'elle l'est !)
\item Écrire une routine qui prend une matrice $A$ en entrée et renvoie sa décomposition de Cholesky ($A = BB^T$ avec la diagonale de $B$ strictement positive).
  On pensera à mettre en place une exception pour le cas où $A$ n'est pas symétrique définie positive.
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%

\ex (Les factorisations $LU$ pour des matrices tridiagonales)
Soit $A$ une matrice tridiagonale, i.e. :
\begin{equation*}
  \begin{pmatrix}
    b_1 & c_1 & 0 &  \cdots & 0 \\
    a_2 & b_2 & c_2 &  \ddots & 0 \\
    0 & \ddots & \ddots &  \ddots & \vdots \\
    \cdots  & \ddots & a_{n-1} & b_{n-1} & c_{n-1} \\
    0 & \cdots & 0 &  a_{n} & b_{n} \\
  \end{pmatrix}
\end{equation*}
\begin{enumerate}
\item Exprimer la décomposition $LU$ de $A$ en fonction des mineurs principaux de $A$
  (on exhibera une relation de récurrence linéaire d'ordre 2 vérifiée par ces mineurs) et des $a_i$ et des $c_j$.
\item En déduire la factorisation $LU$ de la matrice du Laplacien définie en \eqref{eq:MatLaplace}.
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%

\ex (Factorisation $QR$ et matrices de Householder)
On définit pour $v \in \R^n\backslash\{0\}$ la matrice de Householder associée :
\begin{equation*}
  H(v) = I_n - 2 \frac{v v^T}{\|v\|^2} \textrm{ (avec H(0) = }I_n). 
\end{equation*}
\begin{enumerate}
\item Montrer que pour tout $v$, $H(v)$ est symétrique et orthogonale.
  Diagonaliser $H$.
\item Soit $a$ un vecteur de $\R^n$ tel que $\sum_{i=2}^n |a_i| >0$.
  Montrer alors que $H(a \pm \|a\|_2e_1)(a) = \pm\|a\|_2e_1$, le signe du résultat étant déterminé par le signe de $a_1$.\\
  En déduire que pour tout $a \in \R^n$ il existe une matrice de Householder $H$ tel que $Ha$ ait
  \begin{itemize}
  \item sa première composante positive
  \item toutes ses composantes de 2 à $n$ nulles
  \end{itemize}
\item Soit maintenant $A \in M_n(\R)$. 
  En déduire qu'il existe $n-1$ matrices de Householder $H_1,\dots, H_{n-1}$ telles que  $H_{n-1}, \dots, H_1 A$ soit triangulaire supérieure ainsi qu'un algorithme pour trouver ces matrices.
\item En déduire qu'il existe une matrice orthogonale $Q$ et une matrice triangulaire supérieure $R$ telles que $A = QR$. Quel est l'intérêt de cette méthode par rapport à celle du pivot de Gauss ?
  Montrer qu'en plus on peut s'arranger pour que les termes diagonaux de $R$ soient positifs.
\item Quel autre algorithme aurait-on pu utiliser ?
\end{enumerate}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Méthodes itératives pour les systèmes linéaires}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\ex (Implémentation des différentes méthodes)
\begin{enumerate}
\item \textbf{Routines intermédiaires :}
  \begin{itemize}
  \item Écrire une routine qui prend en entrée une matrice $A$ diagonale et un vecteur $b$ et renvoie le vecteur $A^{-1}b$ 
    (et qui renvoie un message d'erreur si les dimensions ne correspondent pas ou si $A$ n'est pas diagonale).
  \item Écrire une routine qui prend en entrée une matrice $A$ diagonale et renvoie un booléen suivant que $A$ soit à diagonale
    strictement dominante ou non.
  \end{itemize}
\item Implémenter la méthode de Jacobi : 
  écrire une routine qui prend en entrée une matrice $A$ à diagonale strictement dominante, un vecteur $b$ ainsi qu'une tolérance $tol$ 
  et un nombre d'itération maximal $itermax$ et renvoie le vecteur $A^{-1}b$ par la méthode de Jacobi. \\
  Attention ! On prendra garde à 
  \begin{itemize}
  \item renvoyer un message d'erreur si les dimensions ne correspondent pas ou si $A$ n'est pas à diagonale dominante.
  \item indiquer si le nombre maximal d'itérations a été atteint ou non et la valeur finale de $\frac{\norm{Ax_k-b}_\infty}{\norm{b}_\infty}$.
  \end{itemize}
\item Implémenter la méthode de relaxation : 
  écrire une routine qui prend en entrée une matrice $A$ symétrique réelle définie positive, un vecteur $b$ ainsi 
  que $\omega$, $tol$ et $itermax$ et renvoie le vecteur $A^{-1}b$ par la méthode de relaxation. \\
  On prendra garde à vérifier les points similaires à la question 2.
\end{enumerate}
On rappelle que la routine \texttt{numpy.linalg.eig} de Python renvoie les éléments propres d'une matrice.

%%%%%%%%%%%%%%%%%%%%

\ex (Une méthode de Jacobi relaxée)
Soit $A$ une matrice symétrique définie positive.
On s'intéresse à la méthode de Jacobi relaxée, i.e. 
\begin{equation*}
  D \tilde x_{k+1} = (E+F) x_k + b, \ x_{k+1} = \omega \tilde x_k + (1-\omega) x_k. 
\end{equation*}
\begin{enumerate}
\item Écrire cet algorithme sous la forme 
  \begin{equation*}
    M_\omega x_{k+1} = N_\omega x_k + b,
  \end{equation*}
  et donner la matrice $J_\omega = M^{-1}_\omega N_\omega$ associée.
\item Soit $J = D^{-1}(E+F)$. 
  Montrer que $J$ admet une base de vecteurs propres orthonormée (pour le produit scalaire associée à $D$). On note les valeurs propres $\mu_1 \leqslant \cdots \leqslant \mu_n$.
\item Montrer que $\frac{2}{\omega}D - A$ est symétrique définie positive si et seulement si $(1 - \mu_1)\omega < 2$.
\item Exprimer les valeurs propres de $J_\omega$ en fonction de celles de $J$.
  Montrer que le paramètre optimal minimisant le rayon spectral de $J_\omega$ est donné par
  \begin{equation*}
    \omega_{opt} = \frac{2}{2- \mu_1 - \mu_n}.
  \end{equation*}
\end{enumerate}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Recherche de valeurs propres}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ex (Méthode de la puissance)
Pour une matrice \(A\in \mc M_n(\R)\) symétrique, on note \(\abs{\lambda_1} \geq \abs{\lambda_2}\geq\dots\abs{\lambda_n}\) ses valeurs propres.
\begin{enumerate}
\item Implémenter la méthode de la puissance i.e. une routine qui prend en entrée une matrice $A$, ainsi que $tol$ et
  $itermax$ et qui renvoie la valeur propre $\lambda_1$ de $A$ ainsi qu'un vecteur propre associé.\\
  Inclure une routine qui vérifie $A$ est symétrique réelle (par contre, on admettra que la condition $\abs{\lambda_1} > |\lambda_i|$ pour tout \(i\geq 2\) est toujours vérifiée)
\item Définir une matrice $M$ à coefficients aléatoires (suivant par exemple un multiple d'une loi normale). 
  Tester la méthode sur $A = M+M^T$ puis contre $A = -(M+M^T)$. Que remarque-t-on ?
\item On suppose maintenant que seule la condition $|\lambda_1| > |\lambda_i|$ est vérifiée.
  Vers quoi convergent alors les suites $(x_k)_k$ et $(\abs{x_k}_2)_k$ ?
\item Réimplémenter la méthode de la puissance mais cette fois pour une matrice $A$ vérifiant $|\lambda_1| > |\lambda_i|$.
  On utilisera un résidu basé sur $R_k^1 = \frac{Ax_k - \|y_k\|_2x_k}{\|y_k\|_2\|x_k\|_2}$ et $R_k^2 =\frac{Ax_k + \|y_k\|_2x_k}{\|y_k\|_2\|x_k\|_2}$.
\item On suppose maintenant que $0 < |\lambda_n| < |\lambda_i|$ (en particulier $A$ est inversible).
  Comment la méthode de la puissance peut-elle s'adapter pour trouver $\lambda_1$ ?
  Implémenter cette nouvelle méthode.
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%

\ex (Méthode de la puissance, bis)
Soit $A$ une matrice symétrique réelle.
On suppose que $0 < |\lambda_n| < |\lambda_{n-1}| < \cdots < |\lambda_1|$.
\begin{enumerate}
\item On rappelle que $A$ est diagonalisable dans la base orthonormée $(e_1, \dots, e_n )$.
  Étudier le spectre de la matrice $B = A - \lambda_1 e_1 e_1^T$. 
\item En déduire un algorithme pour déterminer tout le spectre d'une matrice $A$ symétrique  ayant des valeurs propres de module deux à deux distincts.
\item Implémenter cet algorithme.
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%

\ex (Calcul du conditionnement en norme 2)
On rappelle que pour une matrice $A$, son conditionnement pour la norme 2 est donné par
\begin{equation*}
  \cond_2(A) =\sqrt \frac{\mu_n}{\mu_1}
\end{equation*}
où les $(\mu_i)_i$ sont les valeurs propres de $A A^T$.\\
Écrire alors une fonction qui prend en entrée une matrice $A$ inversible, ainsi que $tol$ et
$itermax$ et renvoie son conditionnement par rapport à la norme 2 (en utilisant bien sûr des sous-routines de l'exercice précédent).

%%%%%%%%%%%%%%%%%%%%

\ex (Méthode de Jacobi pour la diagonalisation)
Soit $A$ une matrice symétrique réelle de taille $n$.
Le but de l'exercice va être de trouver une suite de matrices orthogonales $O_k$ "très simples" telles que
$(O_1\cdots O_k)^TA(O_1\cdots O_k)$ converge vers la matrice diagonale à laquelle $A$ est semblable.
\begin{enumerate}
\item Soient $(p,q) \in \dbra{1,n}$ et $\theta \in \R$.
  Soit $O$ telle que
  \begin{equation*}
    O_{i,j} = \left\{
    \begin{aligned}
      &1& \textrm{ si } i = j \textrm{ et } i\notin\{p,q\}, \\
      &\cos(\theta)& \textrm{ si } i = j \textrm{ et } i\in\{p,q\}\\
      &\sin(\theta)& \textrm{ si } i = p \textrm{ et } j=q\\
      &-\sin(\theta)& \textrm{ si } i = q \textrm{ et } j=p\\
      &0 & \textrm{ sinon. }
    \end{aligned}
    \right.
  \end{equation*}
  Montrer que $O$ est orthogonale, que $B = O^TAO$ reste symétrique et que 
  \begin{equation*}
    \sum_{i,j}b_{i,j}^2 = \sum_{i,j}a_{i,j}^2
  \end{equation*}
\item Soient $p,q$ tels que $a_{p,q}\neq 0$.
  Montrer qu'il existe un unique $\theta \in ]-\pi/4,\pi/4[ \backslash \{0\}$, tel que $b_{p,q}\neq 0$,
    que ce $\theta$ est solution de
    \begin{equation*}
      \mathrm{cotan}(\theta) = \frac{a_{q,q}-a_{p,p}}{2a_{p,q}},
    \end{equation*}
    et que     
    \begin{equation*}
      \sum_{i}b_{i,i}^2 = \sum_{i}a_{i}^2 + 2 a_{p,q}^2
    \end{equation*}
  \item On pose $c = \cos(\theta)$ et $s =  \sin(\theta)$.
    Exprimer les coefficients de $B$ en fonctions de ceux de $A$ et de $c$ et $s$.
    
    \smallskip
    La méthode de \emph{Jacobi classique} consiste alors à poser $A^0 = A$ à chaque itération $k$ à choisir $p_{k},q_k$ tels que 
    $|A^k_{p_k,q_k}| = \max_{i \neq j} |A_{i,j}|$ et de poser $A^{k+1} = O_k^T A_k O_k$ avec $O_k$ défini comme en question 1 pour 
    $p = p_k$, $q = q_k$ et $\theta_k$ de telle sorte que $A^{k+1}_{p_k,q_k} = 0$.
    \smallskip 
    
  \item On pose alors $A^k = D_k + B_k$ où $D_k = \diag(A^k_{1,1},\cdots A^k_{n,n})$. Montrer que $(B_k)_k$ tend vers 0.
  \item Montrer que $(D_k)_k$ n'a qu'un nombre fini de valeurs d'adhérence et que $\lim_{k\rightarrow +\infty} D_{k+1} - D_k = 0$.
  \item En déduire que $(D_k)_k$ converge vers une matrice $D = \diag(\lambda_{\sigma(i)})$, où $\sigma \in \mathfrak S_n$.
  \item On pose $\Omega_k = (O_1\cdots O_k)$. 
    On suppose ici que les $\lambda_i$ sont distincts.
    Montrer, en utilisant une stratégie similaire aux questions précédentes,
    que $(\Omega_k)_k$ converge vers une matrice constituée des vecteurs propres de $A$ réordonnés par la permutation $\sigma$.
\end{enumerate}

\end{document}
