X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAhmed.git/blobdiff_plain/157e6b15b1550a7c982f80d31c4bd17f5b8eab04..5db01fd07f0d6d36e46b6adb74d4d49f636c9669:/CHAPITRE_01.tex diff --git a/CHAPITRE_01.tex b/CHAPITRE_01.tex index c3b0641..cc23717 100644 --- a/CHAPITRE_01.tex +++ b/CHAPITRE_01.tex @@ -323,8 +323,8 @@ some examples for each type of the parallel programming models are discussed: \section{Iterative Methods} \label{ch1:3} -In this work, we are interested in solving linear equations which are well known in the scientific area. -It is generally expressed in the following form: +In this work, we are interested in solving system of linear equations which are very common in the scientific field. A system of linear equations can be expressed as follows: + \begin{equation} \label{eq:linear} @@ -332,14 +332,14 @@ It is generally expressed in the following form: \end{equation} Where $A$ is a two dimensional matrix of size $N \times N$, $x$ is the unknown vector, -and $b$ is a vector of constant, each of size $N$. There are two types of solution methods to solve this linear system. -The first type of methods is called \textbf{Direct methods}, which consist of a finite number of steps depending on the -size of the linear system to give the exact solution. If the problem size is very big, these methods are expensive or their -solutions are impossible in some cases. The second type is called \textbf{Iterative methods}, which computes -the same block of operations several times, starting from the initial vector until reaching the acceptable -approximation of the exact solution. However, they can be effectively applied in parallel. Moreover, iterative methods can be used to solve both linear and non-linear equations. +and $b$ is a vector of constant, each of size $N$. There are two types of solution methods to solve this linear system: the \textbf{direct} and the \textbf{iterative methods}. +A direct method executes a finite number of steps, depending on the +size of the linear system and gives the exact solution of the system. If the problem is very big, this method is expensive or its +solution is impossible in some cases. On the other hand, methods with iterations execute the same block of instructions many times. The number of iterations can be predefined or the application iterates until a criterion is satisfied. Iterative methods are methods with iterations that start from an initial guess and +improve successively the solution until reaching an acceptable approximation of the exact solution. +These methods are well adapted for large systems and can be easily parallelized. -The sequential iterative algorithm is typically organized as a series of steps essentially of the form: +A sequential iterative algorithm is typically organized as a series of steps essentially of the form: \begin{equation} \label{eq:iter} @@ -372,6 +372,7 @@ The sequential iterative algorithm at each iteration computes the value of the r \end{equation} Where $N$ is the size of the vector $X$. Then, the iterative sequential algorithm stops iterating if the maximum error between the last two successive solution vectors, as in \ref{eq:res}, is less than or equal to a threshold value. Otherwise, it replaces the new vector $X^{(k+1)}$ with the old vector $X^k$ and computes a new iteration. + \subsection{Synchronous Parallel Iterative method} \label{ch1:3:1} The sequential iterative algorithm \ref{sia} can be parallelized by executing it on many computing units. To solve this algorithm on $M$ computing units, first the elements of the problem vector $X$ must be subdivided into $M$ sub-vectors, $X^k=(X_1^k,\dots,X_M^k)$.