Advances in Numerical Analysis

Volume 2011, Article ID 703435, 9 pages

http://dx.doi.org/10.1155/2011/703435

## Different Versions of ILU and IUL Factorizations Obtained from Forward and Backward Factored Approximate Inverse Processes—Part I

Department of Applied Mathematics, Sabzevar Tarbiat Moallem University, Sabzevar, Iran

Received 29 August 2011; Accepted 6 October 2011

Academic Editor: Raytcho Lazarov

Copyright © 2011 Amin Rafiei and Fatemeh Shahlaei. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

We present an incomplete UL (IUL) decomposition of matrix which is extracted as a by-product of BFAPINV (backward factored approximate inverse) process. We term this IUL factorization as IULBF. We have used ILUFF [3] and IULBF as left preconditioner for linear systems. Different versions of ILUFF and IULBF preconditioners are computed by using different dropping techniques. In this paper, we compare quality of different versions of ILUFF and IULBF preconditioners.

#### 1. Introduction

Consider the linear system of equations where the coefficient matrix is nonsymmetric, nonsingular, large, sparse, and . Suppose . Linear system is termed left preconditioned system of system (1.1) and matrix is called left preconditioner matrix [1]. System (1.2) is solved by Krylov subspace methods [1].

Suppose that matrix is nonsymmetric. Also, suppose that and are unit lower and upper triangular matrices, respectively, and is a diagonal matrix. FFAPINV (forward factored approximate inverse) Algorithm [2], computes matrices , , and such that relation holds. It is possible to obtain an incomplete (ILU) decomposition of matrix , as a by-product of FFAPINV process, such that is an unit lower triangular and is an upper triangular matrix and Matrix in (1.4) is called ILUFF preconditioner (ILU factorization obtained from forward factored approximate inverse process) [3]. The approximate inverse factors , and in (1.3) and , matrices in (1.4) satisfy the two following relations:

In Algorithms 1 and 2, and refer to th column and th row of matrix A, respectively.

In Section 2 of this paper, we present different dropping strategies for , and , factors of ILUFF preconditioner. In Section 3, we first introduce the IULBF preconditioner and then, we present different dropping strategies for this preconditioner. In Section 4, we present numerical results.

#### 2. Different Versions of ILUFF Preconditioner

Algorithm 1,which has been presented in the next page, computes the ILUFF preconditioner.

Suppose that and are the drop tolerance parameters for and matrices, respectively. We have used two strategies to drop entries of and vectors in ILUFF algorithm.

*(i) First Dropping Strategy*

In this strategy, only line 8 of Algorithm 1 will be run and line 10 will not. In this case, entries and , for are dropped when

*(ii) Second Dropping Strategy*

In this strategy, only line 10 of Algorithm 1 will be run and line 8 will not. In this case, the whole vectors and are computed as
and then, entries and , for , are dropped when criterions (2.1) are satisfied.

We have used two strategies to drop entries of and matrices in ILUFF algorithm.

*(i) Inverse-Based Dropping Strategy*

Let be the same drop tolerance parameter for and matrices and be the same drop tolerance parameter for and matrices. Consider as and as . We drop entries and , for , when criterions (2.1) hold. Then, in line 6 of Algorithm 1, entries and , for , are dropped when

*(ii) Simple Dropping Strategy*

Let and be the drop tolerance parameters for and matrices. In line 6 of Algorithm 1, entries and , for , are dropped when
Different versions of ILUFF preconditioners are computed by using different dropping strategies in Algorithm 1.

*(i) ILUFF1*

In Algorithm 1, first dropping strategy is used to drop entries of and matrices and simple dropping strategy is used to drop entries of and matrices.

*(ii) ILUFF2*

In Algorithm 1, first dropping strategy is used to drop entries of and matrices and inverse-based dropping strategy is used to drop entries of and matrices.

*(iii) ILUFF3*

In Algorithm 1, second dropping strategy is used to drop entries of and matrices and simple dropping strategy is used to drop entries of and matrices.

*(iv) ILUFF4*

In Algorithm 1, second dropping strategy is used to drop entries of and matrices and inverse-based dropping strategy is used to drop entries of and matrices.

#### 3. IULBF Preconditioner and Its Different Versions

Suppose that and are unit upper and lower triangular matrices, respectively, and is a diagonal matrix. BFAPINV algorithm [2, 4] computes matrices , , and such that relation (1.3) holds. We obtain an IUL decomposition of matrix , as a by-product of BFAPINV process, such that is a lower triangular and is an unit upper triangular matrix and

Matrix in relation (3.1) is called IULBF preconditioner (IUL factorization obtained from backward factored approximate inverse process). Algorithm 2 computes the IULBF preconditioner. The approximate inverse factors , , and in (1.3) and , matrices in (3.1) satisfy the two following relations:

Suppose that and are the drop tolerance parameters for and matrices, respectively. We have used two strategies to drop entries of and vectors in IULBF algorithm.

*(i) First Dropping Strategy*

In this strategy, only line 8 of Algorithm 2 will be run and line 10 will not. In this case, entries and , for are dropped when criterions
hold.

*(ii) Second Dropping Strategy*

In this strategy, only line 10 of Algorithm 2 will be run and line 8 will not. In this case, the whole vectors and are computed as
and then, entries and , for , are dropped when criterions (3.3) are satisfied.

We have used two strategies to drop entries of and matrices in IULBF algorithm.

*(i) Inverse-Based Dropping Strategy*

Let be the same drop tolerance parameter for and matrices and be the same drop tolerance parameter for and matrices. Consider as and as . We drop entries and , for , when criterions (3.3) hold. Then, in line 6 of Algorithm 2, entries and , for , are dropped when

