Applied Mathematics and Computation 188 (2007) 612–633 www.elsevier.com/locate/amc
Gauss type preconditioning techniques for linear systems Yong Zhang a, Ting-Zhu Huang
a,*
, Xing-Ping Liu
q
b
a
b
School of Applied Mathematics, University of Electronic Science and Technology of China, Chengdu, Sichuan 610054, PR China National Key Lab of Computational Physics, Institute of Applied Physics and Computational Mathematics, Beijing 100088, PR China
Abstract Many researchers have considered preconditioners chosen to eliminate the off-diagonal elements of the coefficient matrix of a linear system. In this work, we generalize the left Gauss type preconditioners [Y. Zhang, T.Z. Huang, X.P. Liu, Modified iterative methods for nonnegative matrices and M-matrices linear systems, Comput. Math. Appl. 50 (2005) 1587–1602] which eliminate the strictly lower triangular elements. Right Gauss type preconditioners that eliminate strictly upper triangular elements are proposed in this paper. These Gauss type preconditioners are partly derived from the LU factorization method. Theoretic analysis on spectral radii of the two kinds of Gauss type preconditioners is given. Numerical experiments are used to show the performance of the improved inbuilt left and right Gauss type preconditioning algorithms associated with Jacobi type and Gauss–Seidel type iterative methods. 2006 Elsevier Inc. All rights reserved. Keywords: Preconditioning; Jacobi and Gauss–Seidel type iterative methods; LU factorization; Gauss elimination; M-Matrix
1. Introduction Consider the numerical solution of the linear system Ax ¼ b; where A = (aij) 2 R
ð1Þ n·n
is a known nonsingular M-matrix.
Definition 1 [6]. A matrix A is a Z-matrix if aij 6 0, i, j = 1, 2, . . . , n; i 5 j. Definition 2 [5]. A matrix A is an L-matrix if aii > 0, i = 1, 2, . . . , n and aij 6 0 for all i, j = 1, 2, . . . , n; i 5 j. Definition 3 [6]. A matrix A is an M-matrix if A has the form A = sI B, s > 0, B P 0 and s > q(B) (the spectral radius of B). q
Supported by NCET of China (NCET-04-0893), foundation of the National Key Lab of Computational Physics, Beijing Appl. Phys. Comput. Math. Institute and applied basic research foundations of Sichuan province (05JY029-068-2). * Corresponding author. E-mail addresses:
[email protected] (Y. Zhang),
[email protected] (T.-Z. Huang). 0096-3003/$ - see front matter 2006 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2006.10.053
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
613
Since A is an M-matrix, aii > 0, i = 1, 2, . . . , n, which shows that A is an L-matrix [1]. Without loss of generality, we can write A ¼ I L U;
ð2Þ
where I is the identity matrix, L and U are strictly lower triangular and strictly upper triangular parts of A respectively. M = I, N = L + U and M = I L, N = U leads to the classical Jacobi and classical Gauss–Seidel iterative methods respectively. Then the corresponding iteration matrices of the classical Jacobi and Gauss– Seidel methods are given by B = L + U and T = (I L)1U respectively. One can transform the original system (1) into the preconditioned form PAx ¼ Pb
ð3Þ
or AQy ¼ b;
x ¼ Qy:
ð4Þ
Here P in (3) and Q in (4) are called the left preconditioner and the right preconditioner, respectively. Then one can define two kinds of basic iterative schemes respectively ðkÞ xðkþ1Þ ¼ M 1 þ M 1 p N px p Pb;
k ¼ 0; 1; . . . ;
ð5Þ
where PA = Mp Np and Mp is nonsingular, and ðkÞ y ðkþ1Þ ¼ M 1 þ M 1 p N py p b;
k ¼ 0; 1; . . . ;
ð6Þ
where AQ = Mp Np and Mp is nonsingular. Many researchers have considered the left preconditioners applied to system (1) that make the associated Jacobi and Gauss–Seidel type methods converge faster than the original ones. In a simpler form, Milaszewicz [2] considered the preconditioner 1 0 1 C B C B a21 1 C B C B a31 1 C B C B . . C B . . ð7Þ . P1 ¼ B . C; C B C B ai1 1 C B C B . .. C B . . A @ . an1 1 which eliminates the elements of the first column of A below the diagonal. Hadjidimos et al. [1], for M-matrices systems, generalized Milaszewicz’s preconditioning technique and considered the preconditioner 1 0 1 C B C B a2 a21 1 C B C B a3 a31 1 C B C B . . C B . . P 1 ðaÞ ¼ B . ð8Þ . C: C B C B ai ai1 1 C B C B . . C B . . . A @ . an an1
1
Kohno et al. [7] parameterized the preconditioner presented by Gunawardena et al. [8] and considered a preconditioner
614
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
0 B B B B B B B P 2 ðaÞ ¼ B B B B B B @
1
a1 a12 1
1 a2 a23 .. .
..
.
1
ai ai;iþ1 .. .
C C C C C C C C: C C .. C . C C 1 an1 an1;n A 1
ð9Þ
Recently, Zhang et al. [3] proposed the left Gauss type preconditioning techniques based on Hadjidimos et al. [1], Milaszewicz [2] and LU factorization method [4]. The Gauss type preconditioning technique utilizes the Gauss transformation matrices [4] as the base of the Gauss type preconditioner. The construction of Gauss transformation matrices [4] is as follows: 1 0 1 0 0 0 B .. .. C .. .. B. .C . . C B C B 1 0 0C B0 C; k ¼ 1; 2; . . . ; n 1; Mk ¼ B ð10Þ B0 skþ1 1 0C C B B. .. C .. .. C B. @. .A . . 0
sn
0
1
where sT ¼ ð0; . . . ; 0; skþ1 ; . . . ; sn Þ;
si ¼
aik ; i ¼ k þ 1; . . . ; n: akk
The fore k elements of the vector s 2 Rn are zero, and s is called a Gauss vector. In some cases the two preconditioners (7) and (8) have the same expression with one of Gauss transformation matrices, denoted by M1, of LU factorization methods [4], that is to say M 1 ¼ P 1 ¼ P 1 ðaÞ;
T
T
a ¼ ða1 ; a2 ; . . . ; an1 Þ ¼ ð1; 1; . . . ; 1Þ :
Due to the similarity between the preconditioner (7) and (8) and Gauss transformation matrix (10) (i.e. M1), Zhang et al. [3] consider the following left preconditioners: P 1 ¼ M 1; P 2 ¼ M 2M 1; .. . P m ¼ M m M m1 M 2 M 1 :
ð11Þ
Then, • preconditioners Pm (m = 1, 2, . . . , n 1) are all lower triangular matrices with unity diagonal entries; • the entries of the fore m columns of PmA (m = 1, 2, . . . , n 1) are all zero below the diagonal; • Pn1A is an upper triangular matrix in particular. This work is organized as follows. In Section 2, we extend the left Gauss preconditioners by giving a family of preconditioners based on the elimination of elements at the strictly upper triangular part (i.e. up the diagonal), and, theoretic analysis is presented which theoretically confirm the results in [3]. In Section 3, improved Gauss preconditioning algorithms associated with inbuilt technique are given. In Section 4, numerical experiments are presented to show the performance and efficiency of improved Gauss preconditioning algorithms.
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
615
2. Generalized Gauss type preconditioning techniques 2.1. Right Gauss type preconditioners From the fore section, we know that the left Gauss type preconditioner (11) could increase the number of zero elements in the strictly lower triangular part of the preconditioned matrix (PmA) column by column. Similarly, we can construct the preconditioners which eliminate the elements up the diagonal row by row if possible. First, let Qm be such kind of preconditioners with order m. The following expression shows the way to construct Qm: ðAQm ÞT ¼ QTm AT ;
ð12Þ QTm ,
then, in order to find the kind of wanted preconditioners, we only need to construct the matrix just by the fore mentioned left preconditioning techniques which could make the entries of the fore m columns of the strictly lower triangular part of the preconditioned matrix QTm AT all zero. We note that these preconditioning matrices Qm could make the entries of the fore m rows of the strictly upper triangular part of the preconditioned matrix AQm all zero. For brevity, these preconditioners Qm is named as right Gauss preconditioners which could be applied to (1) as right preconditioners. Similarly, we define the corresponding right Gauss transformation matrices 0
1 B. B .. B B B0 Mk ¼ B B0 B B. B. @.
0 .. . 1 0 .. .
1 .. .
0
0
0
0 .. . ukþ1
1 0 .. C . C C C un C C; 0 C C .. C C . A 1
k ¼ 1; 2; . . . ; n 1;
ð13Þ
where uT ¼ ð0; . . . ; 0; ukþ1 ; . . . ; un Þ;
uj ¼
akj ; j ¼ k þ 1; . . . ; n: akk
The fore k elements of u 2 Rn are all 0, and u is also called a Gauss vector. We note that Qm ¼ M 1 M 2 M m1 M m ;
1 6 m 6 n 1:
Now we begin to analyze the elements of the preconditioned matrices ALm and ARm which satisfy ALm ¼ P m A
and ARm ¼ AQm :
First, let us get the expression of the elements of MkA and AM k , which help us to build the corresponding preconditioning algorithms presented in the next section, from the previous notations and considerations. Defining B ¼ ðbij Þ ¼ M k A;
j ¼ 1; 2; . . . ; n;
we have bij ¼ i.e.
( bij ¼
aij ;
i ¼ 1; 2; . . . ; k;
aij si akj ;
i ¼ k þ 1; . . . ; n;
aij ; i ¼ 1; 2; . . . ; k; aik akj aij akk ; i ¼ k þ 1; . . . ; n:
ð14Þ
616
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
Defining B ¼ ð bij Þ ¼ AM k ; we have bij ¼ i.e.
i ¼ 1; 2; . . . ; n; j ¼ 1; 2; . . . ; k;
aij ;
aij uj aik ; j ¼ k þ 1; . . . ; n; (
bij ¼
aij ; j ¼ 1; 2; . . . ; k; aik akj aij akk ; j ¼ k þ 1; . . . ; n:
ð15Þ
Define ðlmÞ
ðrmÞ
ALm ¼ ðaij Þ;
ARm ¼ ðaij Þ;
m ¼ 0; 1; 2; . . . ; n 1;
where ðl0Þ
ðr0Þ
A ¼ AL0 ¼ AR0 ¼ ðaij Þ ¼ ðaij Þ: By the fore known properties of Gauss preconditioners ALm and ARm can be written as 0 ðl;mÞ ðl;mÞ ðl;mÞ ðl;mÞ a12 a1m a1;mþ1 a11 B ðl;mÞ ðl;mÞ ðl;mÞ B 0 a22 a2m a2;mþ1 B B .. .. .. .. B .. B . . . . . B B ðl;mÞ ðl;mÞ 0 0 a a B m;mþ1 mm ALm ¼ B B ðl;mÞ 0 amþ1;mþ1 B 0 B B . .. .. .. .. B .. . . . . B B . .. .. .. .. B . . . . . @ . ¼
0 Lm1
Lm2
Lm3
Lm4
ðl;mÞ
0
an;mþ1
and considerations, the preconditioned matrices ðl;mÞ
a1n
1
C C C C C C C C aðl;mÞ C mn C ðl;mÞ C amþ1;n C C .. C . C C .. C C . A aðl;mÞ nn ðl;mÞ
a2n .. .
ð16Þ
ð17Þ
and 0
ARm
ðr;mÞ
a11
B B ðr;mÞ B a21 B B . B .. B B ðr;mÞ B am1 ¼B B ðr;mÞ B amþ1;1 B B . B . B . B . B . @ . ðr;mÞ
¼
an1 Rm1 Rm3
0 ðr;mÞ
a22 .. .
ðr;mÞ am2 ðr;mÞ amþ1;2
.. . .. .
.. . .. . ðr;mÞ
an2 Rm2 ; Rm4
0 .. .
.. . .. .
.. . .. .
0
0 .. . .. .
aðr;mÞ mm ðr;mÞ amþ1;m
0
ðr;mÞ amþ1;mþ1
.. . .. .
.. . .. .
aðr;mÞ nm
an;mþ1
ðr;mÞ
0 .. . .. .
1
C C C C C C C C 0 C C ðr;mÞ C amþ1;n C C .. C C . C .. C C . A
ð18Þ
aðr;mÞ nn ð19Þ
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
617
where the block form in (17) and (19) is the same, and square matrices Lm1 and Rm1 are all of dimension m · m and square matrices Lm4 and Rm4 are all of dimension (n m) · (n m). Now, we can get the analysis expressions of two kinds of preconditioned matrices in terms of (14) and (15): • For m = 1, we have ðARm Þ11 ¼ ðALm Þ11 ¼ a11 ; ai1 a1j ; a11
ðALm Þij ¼ ðARm Þij ¼ aij
i ¼ m þ 1; . . . ; n; j ¼ m þ 1; . . . ; n:
ð20Þ
• For m = 2, we have ðl;mÞ
ðALm Þ22 ¼ a22
ðl;m1Þ
¼ a22
;
ðr;mÞ
ðr;m1Þ
ðARm Þ22 ¼ a22
¼ a22
ðr;m1Þ
¼ a22 ;
:
By (20) we know ðl;m1Þ
a22
ðl;21Þ
¼ a22
ðl;1Þ
¼ a22 ;
a22
ðr;21Þ
¼ a22
ðr;1Þ
ðl;1Þ
ðr;1Þ
a22 ¼ a22 ;
then (ALm)22 = (ARm)22. • In a general way, by (14), (15), (20), for any 1 6 m 6 n 1, we have ðALm Þij ¼ ðARm Þij ¼
ðl;m1Þ aij
ðl;m1Þ ðl;m1Þ amj ðl;m1Þ amm
aim
¼
ðr;m1Þ aij
ðr;m1Þ ðr;m1Þ amj ðr;m1Þ amm
aim
;
ð21Þ
i = m + 1, . . . , n; j = m + 1, . . . , n. Naturally, from the analysis expression (21), we conclude that (1) Preconditioned matrices ALm and ARm have the same diagonal elements, i.e. ðl;mÞ
ðALm Þii ¼ ðARm Þii ¼ aii
ðr;mÞ
¼ aii
;
1 6 i 6 n:
ð22Þ
(2) The sub matrices of the (m + 1)th row to the nth row, the (m + 1)th column to the nth column of ALm and ARm are equal, i.e. Lm4 ¼ Rm4 :
ð23Þ
That is to say ðl;mÞ
ðALm Þij ¼ ðARm Þij ¼ aij
ðr;mÞ
¼ aij
;
i; j ¼ m þ 1; . . . ; n; 1 6 m 6 n 1:
ð24Þ
(3) In particular, ðALm Þij ¼ 0
ðj ¼ 1; 2; . . . ; m; i ¼ j þ 1; j þ 2; . . . ; nÞ;
ðARm Þij ¼ 0 ði ¼ 1; 2; . . . ; m; j ¼ i þ 1; i þ 2; . . . ; nÞ: We consider the usual triangular splitting of ALm and ARm ALm ¼ DLm ELm F Lm ; where DLm, ELm, FLm are diagonal, strictly lower triangular and strictly upper triangular parts of ALm respectively, and ARm ¼ DRm ERm F Rm ; where DRm, ERm, FRm are diagonal, strictly lower triangular and strictly upper triangular parts of ARm respectively.
618
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
Below we define the Jacobi type iteration associated with the above splittings B ¼ L þ U; BLm ¼ D1 Lm ðE Lm þ F Lm Þ; BRm ¼
D1 Rm ðE Rm
ð25Þ
þ F Rm Þ;
as well as the splittings that define the Gauss–Seidel type iteration matrices T ¼ ðI LÞ1 U ; T Lm ¼ ðDLm ELm Þ1 F Lm ; 1
T Rm ¼ ðDRm ERm Þ F Rm : In terms of the expressions of ALm (16) and ARm (18), we can express these splitting matrices in the following block form: ! ! ! 0 DL1 0 0 F L1 F L2 DLm ¼ ; ELm ¼ ; F Lm ¼ ; 0 DL4 0 EL4 0 F L4 ! ! ! 0 0 DR1 ER1 0 0 DRm ¼ ; ERm ¼ ; F Rm ¼ : 0 DR4 ER3 ER4 0 F R4 Thus, we have BLm ¼ D1 Lm ðELm þ F Lm Þ !1 DL1 0 F L1 ¼ 0 DL4 0 ¼
EL4 þ F L4 !
D1 L1 F L1
D1 L1 F L2
0
D1 L4 ðE L4 þ F L4 Þ
BRm ¼ D1 Rm ðE Rm þ F Rm Þ !1 DR1 0 ER1 ¼ 0 DR4 ER3 ¼
!
F L2
ð26Þ
;
!
0 ER4 þ F R4 !
D1 R1 ER1
0
D1 R4 ER3
D1 R4 ðE R4 þ F R4 Þ
ð27Þ
;
T Lm ¼ ðDLm ELm Þ1 F Lm ¼
¼
0
0
DL4 EL4
D1 L1
F L1
F L2
0
F L4
!
0 ðDL4 EL4 Þ
0 ¼
!1
DL1
1
F L1
F L2
0
F L4
D1 L1 F L1
D1 L1 F L2
0
ðDL4 EL4 Þ F L4
1
! !
! ;
ð28Þ
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
619
and 1
T Rm ¼ ðDRm ERm Þ F Rm 1 DR1 ER1 0 0 ¼ DR4 ER4 ER3 0 ðDR1 ER1 Þ
¼ ¼
F R4
1
1
0
ðDR4 ER4 Þ ER3 ðDR1 ER1 Þ 0 0 : 1 0 ðDR4 ER4 Þ F R4
!
0 1
ðDR4 ER4 Þ
1
0
0
0 F R4 ð29Þ
Then we have Lemma 1. If A is an M-matrix, then for any 1 6 m 6 n 1 (1) ALm exists; (2) Mm P 0 and Pm P 0; (3) ALm and Lm4 both are M-matrices. Proof. For the case m = 1: Since A is an M-matrix, a11 > 0. Then there exist M1 and P1 such that M 1 P 0;
P 1 P 0:
Hence, by AL1 = P1A, AL1 exists. And for a Z-matrix A, ‘‘A is an M-matrix’’ is equivalent to ‘‘there exists a positive vector y (>0) 2 Rn such that Ay > 0’’ (see [6, p. 136]. P1 P 0, implies AL1 y ¼ P 1 Ay > 0: Consequently, AL1, which is a Z-matrix, is an M-matrix. Since for a Z-matrix the statement ‘‘A is an M-matrix’’ is equivalent to ‘‘all the principal minors of A are positive’’ [6, p. 134], the submatrix L14 is also an M-matrix. Similarly, we could use the same way for the case m = 1 step by step to prove the results for 2 6 m 6 n 1. The proof is completed. h Lemma 2. If A is a nonsingular M-matrix, then, for any 1 6 m 6 n 1, (1) ARm exists; (2) M m P 0 and Qm P 0; (3) ARm and Rm4 both are nonsingular M-matrices. Proof. Since A is an M-matrix, AT is also an M-matrix. For the case m = 1: For A being an M-matrix, so a11 > 0. Then there exist M 1 and Q1 such that M 1 P 0;
Q1 P 0:
Hence, for AR1 = A Q1, AR1 exists. And for a Z-matrix A, ‘‘A is an M-matrix’’ is equivalent to ‘‘there exists a positive vector y(>0) 2 Rn such that Ay > 0’’ (see [6, p. 136]). So there exists a positive vector y(>0) 2 Rn such that ATy > 0. Q1 P 0, implies T
ATR1 y ¼ ðAQ1 Þ y ¼ QT1 AT y > 0: Consequently, ATR1 , which is a Z-matrix, is an M-matrix. Then AR1 is an M-matrix. Since for a Z-matrix the statement ‘‘A is an M-matrix’’ is equivalent to the statement ‘‘all the principal minors of A are positive’’ [6, p. 134], then the submatrix R14 is also an M-matrix. Similarly, we could use the same way for the case m = 1 step by step to prove the results for 2 6 m 6 n 1. The proof is completed. h
620
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
Lemma 3. If A is an M-matrix, then Lm3 ¼ 0; Rm2 ¼ 0; diagðLm1 Þ ¼ diagðRm1 Þ; Lm4 ¼ Rm4 :
ð30Þ ð31Þ ð32Þ ð33Þ
Proof. Since A is an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1. From (17) and (19), we immediately get Lm3 = 0 and Rm2 = 0. And from (21), (22) and (24), we have diagðLm1 Þ ¼ diagðRm1 Þ;
ð34Þ
Lm4 ¼ Rm4 :
ð35Þ
Lemma 4. If A is an M-matrix, then DL1 ¼ DR1 ; DL4 ¼ DR4 ; EL4 ¼ ER4 ; F L4 ¼ F R4 :
ð36Þ ð37Þ ð38Þ ð39Þ
Proof. Since A is an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1. From the Eq. (21), the result follows. h Lemma 5. The existence of Gauss preconditioners Pm and Qm is guaranteed by the same condition (1) a11 5 0 for m = 1; ðl;m2Þ ðl;m2Þ ðl;m2Þ ðr;m2Þ ðr;m2Þ ðr;m2Þ ðr;m2Þ (2) aðl;m2Þ am1;m1 6¼ am;m1 am1;m or am;m am1;m1 6¼ am;m1 am1;m for 2 6 m 6 n 1. m;m Proof. Notice that, for any 1 6 m 6 n 1, two kinds of Gauss preconditioners Pm and Qm with order m exists if and only if the fore mentioned preconditioned matrices AL,m1 and AR,m1 have the nonzero diagonal elements i.e., ðl;m1Þ
ðr;m1Þ
am1;m1 ¼ am1;m1 6¼ 0: For the case m = 1, it only need a11 5 0 which keep the existence of P1 and Q1. For the case m = 2, it only needs M1A and AM 1 having nonzero diagonal elements, that is to say a22
a21 a12 6¼ 0; a11
i.e. a22a11 5 a21a12. Totally, for any 2 6 m 6 n 1, left Gauss preconditioners Pm with order m exist if and only if ðl;m2Þ ðl;m2Þ
¼ aðl;m2Þ aðl;m1Þ m;m m;m
am;m1 am1;m ðl;m2Þ
am1;m1
ðl;m2Þ
6¼ 0;
ð40Þ
ðl;m2Þ ðl;m2Þ
which implies aðl;m2Þ am1;m1 6¼ am;m1 am1;m . m;m For the same m as Pm, right Gauss preconditioners Qm with order m exists if and only if ðr;m2Þ ðr;m2Þ
ðr;m1Þ ðr;m2Þ ¼ am;m am;m
am;m1 am1;m ðr;m2Þ
am1;m1
ðr;m2Þ
6¼ 0;
ðr;m2Þ ðr;m2Þ
ðr;m2Þ which implies am;m am1;m1 6¼ am;m1 am1;m .
ð41Þ
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
621
In terms of (21), we obtain ðr;m2Þ aðl;m2Þ ¼ am;m ; m;m ðl;m2Þ
ðr;m2Þ
am1;m1 ¼ am1;m1 ; ðl;m2Þ
ðr;m2Þ
ðl;m2Þ
ðr;m2Þ
ð42Þ
am;m1 ¼ am;m1 ; am1;m ¼ am1;m : Thus, by expression (40), expression (41) and (42), the proof is completed. h For convenience, the following notations are needed: • B(M): The Jacobi iteration matrix of the matrix M. • T(M): The Gauss–Seidel iteration matrix of the matrix M. • BLm4, BRm4: the Jacobi iteration matrices of Lm4, Rm4, respectively, where, BLm4 ¼ D1 L4 ðE L4 þ F L4 Þ;
ð43Þ
D1 R4 ðER4
ð44Þ
BRm4 ¼
þ F R4 Þ:
• TLm4, TRm4: the Gauss–Seidel iterative matices of Lm4, Rm4, respectively, where, T Lm4 ¼ ðDL4 EL4 Þ1 F L4 ; 1
T Rm4 ¼ ðDR4 ER4 Þ F R4 :
ð45Þ ð46Þ
Lemma 6. If A is an M-matrix, then (1) BLm4 = BRm4; (2) TLm4 = TRm4. Proof. Since A is an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1. ALm 1 and ARm are M-matrices with nonzero diagonal elements, then diagonal matrices D1 L4 and DR4 exist. From Lemma 4, the Eqs. (43)–(46), the results are followed. h Now, we will discuss the properties of Gauss type preconditioners associated with Jacobi, Gauss–Seidel iterative methods, mainly including: (1) The preconditioned matrices of same order left and right Gauss preconditioning methods having the same spectral radii, i.e. q(ARm) = q(ALm). (2) The Jacobi iteration matrices of preconditioned matrices of same order left and right Gauss preconditioning methods having the same spectral radii, i.e. q(BLm) = q(BRm). (3) The Gauss–Seidel iteration matrices of preconditioned matrices of same order left and right Gauss preconditioning methods having the same spectral radii, i.e. q(TLm) = q(TRm). (4) The Jacobi iteration matrices of left (right) Gauss type preconditioned system and its submatrix Lm4 (Rm4) having the same spectral radii, i.e. q(BLm) = q(BLm4) (q(BRm) = q(BRm4)). (5) The Gauss–Seidel iteration matrices of left (right) Gauss type preconditioned system and its submatrix Lm4 (Rm4) having the same spectral radii, i.e. q(TLm) = q(TLm4) (q(TRm) = q(TRm4)). (6) Spectral radii properties on the Jacobi, Gauss–Seidel iteration matrices applied with different order left (right) Gauss preconditioners. Theorem 1. If A is an M-matrix, then qðALm Þ ¼ qðARm Þ;
i:e:; qðP m AÞ ¼ qðAQm Þ:
ð47Þ
622
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
Proof. For A being an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1. !! F L2 DL1 F L1 detðkI ALm Þ ¼ det kI 0 DL4 EL4 F L4 !! DL1 0 ¼ det kI 0 DL4 EL4 F L4 !! DL1 0 ¼ det kI ð48Þ 0 Lm4 and DR1 EL1 0 detðkI ARm Þ ¼ det kI ER3 DR4 ER4 F R4 DR1 0 ¼ det kI 0 DR4 ER4 F R4 DR1 0 ¼ det kI : 0 Rm4
ð49Þ
From Lemmas 3 and 4, we have that DL1 = DR1 and Lm4 = Rm4. Then the two equations det(kI ALm) = 0 and det(kI ARm) = 0 have the same characteristic roots which implies qðARm Þ ¼ qðALm Þ; i.e. q(PmA) = q(AQm).
h
Theorem 2. If A is an M-matrix, then qðBLm Þ ¼ qðBRm Þ;
ð50Þ
qðT Rm Þ ¼ qðT Lm Þ:
ð51Þ
Proof. For A being an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1. ALm 1 1 and ARm are M-matrices with nonzero diagonal elements, then the four diagonal matrices D1 L1 , DL4 , DR1 and 1 DR4 exist. (1) detðkI BLm Þ ¼ det kI
D1 L1 F L1 0
D1 L1 F L2 1 DL4 ðEL4 þ F L4 Þ
D1 R1 ER1 D1 R4 ER3
0
Similarly, we can get detðkI BRm Þ ¼ det kI
D1 R4 ðE R4 þ F R4 Þ
!!
!!
0 0 : ¼ det kI 0 D1 L4 ðE L4 þ F L4 Þ
ð52Þ
0 ¼ det kI 0
ð53Þ
0 D1 R4 ðE R4 þ F R4 Þ
:
From Lemma 4, it gives DL4 = DR4, EL4 = ER4 and FL4 = FR4. Then detðkI BLm Þ ¼ detðkI BRm Þ: Hence, the two equations det(kI BLm) = 0 and det(kI BRm) = 0 have the same characteristic roots. So qðBRm Þ ¼ qðBLm Þ: (2) Since the triangular matrices DL4 EL4 and DR4 ER4 have nonzero diagonal elements, (DL4 EL4)1 and (DR4 ER4)1 exist. From Lemma 4, we have
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633 1
1
ðDR4 ER4 Þ F R4 ¼ ðDL4 EL4 Þ F L4 :
623
ð54Þ
Defining 1
1
T 4 ¼ ðDR4 ER4 Þ F R4 ¼ ðDL4 EL4 Þ F L4 ; then we can write TLm and TRm as ! D1 D1 L1 F L1 L1 F L2 T Lm ¼ ; 0 T4 0 0 T Rm ¼ 1 0 ðDR4 ER4 Þ F R4 0 0 ¼ : 0 T4
ð55Þ
ð56Þ
1 Since diagðD1 L1 F L1 Þ ¼ 0 and DL1 F L1 is a strictly upper triangular matrix, we have 0 0 detðkI T Lm Þ ¼ det kI ¼ detðkI T Rm Þ: 0 T4
Then the two equations det(kI TLm) = 0 and det(kI TRm) = 0 have the same roots. So qðT Lm Þ ¼ qðT Rm Þ:
Remark 1. By Theorem 2, we know the same order left and right Gauss preconditioners have the same convergence rate in Jacobi and Gauss–Seidel iterative methods, respectively. Theorem 3. If A is an M-matrix, then qðBLm Þ ¼ qðBLm4 Þ;
ð57Þ
qðT Lm Þ ¼ qðT Lm4 Þ:
ð58Þ
Proof. (1) We know the Jacobi iteration matrices of ALm and Lm4 are BLm and BLm4. For A being an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1. ALm and ARm are M-matri1 ces with nonzero diagonal elements, then D1 Lm , DL4 exist. Hence, BLm and BLm4 exists. By (52), we have 0 0 detðkI BLm Þ ¼ det kI ¼ kk detðkI nk D1 L4 ðEL4 þ F L4 ÞÞ ðE þ F Þ 0 D1 L4 L4 L4 k ¼ kk detðkI nk D1 L4 ðEL4 þ F L4 ÞÞ ¼ k detðkI nk BLm4 Þ:
Then det(kI BLm) = 0 and det(kInk BLm4) = 0 have the same nonzero characteristic roots. So q(BLm) = q(BLm4). (2) For the matrix DL4 EL4 being a lower triangular matrix and the diagonal elements are all nonzero, then (DL4 EL4)1 exists. By (55), we have !! D1 D1 L1 F L1 L1 F L2 detðkI T Lm Þ ¼ det kI : 1 0 ðDL4 EL4 Þ F L4 Since the matrix D1 L1 F L1 is a strictly upper triangular matrix, so we have 0 0 ¼ kk detðkI nk ðDL4 EL4 Þ1 F L4 Þ ¼ kk detðkI nk T Lm4 Þ; detðkI T Lm Þ ¼ det kI 1 0 ðDL4 EL4 Þ F L4 ð59Þ where Ink is the identity matrix with order n k.
624
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
Then we conclude that det(kI TLm) = 0 and det(kInk TLm4) = 0 have the same nonzero eigenvalues. Then q(TLm) = q(TLm4). The proof is completed. h Theorem 4. If A is an M-matrix, then qðBRm Þ ¼ qðBRm4 Þ;
ð60Þ
qðT Rm Þ ¼ qðT Rm4 Þ:
ð61Þ
Proof. The result (60) is an immediate consequence of Eqs. (50), (57) and Lemma 6. The result (61) is an immediate consequence of Eqs. (51), (58) and Lemma 6.
h
Theorem 5. If A is an M-matrix, then for any 1 6 j 6 i 6 n 1, 0 ¼ qðBL;n1 Þ 6 qðBLi Þ 6 qðBLj Þ 6 qðBL1 Þ 6 qðBÞ 6 1;
ð62Þ
0 ¼ qðBR;n1 Þ 6 qðBRi Þ 6 qðBRj Þ 6 qðBR1 Þ 6 qðBÞ 6 1;
ð63Þ
0 ¼ qðT L;n1 Þ 6 qðT Li Þ 6 qðT Lj Þ 6 qðT L1 Þ 6 qðT Þ 6 1;
ð64Þ
0 ¼ qðT R;n1 Þ 6 qðT Ri Þ 6 qðT Rj Þ 6 qðT R1 Þ 6 qðT Þ 6 1:
ð65Þ
Proof. For A being an M-matrix, from Lemmas 1 and 2, there exist ALm and ARm for any 1 6 m 6 n 1 and ALm, ARm, Lm4 and Rm4 are M-matrices. For A being an M-matrix, from [1, Theorem 2.1], we have qðBÞ 6 1;
qðT Þ 6 1:
For (62): For m = 1, by [1, Theorem 2.1], we have qðBLm Þ ¼ qðBL1 Þ 6 qðBÞ: For m = 2, we still use the Theorem 2.1 in [1] for the submatrix L14 with order n 1, then qðBðL24 ÞÞ 6 qðBðL14 ÞÞ; i.e. qðBLm4 Þ 6 qðBLðm1Þ4 Þ:
ð66Þ
By Theorem 3, we have qðBL1 Þ ¼ qðBLðm1Þ Þ ¼ qðBLðm1Þ4 Þ
ð67Þ
qðBL2 Þ ¼ qðBLm Þ ¼ qðBLm4 Þ:
ð68Þ
and Then, by (66)–(68), we have q(BL2) 6 q(BL1), i.e., qðBLm Þ 6 qðBLðm1Þ Þ;
m ¼ 2:
For 3 6 m 6 n 1: we use the same method proving the cases m = 2 and m = 1 step by step, then qðBL;n1 Þ 6 qðBLi Þ 6 qðBLj Þ 6 qðBL1 Þ 6 qðBÞ 6 1;
m 6 j 6 i 6 n 1:
In addition, since BL,n1 is an upper triangular matrix, then q(BL,n1) = 0. So the result (62) follows. For (63): By Theorem 2, we know that qðBLm Þ ¼ qðBRm Þ;
m ¼ 1; 2; . . . ; n 1:
Then, by (62), (63) follows. For (64): Since the result of Theorem 2.1 in [1] hold for Gauss–Seidel iterative method, we can use the same proving method used to prove the result (62), to prove the result (64).
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
625
For (65): By Theorem 2, we know that qðT Lm Þ ¼ qðT Rm Þ;
m ¼ 1; 2; . . . ; n 1:
Then by the result (64), the result (65) follows. h It should be mentioned that Theorem 5 theoretically confirm the statistical results in [3]. 3. Preconditioning algorithms In this section we study the construction of the left and right Gauss preconditioners in detail. Matlab-like notation is applied in algorithm descriptions. Firstly, we discuss the construction of two kinds of Gauss transformation matrices which are essential to the corresponding Gauss preconditioners. For brevity, we denote one function by GetML with two input parameters A and k and a return parameter Mk which implement the computation to get the matrix Mk by expression (10). Similarly, the function GetMR with the same input parameters as GetML and a return parameter M k is used to implement the computation to get the matrix M k by (13). So these two procedures used to compute the Gauss transformation matrices are given in Algorithms 1 and 2, respectively. Algorithm 1 (Construction of left Gauss transformation matrices) Input: A, m Output: Mm 1. for k = 1 to m, 2. M = GetML(A, k) 3. A=M*A 4. end for 5. Mm = M Algorithm 2 (Construction of right Gauss transformation matrices) Input: A, m Output: M m 1. for k = 1 to m, 2. M = GetMR(A, k) 3. A=A*M 4. end for 5. M m ¼ M Secondly, the normal algorithms computing Pm and Qm are given in the following. We note that Pm = MmMm1 . . . M2M1 and Qm ¼ M 1 M 2 M m1 M m . Algorithm 3 [3], (Constructing left Gauss type preconditioners) Input: A, m Output: P 1. Initialize: 2. P = I 3. T = A 4. Computation for Pm: 5. for k = 1 to m, 6. Set v be zero row vector. 7. v(k + 1: n) = T(k + 1: n, k)/T(k, k)
626
8. 9. 10. 11. 12. 13. 14. 15. 16.
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
if k = 1 then P(k + 1: n, 1) = v(k + 1: n) else for r = k + 1 to n, P(r, 1: k) = P(r, 1: k) + v(r) * P(k, 1: k) end for end if T=P*A end for.
The algorithm computing the right Gauss type preconditioners is based on expression (12) as follows. Algorithm 4 (Constructing right Gauss type preconditioner) Input: A, m Output: Qm 1. Initialize: 2. P = I 3. T = AT 4. Computation for Pm: 5. for k = 1 to m, 6. Set v be n dimension zero column vector. 7. v(k + 1: n) = T(k + 1: n, k)/T(k, k) 8. if k = 1 then 9. P(k + 1: n, 1) = v(k + 1: n) 10. else 11. for r = k + 1 to n, 12. P(r, 1: k) = P(r,1: k) + v(r) * P(k, 1: k) 13. end for 14. end if 15. T = P * AT 16. end for. 17. Qm = PT We note that in general these two kinds of Gauss preconditioners Pm and Qm need not be constructed if we could get the left preconditioned matrices on ALm = PmA, bLm = Pmb for left Gauss preconditioning techniques and the right preconditioned matrices ARm = AQm and Qm. After the left Gauss preconditioning it remains to solve the preconditioned system ALmx = bLm. In addition, after the right Gauss preconditioning, it remains to solve the preconditioned system ARmy = b and x = Qmy. Thirdly, therefore, we could give the improved Gauss type preconditioning algorithms by expression (14) and expression (15) to the preconditioned linear systems. Algorithm 5 (Inbuilt left Gauss type preconditioning techniques) Input: A, b, m Output: ALm, bL, Pm 1. Set n be the order of A 2. P = I 3. for k = 1 to m 4. Set v be n dimension zero column vector. 5. v(k + 1: n) = A(k + 1: n, k)/A(k, k) 6. for r = k + 1 to n 7. A(r, k + 1: n) = A(r, k + 1: n) + v(r) * A(k, k + 1: n)
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
627
b(r) = b(r) + v(r) * b(k) end for A(k + 1: n, k) = 0 for i = 1 to k P(k + 1: n, i) = P(k + 1: n, i) + P(k, i) * v(k + 1: n) end for end for. ALm = A bLm = b Pm = P
The lines 2, 11 to 13, 17 in Algorithm 5 are only used to show the computation procedure of the left preconditioners Pm. We should delete these lines in the actual application. Note that, for m = n 1, Algorithm 5 constructing the left preconditioner of order n 1 become a procedure of Gauss elimination. Algorithm 6 (Inbuilt right Gauss type preconditioning techniques) Input: A, m Output: ARm, Qm 1. Set n be the order of A. 2. Q = I 3. for k = 1 to m 4. Set v be n dimension zero row vector. 5. v(k + 1: n) = A(k, k + 1: n)/A(k, k) 6. for r = k + 1 to n 7. A(k + 1: n, r) = A(k + 1: n, r) + v(r) * A(k + 1: n, k) 8. end for 9. A(k, k + 1: n) = 0 10. for i = 1 to k 11. Q(i, k + 1: n) = Q(i, k + 1: n) + Q(i, k) * v(k + 1: n) 12. end for 13. end for. 14. ARm = A 15. Qm = Q Finally, we study floating point operations of Algorithms 5 and 6. Proposition 1. The number of floating point operations of Algorithm 5 (m order left Gauss preconditioning technique) is 1 mð4m2 mð3 þ 12nÞ þ 12n2 þ 6n 7Þ: 6
ð69Þ
Proof. For computing Gauss vector v, the number of floating point operations in line 5, denoted by Nv, is N v ¼ n k: For computing preconditioned matrix ALm, the number of floating point operations in lines 6–9 except line 8, denoted by NA, is n X 2 2ðn kÞ ¼ 2ðn kÞ : NA ¼ r¼kþ1
For the computing preconditioned right hand vector b, the number of floating point operations in lines 6–9 except line 7, denoted by Nb, is
628
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
N b ¼ 2ðn kÞ: Now the total cost of the kth step of the main loop is N k ¼ N v þ N A þ N b:
ð70Þ
Summing Eq. (70) over k = 1 ! m yields the total number of floating point operation of Algorithm 5 as m m m X X X Nk ¼ Nv þ NA þ Nb ¼ ½ðn kÞ þ 2ðn kÞ2 þ 2ðn kÞ k¼1
k¼1
k¼1
¼ mð2n2 þ 3nÞ ð4n þ 3Þ
mðm þ 1Þ 2mðm þ 1Þð2m þ 1Þ þ 2 6
1 ¼ mð4m2 mð3 þ 12nÞ þ 12n2 þ 6n 7Þ: 6
ð71Þ
Proposition 2. The number of floating point operations of Algorithm 5 (left Gauss preconditioning technique) with m = n 1 is 2 3 1 2 7 n þ n n: 3 2 6
ð72Þ
Proof. Substituting m = n 1 in (69) gives n1 X k¼1
2 1 7 N k ¼ n3 þ n2 n: 3 2 6
ð73Þ
Proposition 3. The number of floating point operations of Algorithm 6 (m order right Gauss preconditioning technique) is 2n2 m nm2
m m2 : 2 2
ð74Þ
Proof. For computing Gauss vector v, the number of floating point operations in line 5, denoted by Nv, is N v ¼ n k: For computing preconditioned matrix ARm, the number of floating point operations in lines 6–8, denoted by NA, is n X 2 2ðn kÞ ¼ 2ðn kÞ : NA ¼ r¼kþ1
For computing preconditioner Q, the number of floating point operations in lines 10–12, denoted by NQ, is N Q ¼ 2kðn kÞ: Now the total cost of the kth step of the main loop is N k ¼ N v þ N A þ N Q:
ð75Þ
Summing Eq. (75) over k = 1 ! m yields the total number of floating point operation of Algorithm 5 as m m m X X X 2 Nk ¼ Nv þ NA þ NQ ¼ ½ðn kÞ þ 2ðn kÞ þ 2kðn kÞ k¼1
k¼1
k¼1
m X mðm þ 1Þ ½ðn þ 2n2 Þ ð1 þ 2nÞk ¼ nð1 þ 2nÞm ð1 þ 2nÞ ¼ 2 k¼1 2 mþ1 m m ¼ mð1 þ 2nÞ n ¼ 2n2 m nm2 : 2 2 2
ð76Þ
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
629
Proposition 4. The number of floating point operations of Algorithm 6 (right Gauss preconditioning technique) with m = n 1 is n3 12 n2 12 n. Proof. Substituting m = n 1 in (74) gives n1 X k¼1
Nk ¼
nð1 þ 2nÞðn 1Þ n2 n ¼ n3 : 2 2 2
Proposition 5. The number of floating point operations of Algorithm 5 (left Gauss preconditioning technique) is always less than that of Algorithm 6 (right Gauss preconditioning technique) for any m 6 n 1 when n P 2. Proof. Subtracting (69) by (74), for any m 6 n 1, then the result, denoted by Nd, yields 1 1 1 N d ¼ mð5 3m þ 2m2 þ 6n 6mnÞ ¼ mð2mðm nÞ þ ð6n 3m 5 4mnÞÞ < mð6n 4mnÞ: 6 6 6 ð77Þ For the case m = 1, we have Nd = 1 < 0. For the cases m P 2, we have Nd < 0 immediately from (77). So, the result is proved. h Remark 2. Comparing Propositions 2 and 4 shows that Algorithm 5 costs n3 ðn2 3n þ 2Þ less floating point operations. Therefore, we conclude that the left Gauss preconditioning techniques are superior to the right Gauss preconditioning techniques concerning the proposed algorithms. Numerical results of comparisons on the flops of Algorithms 5 and 6 are given in Figs. 1 and 2. 4. Numerical experiments Numerical experiments are presented to see the performance of these inbuilt Gauss type preconditioning algorithms (Algorithms 5 and 6) associated with the Jacobi, Gauss–Seidel iterative methods. In all the numerical methods we tested, the initial approximation x(0) is taken as the zero-vector, and the right hand side vector b is chosen so that x ¼ ð1; 1; . . . ; 1ÞT is the solution vector for the considered linear system. We have used kb Ax(k)k/k bk 6 106 as the stopping criteria. The max iteration in iterative methods is 8
10
x 10
Left Gauss Right Gauss 9
The number of floating point operations
8
7
6
5
4
3
2
1
0
0
100
200
300
400
500 m (n=1000)
600
700
800
900
1000
Fig. 1. Comparison on flops of Algorithms 5 and 6 on the case n = 1000.
630
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633 11
10
x 10
Left Gauss Right Gauss 9
The number of floating point operations
8
7
6
5
4
3
2
1
0
0
1000
2000
3000
4000
5000 6000 m (n=10000)
7000
8000
9000
10000
Fig. 2. Comparison on flops of Algorithms 5 and 6 on the case n = 10,000.
limited to 500. All experiments were executed on a PC using the Matlab programming package. Matlab carries out all calculations in double precision by default. In all tables, we report the spectral radius of the corresponding iteration matrix (Radius), the time in seconds for computing the preconditioner (P-time), the time for the iterative part only (It-time), and the number of iterations (Its). Left (1), Right (1), Left (2) and Right (2) are used to denote Algorithms 3–6 respectively. Example 1. Consider the two-dimensional elliptic partial differential equation (Helmholtz) [9]
o2 u o2 u þ uðx; yÞ ¼ 0; ox2 oy 2
on the rectangular region R defined by the inequalities 0 6 x 6 2 and 0 6 y 6 1 with the Dirichlet boundary conditions. We have used two uniform meshes of Dx = 2/21, Dy = 1/21 which leads to a matrix of order n = 20 · 20 where Dx and Dy refer to the mesh sizes in the x-direction and y-direction, respectively. Table 1 Comparisons of left Gauss preconditioning methods with Jacobi iterative method for Example 1 Preconditioner
Classical GS(1) GS(10) GS(50) GS(90) GS(130) GS(170) GS(210) GS(250) GS(290) GS(330) GS(370) GS(399)
Radius
0.987935 0.987935 0.987921 0.987719 0.987074 0.985779 0.983534 0.979719 0.972898 0.959152 0.924344 0.779000 0.302955
Its
815 815 814 800 762 698 611 505 388 266 150 64 43
‘‘Classical’’: the unpreconditioned iterative method.
Left (1)
Left (2)
P-time
It-time
P-time
It-time
0.13 0.81 3.84 6.95 10.03 13.14 16.22 19.31 22.34 25.34 28.27 30.36
7.02 7.34 7.31 7.13 6.83 6.30 5.47 4.64 3.61 2.42 1.41 0.64 0.45
0.02 0.20 0.92 1.45 1.89 2.30 2.53 2.73 2.89 2.92 2.94 3.00
7.02 6.87 6.78 6.73 6.34 5.89 5.08 4.25 3.27 2.22 1.33 0.55 0.36
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
631
Note that in Tables 1–4, for the highest order left and right Gauss preconditioned linear system, here we use the classical Jacobi and Gauss–Seidel to solve the triangular linear systems. Table 2 Comparisons of right Gauss preconditioning methods with Jacobi iterative method for Example 1 Preconditioner
Radius
Its
Classical GS(1) GS(10) GS(50) GS(90) GS(130) GS(170) GS(210) GS(250) GS(290) GS(330) GS(370) GS(399)
0.987935 0.987935 0.987921 0.987719 0.987074 0.985779 0.983534 0.979719 0.972898 0.959152 0.924344 0.779000 0.302955
815 815 814 802 764 700 614 509 391 270 154 64 43
Left (1)
Left (2)
P-time
It-time
P-time
It-time
0.14 0.83 3.88 6.95 10.05 13.17 16.25 19.33 22.38 25.38 28.30 30.39
7.22 7.00 7.02 6.88 6.50 6.05 5.25 4.39 3.41 2.34 1.38 0.61 0.44
0.02 0.11 0.55 0.98 1.42 1.83 2.17 2.61 2.88 3.19 3.41 3.53
7.22 6.94 6.88 6.81 6.44 5.94 5.20 4.33 3.45 2.28 1.31 0.55 0.38
Table 3 Comparisons of left Gauss preconditioning methods with Gauss–Seidel iterative method for Example 1 Preconditioner
Radius
Its
Classical GS(1) GS(10) GS(50) GS(90) GS(130) GS(170) GS(210) GS(250) GS(290) GS(330) GS(370) GS(399)
0.976015 0.976015 0.975988 0.975590 0.974315 0.971762 0.967342 0.959858 0.946551 0.920040 0.854735 0.611080 0.297231
437 437 437 430 410 376 329 273 210 144 87 49 43
Left (1)
Left (2)
P-time
It-time
P-time
It-time
0.14 0.81 3.88 6.94 10.95 13.19 16.27 19.34 22.39 25.33 28.34 30.41
7.06 6.81 6.86 6.55 6.27 6.09 5.02 4.19 3.28 2.25 1.38 0.83 0.73
0.03 0.20 0.89 1.52 2.02 2.30 2.52 2.73 2.89 2.94 2.95 3.00
7.06 6.66 6.69 6.53 7.06 7.45 5.03 4.17 3.22 2.16 1.30 0.75 0.66
Table 4 Comparisons of right Gauss preconditioning methods with Gauss–Seidel iterative method for Example 1 Preconditioner
Classical GS(1) GS(10) GS(50) GS(90) GS(130) GS(170) GS(210) GS(250) GS(290) GS(330) GS(370) GS(399)
Radius
0.976015 0.976015 0.975988 0.975590 0.974315 0.971762 0.967342 0.959858 0.946551 0.920040 0.854735 0.611080 0.000000
Its
437 437 437 430 410 376 329 273 210 144 82 30 2
Left (1)
Left (2)
P-time
It-time
P-time
It-time
0.14 0.81 3.88 6.95 10.06 13.20 16.30 19.38 22.44 25.47 28.73 30.67
6.92 6.72 6.80 6.69 6.39 5.88 5.13 4.27 3.30 2.27 1.33 0.53 0.09
0.02 0.11 0.56 1.00 1.45 1.84 2.19 2.61 2.89 3.19 3.38 3.52
6.92 6.72 6.73 6.61 6.30 5.83 5.06 4.19 3.22 2.20 1.27 0.47 0.03
632
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
From Tables 1–4, we find that the improved inbuilt Gauss preconditioning algorithms (Algorithms 5 and 6) are greatly superior to the non-inbuilt ones (Algorithms 2 and 4). Example 2. Problems set called LANPRO (Lanczos with partial reorthogonalization) from the Harwell-Boeing Collection. Problems matrices Nos1, Nos2 and Nos5 all with nonzero diagonal elements are involved in the experiments. Note that the highest order preconditioned systems are solved by Gauss–Seidel iterative method and direct triangular solving method (Marked with ‘‘Tri’’), respectively. Numerical results are given in Tables 5–7.
Table 5 Comparisons of left Gauss Preconditioning methods with Gauss–Seidel iterative method (Example 2. Nos1 with order n = 237) Preconditioner
Radius
Its
Left (1)
Left (2)
P-time
It-time
Min
Max
Classical GS(1) GS(10) GS(57) GS(104) GS(151) GS(198) GS(236) GS(236)Tri
0.999999 0.999999 0.999999 0.999999 0.999998 0.999996 0.999945 0.000000 0.000000
500 500 500 500 500 500 500 91 –
– 0.02 0.13 0.41 0.74 0.69 0.84 0.97 0.97
3.92 3.62 3.66 3.70 4.02 4.00 3.86 0.70 0.02
0.240140 0.240140 0.124329 0.010632 0.010627 0.010178 0.002500 1.000000 1.000000
2.242217 2.242217 2.242217 2.242217 2.242220 2.242260 2.244213 1.000000 1.000000
‘‘Min’’ : the min entry of the final numerical solution vector. ‘‘Max’’ : the max entry of the final numerical solution vector.
Table 6 Comparisons of Left Gauss preconditioning methods with Gauss–Seidel iterative method (Example 2. Nos5 with order n = 468) Preconditioner
Radius
Its
Left (1)
Left (2)
P-time
It-time
Min
Max
Classical GS(1) GS(10) GS(103) GS(196) GS(289) GS(382) GS(467) GS(467)Tri
0.997904 0.997904 0.997903 0.997893 0.997851 0.997744 0.996816 0.000000 0.000000
500 500 500 500 500 500 500 33 –
– 0.09 0.34 2.39 4.11 4.45 4.78 4.84 4.84
10.55 10.19 10.20 10.23 10.20 10.16 10.25 0.67 0.02
0.417626 0.417129 0.416974 0.413352 0.386359 0.440179 0.650278 1.000000 1.000000
1.008461 1.008470 1.008475 1.008573 1.017740 1.016211 1.053018 1.000000 1.000000
Table 7 Comparisons of left Gauss Preconditioning methods with Gauss–Seidel iterative method (Example 2. Nos2 with order n = 957) Preconditioner
Radius
Its
Classical GS(1) GS(10) GS(201) GS(392) GS(583) GS(774) GS(956) GS(956)Tri
1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.000000 0.000000
500 500 500 500 500 500 500 334 –
Left (1)
Left (2)
P-time
It-time
Min
Max
– 0.19 1.22 17.02 29.45 34.28 35.81 36.33 36.33
32.88 31.64 31.80 34.39 32.25 31.88 31.44 22.69 0.03
4.208663 4.208663 3.746223 0.061133 0.061133 0.061133 0.061133 1.000000 1.000000
6.216589 6.216589 6.216589 6.216589 6.216589 6.216589 6.216589 1.000000 1.000000
Y. Zhang et al. / Applied Mathematics and Computation 188 (2007) 612–633
633
Finally, this paper presents some methods and numerical improvements for preconditioning. Parameterized m-order Gauss preconditioning technique is a natural problem. Further research is required. References [1] A. Hadjidimos, D. Noutsos, M. Tzoumas, More on modifications and improvements of classical iterative schemes for M-matrices, Linear Algebra Appl. 364 (2003) 253–279. [2] J.P. Milaszewicz, Improving Jacobi and Gauss–Seidel iterations, Linear Algebra Appl. 93 (1987) 161–170. [3] Y. Zhang, T.Z. Huang, X.P. Liu, Modified iterative methods for nonnegative matrices and M-matrices linear systems, Comput. Math. Appl. 50 (2005) 1587–1602. [4] G.H. Golub, C.F. Van Loan, Matrix Computations, third ed., The Johns Hopkins University Press, 1996. [5] D.J. Evans, M.M. Martins, M.E. Trigo, The AOR iterative method for new preconditioned linear systems, J. Comput. Appl. Math. 132 (2001) 461–466. [6] A. Berman, P.J. Plemmons, Nonnegative Matrices in the Mathematical Sciences, Academic Press, 1979. [7] T. Kohno, H. Kotakemori, H. Niki, M. Usui, Improving the Gauss–Seidel method for Z-matrices, Linear Algebra Appl. 267 (1997) 113–123. [8] A.D. Gunawardena, S.K. Jain, L. Snyder, Modified iterative methods for consistent linear systems, Linear Algebra Appl. 154–156 (1991) 123–143. ¨ zlu¨, On the numerical solution of Helmholtz equation by alternating group explicit (AGE) methods, Appl. Math. [9] Necdet Bildik, Sevil O Comput. 163 (2005) 505–518.