X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/GMRES2stage.git/blobdiff_plain/c58c00531fe9eae1fa885f5ab10b3308d38feb6d..a0cf63f4131f16e0075ab94bbf53937fb998cca0:/paper.tex diff --git a/paper.tex b/paper.tex index cba14da..64a88a8 100644 --- a/paper.tex +++ b/paper.tex @@ -669,8 +669,8 @@ called for a maximum of $max\_iter_{kryl}$ iterations. In practice, we sugges equals to the restart number of the GMRES-like method. Moreover, a tolerance threshold must be specified for the solver. In practice, this threshold must be much smaller than the convergence threshold of the TSIRM algorithm (\emph{i.e.} -$\epsilon_{tsirm}$). Line~\ref{algo:store}, $S_{k~ mod~ s}=x^k$ consists in copying the -solution $x_k$ into the column $k~ mod~ s$ of the matrix $S$. After the +$\epsilon_{tsirm}$). Line~\ref{algo:store}, $S_{k \mod s}=x^k$ consists in copying the +solution $x_k$ into the column $k \mod s$ of the matrix $S$, where $S$ is a matrix of size $n\times s$ whose column vector $i$ is denoted by $S_i$. After the minimization, the matrix $S$ is reused with the new values of the residuals. To solve the minimization problem, an iterative method is used. Two parameters are required for that: the maximum number of iterations and the threshold to stop the @@ -686,13 +686,13 @@ Let us summarize the most important parameters of TSIRM: \end{itemize} -The parallelisation of TSIRM relies on the parallelization of all its +The parallelization of TSIRM relies on the parallelization of all its parts. More precisely, except the least-squares step, all the other parts are obvious to achieve out in parallel. In order to develop a parallel version of our code, we have chosen to use PETSc~\cite{petsc-web-page}. For line~\ref{algo:matrix_mul} the matrix-matrix multiplication is implemented and efficient since the matrix $A$ is sparse and since the matrix $S$ contains few -colums in practice. As explained previously, at least two methods seem to be +columns in practice. As explained previously, at least two methods seem to be interesting to solve the least-squares minimization, CGLS and LSQR. In the following we remind the CGLS algorithm. The LSQR method follows more or @@ -746,6 +746,26 @@ the convergence of GMRES($m$) for all $m$ under that assumption regarding $A$. \end{proposition} +We can now claim that, +\begin{proposition} +If $A$ is a positive real matrix and GMRES($m$) is used as solver, then the TSIRM algorithm is convergent. +\end{proposition} + +\begin{proof} +Let $r_k = b-Ax_k$, where $x_k$ is the approximation of the solution after the +$k$-th iterate of TSIRM. +We will prove that $r_k \rightarrow 0$ when $k \rightarrow +\infty$. + +Each step of the TSIRM algorithm \\ +$\min_{\alpha \in \mathbb{R}^s} ||b-R\alpha ||_2 = \min_{\alpha \in \mathbb{R}^s} ||b-AS\alpha ||_2$ + +$\begin{array}{ll} +& = \min_{x \in Vect\left(x_0, x_1, \hdots, x_{k-1} \right)} ||b-AS\alpha ||_2\\ +& \leqslant \min_{x \in Vect\left( S_{k-1} \right)} ||b-Ax ||_2\\ +& \leqslant ||b-Ax_{k-1}|| +\end{array}$ +\end{proof} + %%%********************************************************* %%%********************************************************* @@ -905,10 +925,10 @@ corresponds to 30*12, there are $max\_iter_{ls}$ which corresponds to 15. In Figure~\ref{fig:01}, the number of iterations per second corresponding to -Table~\ref{tab:01} is displayed. It can be noticed that the number of -iterations per second of FMGRES is constant whereas it decrease with TSIRM with -both preconditioner. This can be explained by the fact that when the number of -core increases the time for the minimization step also increases but, generally, +Table~\ref{tab:03} is displayed. It can be noticed that the number of +iterations per second of FMGRES is constant whereas it decreases with TSIRM with +both preconditioners. This can be explained by the fact that when the number of +cores increases the time for the least-squares minimization step also increases but, generally, when the number of cores increases, the number of iterations to reach the threshold also increases, and, in that case, TSIRM is more efficient to reduce the number of iterations. So, the overall benefit of using TSIRM is interesting. @@ -1049,4 +1069,3 @@ Curie and Juqueen respectively based in France and Germany. % that's all folks \end{document} -