• No results found

Generally, a preconditioner P of a non-singular matrix A is chosen such that the preconditioned system is more efficient to solve [45]. It is often desirable that the chosen matrix P has the same features as the matrix A and approximates A. There are two common approaches to choose P:

– Approximate factorisation of A.

– Approximate inverse of A.

In both cases these approximations must be sparse for reasons of efficiency. There are three wayes in which a preconditioner can be applied

(1) Left preconditioning:

PL−1Au = PL−1f (2) Right preconditioning:

APR−1y = f, u = PR−1y (3) Split preconditioning:

PL−1APR−1y = PL−1f, u = PR−1y

where the preconditioner P = PLPR. The choice of the type of preconditioning depends on which iterative method is used to solve the problem. Overall, a good preconditioner P should be cheap to construct and the linear system P z = r should be efficient to solve for a given vector r. However, a good preconditioner choice depends upon the problem under consideration [17].

A good preconditioner should provide fast convergence and also be cheap to solve. Moreover, the good preconditioner leads to bounding eigenvalues of APR−1 clustered into group.

In general, preconditioned Krylov subspace method solve the system P z = r at each step instead of using APR−1 explicitly, which is computationally more expensive and may lead to loss of sparsity [17, 96]. So, only matrix-vector products are needed for the GMRES method.

Preconditioned GMRES is the main approach used to solve the problem in this research.

35 3.3. Preconditioning

Preconditioned GMRES convergence depends on the type of the preconditioning. Generally, the preconditioned GMRES algorithm starts with computing the initial residual r0= f − Au0

(see Algorithm 3). In the right preconditioning, the relative residual rm = f − Aum = f − APR−1ym is computed, which is different from left preconditioning, which needs to compute the residual in the form rm = f − PL−1Aum. The different residuals may effect the stopping criterion and then lead to stop algorithm [96]. The right preconditioning for the GMRES is often used as the residual is unchanged [17].

Algorithm 3 GMRES with right preconditioning

1: Compute r0= f − Au0, β =k r0k2 and v1= r0

2: for j = 1, ..., m do

3: compute zj:= P−1vj

4: compute wj:= Azj

5: for i = 1, ..., j do

6: hij := (wj, vi)

7: wj:= wj− hijvi 8: end for

9: hj+1,j=k wj k2 10: if hj+1,j = 0 then

11: set m = j and go to step 16

12: else

13: vj+1= wj/hj+1,j 14: end if

15: end for

16: set Hm= [hij]1im+1,1jm

17: compute ym= argminyk βe1− Hmy k2 and um= u0+ P−1Vmym

In this research, the systems of algebraic equations arise from the discretization meth-ods, such as those described in Section 3.1, are solved using the right preconditioned GMRES method. The CG method is also used to solve a SPD system, which is explained in detail in Section 6.2.

For the theorems and algorithms of preconditioned Krylov methods, we direct the interested readers to (Saad [96], van der Vorst [108], Elman et al. [40] ). Moreover, for excellent reviews papers on the preconditioning techniques, we refer the readers to [17, 115].

The next subsections are used to describe the particular preconditioners, which are used in this work.

3.3.1 ILU Preconditioning

ILU factorization is an incomplete factorization algorithm, which is based upon the direct solution method of LU factorization for nonsymmetric matrices. In the incomplete LU decom-position, we form :

A = LU + R

where L and U are sparse lower and upper triangular matrices respectively, and R is error matrix. This method computes LU by undertaking an incomplete factorization of the matrix A. The exact factorization has the problem of fill-in, which means that although A is sparse, some entries that are initially zero in L and U may become nonzero entries as part of the complete factorization process. So, L and U are considerably less sparse than A. ILU (0) is Incomplete LU with zero level of fill-in (no-fill), i.e. L + U has the same sparsity pattern as A.

ILU (0) inexpensive and easy to implement since it is based on conventional LU decomposition but without allowing any fill-in to occur. However, the preconditioned Krylov subspace solver based on ILU(0) often needs too many iterations to converge due to LU being such a crude approximation of A [96]. To avoid this problem, a drop tolerance strategy is used in order to drop any element in L and U that less than a certain tolerance. ILU preconditioned GMRES with drop tolerance is tested and the results are shown later in this thesis.

Further information about ILU factorization can be found in [96], section 10.3.

3.3.2 Block Preconditioning

In many problems the linear system can be written in block form as

K C problems such as the Taylor-Hood discretization of Stokes equation for example. The coefficient matrix A is indefinite. Such a problem can be solved iteratively using MINRES (e.g [86, 114]) or GMRES (e.g [97]) in case the matrix A is symmetric (if B = C) or nonsymmetric (if B 6= C) respectively. This research focuses on the nonsymmetric case.

The coefficient matrix A may preconditioned by

P 1 = K 0

0 S

!

; (3.31)

this is a block diagonal preconditioner [79], where S = BTK−1C, is the Schur complement.

This form of preconditioner leads to three distinct eigenvalues [40, 79, 114], which are obtained from solving:

37 3.3. Preconditioning

2 for a nonsingular matrix (see proof in [79]).

The second preconditioner, in the nonsymmetric case, takes the form:

P 2 = K C

0 ±S

!

, (3.32)

which is a block triangular preconditioner with S = BTK−1C; this form of preconditioner leads to two distinct eigenvalues or only one distinct eigenvalue depending on which the sign of S is selected. So from:

In the both cases, the Krylov method with this preconditioning requires only two iterations to converge.

The advantage of the preconditioner with exact Schur complement matrix is the conver-gence rate of Krylov subspace is bounded independently of the problem size and discretization parameters. However, the exact Schur complement involves an inverse matrix and that may be expensive to compute and require lots of memory and storage.

To improve the previous preconditioners, the block matrix K approximated is by ˆK, and S is replaced by the approximate Schur complement, which is the pressure mass matrix (mp). ˆS may be equivalent to mp or diag(mp). The new preconditioners

P 3 = ˆK 0

P3 and P4 require less memory and time to converge, however, they need more Krylov iterations to converge [114].

In Wathen’s paper [114], the properties of the matrix A is symmetric indefinite. He improved the diagonal preconditioning in (3.33) to get the optimal solution time. A multigrid method with one V-cycle and one pre-and post smoothing stage is used to solve the block ˆK, and Conjugate Gradients is used to solve mp. The preconditioned MINRES method was used and achieved the best solver in Stokes equation case.

Based on the ideas on Wathen’s paper [114], Murphy et al. [79] and Elman et al. [40], we improve a novel block triangular preconditioner for the nonsymmetric linear systems, which is

described in Section 6.2.