*(ii) Simple Dropping Strategy*

Let and be the drop tolerance parameters for and matrices. In line 6 of Algorithm 2, entries and , for , are dropped when
Different versions of IULBF preconditioner are computed by using different dropping strategies in Algorithm 2.

*(i) IULBF1*

In Algorithm 2, first dropping strategy is used to drop entries of and matrices and simple dropping strategy is used to drop entries of and matrices.

*(ii) IULBF2*

In Algorithm 2, first dropping strategy is used to drop entries of and matrices and inverse-based dropping strategy is used to drop entries of and matrices.

*(iii) IULBF3*

In Algorithm 2, second dropping strategy is used to drop entries of and matrices and simple dropping strategy is used to drop entries of and matrices.

*(iv) IULBF4*

In Algorithm 2, second dropping strategy is used to drop entries of and matrices and inverse-based dropping strategy is used to drop entries of and matrices.

#### 4. Numerical Results

In this section, we report results of left preconditioned GMRES(16) method [1]. Preconditioners are ILUFF1, ILUFF2, ILUFF3, ILUFF4, IULBF1, IULBF2, IULBF3, and IULBF4. All coefficient matrices are nonsymmetric and from University of Florida Sparse Matrix Collection [5]. Vector is in which . We have written codes of ILUFF1, ILUFF2, ILUFF3, ILUFF4, IULBF1, IULBF2, IULBF3, IULBF4, and GMRES(16) in MATLAB, and we have run all the experiments on a machine with 1GB of RAM memory. In all the experiments, if the pivot element (lines 11 and 12 of ILUFF and IULBF algorithms) is less than the machine precision, then we replace it by . Density of preconditioners is defined as

in which , , and refer to the number of nonzero entries of , and matrices, respectively. In all the experiments, we have selected ,, , , , , , and equal to 0.1.

Table 1, reports results of GMRES(16) method without preconditioning. In this table, indicates the dimension of the matrix and column indicates whether or not the matrix is positive definite. Yes (no) in this column means that the matrix is (is not) positive definite. time, indicates the iteration time of GMRES(16) without preconditioning and , is the number of iterations of GMRES(16) method. time is in seconds. In this table, + means that there is no convergence after 10,000 iterations. In all the experiments, the stopping criterion is

in which is the th residual vector of the system and is the initial residual vector. In all the experiments, the initial guess is the zero vector.

In Table 2, the information of ILUFF1, ILUFF2, ILUFF3, and ILUFF4 preconditioners are presented and also in Table 3, the information of IULBF1, IULBF2, IULBF3, and IULBF4 preconditioners are presented. In Tables 2 and 3, time is the preconditioning time and density is the density of preconditioner. time is also in seconds.

In Table 4, results of left preconditioned systems by using different versions of ILUFF preconditioner have been presented, and also in Table 5 results of left preconditioned systems by using different versions of IULBF preconditioner have been presented. In Tables 4 and 5, time is the total time which is the sum of preconditioning time and iteration time, and is the number of iterations of left preconditioned GMRES(16). In these tables, + indicates that no convergence has been obtained in 5000 iterations.

#### 5. Conclusion

Results of Tables 1 and 4 show that ILUFF1, ILUFF2, ILUFF3, and ILUFF4 preconditioners are useful tools to decrease the number of iterations of GMRES(16) method and results of Tables 1 and 5 show that IULBF1, IULBF2, IULBF3, and IULBF4 preconditioners are also useful tools to decrease the number of iterations of GMRES(16) method.

Comparison of columns 2 and 6 of Table 4 indicates that sometimes ILUFF3 preconditioner decreases the number of iterations of GMRES(16) method a little bit more than ILUFF1 preconditioner and some other times it is vice versa. Comparison of columns 2 and 4 and columns 6 and 8 of this table, also shows that ILUFF2 preconditioner decreases the number of iterations of GMRES(16) method more than ILUFF1 preconditioner and ILUFF4 preconditioner decreases the number of iterations of GMRES(16) method more than ILUFF3 preconditioner.

Comparison of columns 2 and 6 of Table 5 indicates that IULBF3 preconditioner decreases the number of iterations of GMRES(16) method a little bit more than IULBF1 preconditioner. Comparison of columns 2 and 4 and columns 6 and 8 of this table, also shows that IULBF2 preconditioner decreases the number of iterations of GMRES(16) method more than IULBF1 preconditioner and IULBF4 preconditioner decreases the number of iterations of GMRES(16) method more than IULBF3 preconditioner.

Comparison of columns of Tables 4 and 5 indicate that (except for matrix epb0) different versions of IULBF preconditioner decrease the number of iterations of GMRES(16) method more than different versions of ILUFF preconditioner.

#### References

- Y. Saad,
*Iterative Methods for Sparse Linear Systems*, PWS Publishing, Boston, Mass, USA, 1996. - D. K. Salkuyeh, “A sparse approximate inverse preconditioner for nonsymmetric positive definite matrices,”
*Journal of Applied Mathematics & Informatics*, vol. 28, no. 5-6, pp. 1131–1141, 2010. View at Google Scholar - D. K. Salkuyeh, A. Rafiei, and H. Roohani, “ILU preconditioning based on the FAPINV algorithm,” http://arxiv.org/abs/1010.2812.
- J.-C. Luo, “A new class of decomposition for inverting asymmetric and indefinite matrices,”
*Computers & Mathematics with Applications*, vol. 25, no. 4, pp. 95–104, 1993. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - T. Davis, “University of Florida Sparse Matrix Collection,” http://www.cise.ufl.edu/research/sparse/matrices/.