+L'algorithme de Jacobi est une des plus simples méthodes de résolutions d'un système d'équations linéaires [3,4].
+
+Soit le système d'équations linéaires suivant :
+
+\begin{equation}
+\label{eq:2}
+Ax = b
+\end{equation}
+où :
+
+\begin{tabbing}
+\hspace{2cm}\=\kill
+ \> A est une matrice carrée réelle creuse inversible de taille n, \\
+ \> x le vecteur inconnu de taille n, \\
+ \> et b un vecteur constant.\\
+\end{tabbing}
+
+\eqref{eq:2} peut s'écrire :
+
+\begin{equation*}
+ \left(\begin{array}{ccc}
+ a_{1,1} & \cdots & a_{1,n} \\
+ \vdots & \ddots & \vdots\\
+ a_{n,1} & \cdots & a_{n,n}
+ \end{array} \right)
+ \times
+ \left(\begin{array}{c}
+ x_1 \\
+ \vdots\\
+ x_n
+ \end{array} \right)
+ =
+ \left(\begin{array}{c}
+ b_1 \\
+ \vdots\\
+ b_n
+ \end{array} \right)
+\end{equation*}
+
+Notons : \\
+D la matrice carrée de taille n formée par la diagonale de A. On suppose qu'aucun élément $a_{i,i}$ n'est égal à 0. \\
+L (resp. U) la matrice carrée de taille n formée par les éléments du bas (resp. haut) de A.\\
+On a donc :
+
+\begin{equation*}
+D=\left( \begin{array}{ccc}
+a_{1,1} & \cdots & 0 \\
+\vdots & \ddots & \vdots \\
+0 & \cdots & a_{n,n}
+\end{array}\right)
+\space
+, \hspace{0,1cm}L=\left( \begin{array}{ccc}
+0 & \cdots & 0 \\
+\vdots & \ddots & \vdots \\
+a_{n,1} & \cdots & 0
+\end{array}\right)
+\space
+et \hspace{0,2cm}U=\left( \begin{array}{ccc}
+0 & \cdots & a_{1,n} \\
+\vdots & \ddots & \vdots \\
+0 & \cdots & 0
+\end{array}\right)
+\end{equation*}
+
+Comme A = D + (L + U) et si $D^{-1}$ est l'inverse de la matrice diagonale D, on peut écrire :
+
+\begin{equation*}
+Ax = b \Leftrightarrow ( D + L + U )x = b
+\end{equation*}
+
+\begin{equation*}
+\Leftrightarrow Dx = -(L+U)x + b
+\end{equation*}
+
+\begin{equation}
+\label{eq:3}
+\Leftrightarrow ( x = D^{-1} \times [-(L+U)] x + D^{-1} b)
+\end{equation}
+Cette dernière égalité est l'equation $du point fixe$. L'algorithme itératif de Jacobi Figure~\ref{algo:01} (version séquentielle) et ses variantes découle de cette équation [4]. Si $x^{(k)}$ est la valeur approchée du vecteur inconnu à l'itération $k$, on a d'après \eqref{eq:3} avec un $x^{0}$ initial donné :
+
+\begin{equation}
+x^{(k+1)} = D^{-1} \times [-(L+U)] x^{(k)} + D^{-1} b
+\end{equation}
+
+\begin{figure}[!t]
+\begin{algorithmic}[1]
+\Input $A_{ij}$ (Matrice d'entrée), $b_{i}$ (Vecteur du membre droit), $n$ (Taille des vecteurs) et des matrices, $xOld_{i}$ (vecteur solution à l'itération précédente)
+\Output $x_{i}$ (Vecteur solution)\medskip
+
+\State Charger $A_{ij}$, $b_{i}$, $n$,
+\State Assigner la valeur initiale $x^0$
+\State \textbf{repeat}
+\For {$i=0,1,2,\ldots (n-1)$}
+\State $x_i \leftarrow 0$
+\For {$j=0,1,2,\ldots (n-1) \hspace{0.1cm} et \hspace{0.1cm} j \neq i$}
+\State $x_{i} \leftarrow x_{i} + A_{ij} \times xOld_{j}$
+\EndFor
+\For {$i=0,1,2,\ldots (n-1)$}
+\State $xOld_{i} \leftarrow ( b_{i} - x_{i} ) \quad {/} \quad A_{ii}$
+\EndFor
+\EndFor
+\State \textbf{Until} {( Obtention de la condition de convergence )}
+
+\Statex
+\end{algorithmic}
+\caption{Algorithme itératif de Jacobi}
+\label{algo:01}
+\end{figure}
+
+La condition de convergence est déterminée au début du traitement. La méthode permet de passer à large échelle en distribuant l'exécutuion de l'algorithme sur un environnement de grille de calcul.
+
+\subsection{Méthode de résolution GMRES}
+
+La méthode native GMRES ou "Generalized Minimal Residual", développée par Saad et Schultz en 1986, est une des méthodes itératives les plus utilisées pour résoudre un système d'équations linéaires ou non [3,4,43,44,45]. Elle est basée sur la minimisation de la norme euclidienne d'un vecteur résidu obtenu à chaque itération par une projection sur un espace de Krylov. Plus précisement, soit le système d'équations \eqref{eq:2}. Un sous-espace de Krylov d'ordre {m} est défini comme suit :
+
+\begin{equation}
+\label{eq:Krylov}
+K_m = Vect \{ b, Ab, A^2b, ..., A^{m-1}b \}
+\end{equation}
+
+où : Vect désigne l'espace généré par les vecteurs en argument.
+
+Il est démontré [3,..] que le vecteur projeté $x_m$ sur $K_m$ donne une valeur approchée de la solution exacte du système d'équations en minimisant le résidu $r_m$ tel que :
+
+\begin{equation}
+\label{eq:residu}
+r_m = Ax_m - b
+\end{equation}
+On suppose que les vecteurs de l'équation \eqref{eq:Krylov} sont linéairement indépendants. Comme le montre cette équation, la taille des vecteurs de base augmente linéairement avec m qui varie de 0 à $n-1$ (n étant la taille initiale de la matrice A) entrainant à chaque itération un besoin de stockage de plus en plus grand. \\
+
+Afin de réduire et optimiser l'algorithme, on peut combiner avec d'autres méthodes telles que les itérations de Arnoldi [] utilisant la procédure d'orthogonalisation de Gram-Shmidt [] pour trouver une base orthonormée de l'espace $K_m$ notée $Q_m = [q_1, ..., q_m]$. On peut donc écrire :
+
+\begin{equation}
+\label{eq:proj}
+\forall x_m \in K_m, x_m = Q_m y
+\end{equation}
+
+et le résidu dont la norme est à minimiser peut s'écrire :
+\begin{equation}
+\label{eq:residu}
+r_m = A Q_m y - b
+\end{equation}
+
+D'après cette procédure, il existe une matrice de Hessenberg $H_m$ de taille m telle que :
+\begin{equation}
+\label{eq:hessen}
+H_m = Q^T_m A Q_m
+\end{equation}
+En introduisant la matrice notée $\tilde{H}_m$ obtenue par l'ajout d'une ligne supplémentaire à $H_m$ avec la seule valeur non nulle est celle à la position (m+1,m), on démontre qu'on a la relation suivante [3,43,44,45] :
+
+\begin{equation}
+\label{eq:hessen1}
+A Q_m = Q_{m+1} \tilde{H}_m
+\end{equation}
+
+Ainsi, le résidu donné par l'équation \eqref{eq:residu} peut s'écrire en utilisant \eqref{eq:hessen1} :
+\begin{equation*}
+\label{eq:residu1}
+(r_m = Q_{m+1} \tilde{H}_m y - b) \\
+\Leftrightarrow (\|r_m\| = \|Q_{m+1} \tilde{H}_m y - b\|)
+\end{equation*}
+
+Comme la norme ne change pas après la multiplication avec la matrice unitaire $Q^{-1}_m$, on a :
+\begin{equation*}
+\label{eq:norme1}
+\|r_m\| = \|Q_{m+1} \tilde{H}_m y - b\| = \|Q^{-1}_m Q_{m+1} \tilde{H}_m y - Q^{-1}_m b\|
+\end{equation*}
+
+Ou :
+
+\begin{equation}
+\label{eq:norme2}
+\|r_m\| = \|\tilde{H}_m y - Q^{-1}_m b\|
+\end{equation}
+
+Or :
+\begin{equation}
+\label{eq:q_1}
+Q^{-1}_m b = \left( \begin{array}{c}
+q^{-1}_1 b \\
+q^{-1}_2 b \\
+\vdots \\
+q^{-1}_{m+1} b
+\end{array}\right)
+\end{equation}
+
+Et comme les colonnes $q_j$ de $Q_m$ forment une base orthonormale de l'espace de Krylov $K_m$, on a :