l'algorithme MinRes
La méthode MinRes (MINimal RESidual method) est une méthode de projection qui fait partie de la classe des méthodes itératives qui permettent de résoudre un système linéaire $A \mathbf{x} = \mathbf{b}$, comme le demande notamment la méthode des éléments finis.
MinRes a l’avantage de posséder une récurrence courte, à l’instar de la méthode du gradient conjugué. Cette dernière suppose que la matrice est symétrique définie positive, alors que MinRes suppose seulement que $A$ est symétrique.
L’algorithme MinRes prend la forme suivante :
$\textbf{function}$ MINRES($A, \mathbf{b}$, $\epsilon_{\text{TOL}}$)
$\quad\epsilon = \epsilon_{\text{TOL}} | \mathbf{b} |_2$
$\quad\mathbf{x} = 0$
$\quad\mathbf{r} = \mathbf{b}$
$\quad\textbf{while} \; |r|_2 \geq \epsilon \; \textbf{do}$
$\qquad\alpha = \mathbf{r}^T A \mathbf{r} / |A \mathbf{r}|_2^2$
$\qquad\mathbf{x} = \mathbf{x} + \alpha \mathbf{r}$
$\qquad\mathbf{r} = \mathbf{b} - A \mathbf{x}$
$\quad\textbf{end while}$
$\quad\textbf{return} \; (\mathbf{x})$
$\textbf{end function}$
La fonction minres
prendra en paramètre une matrice $A$ au format COO, un vecteur second-membre $\mathbf{b}$ ainsi que la tolérance demandée $\epsilon_{\text{TOL}}$ et retournera le vecteur solution $\mathbf{x}$ calculé par l’algorithme ci-dessus.