Different Versions of Ilu and Iul Factorizations Obtained from Forward and Backward Factored Approximate Inverse Processes—part I

We present an incomplete UL IUL decomposition of matrix A 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.

In Algorithms 1 and 2, A :,j and A j,: refer to jth column and jth row of matrix A, respectively. In Section 2 of this paper, we present different dropping strategies for W, Z and L, U 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.

Different Versions of ILUFF Preconditioner
Algorithm 1,which has been presented in the next page, computes the ILUFF preconditioner.
Suppose that ε Z and ε W are the drop tolerance parameters for Z and W matrices, respectively. We have used two strategies to drop entries of z j and w j 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 z lj and w jl , for l ≤ i < j are dropped when z lj ≤ ε Z , w jl ≤ ε W .

(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 z j and w j are computed as z j e j − w j e T j , z j e j . 4 for i 1 to j − 1 do apply a dropping rule to L ji and to U ij

(ii) Simple Dropping Strategy
Let ε L and ε U be the drop tolerance parameters for L and U matrices. In line 6 of Algorithm 1, entries L ji and U ij , for i < j, 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 W and Z matrices and simple dropping strategy is used to drop entries of L and U matrices.

(ii) ILUFF2
In Algorithm 1, first dropping strategy is used to drop entries of W and Z matrices and inverse-based dropping strategy is used to drop entries of L and U matrices.

(iii) ILUFF3
In Algorithm 1, second dropping strategy is used to drop entries of W and Z matrices and simple dropping strategy is used to drop entries of L and U matrices.

(iv) ILUFF4
In Algorithm 1, second dropping strategy is used to drop entries of W and Z matrices and inverse-based dropping strategy is used to drop entries of L and U matrices.

IULBF Preconditioner and Its Different Versions
Suppose that W w T 1 , . . . , w T n T and Z z 1 , . . . , z n are unit upper and lower triangular matrices, respectively, and D diag d 1 , . . . , d n is a diagonal matrix. BFAPINV algorithm 2, 4 computes matrices W, Z, and D such that relation 1.3 holds. We obtain an IUL decomposition of matrix A, as a by-product of BFAPINV process, such that L is a lower triangular and U is an unit upper triangular matrix and Matrix M 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 W, Z, and D in 1.3 and L, U matrices in 3.1 satisfy the two following relations: Advances in Numerical Analysis

5
Suppose that ε Z and ε W are the drop tolerance parameters for Z and W matrices, respectively. We have used two strategies to drop entries of z j and w j 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 z lj and w jl , for j < i ≤ l 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 z j and w j are computed as and then, entries w jl and z lj , for l ≥ j, are dropped when criterions 3.3 are satisfied.
We have used two strategies to drop entries of L and U matrices in IULBF algorithm.

(i) Inverse-Based Dropping Strategy
Let ε U,W be the same drop tolerance parameter for U and W matrices and ε L,Z be the same drop tolerance parameter for L and Z matrices. Consider ε U,W as ε W and ε L,Z as ε Z . We drop entries z lj and w jl , for j < i ≤ l, when criterions 3.3 hold. Then, in line 6 of Algorithm 2, entries L ij and U ji , for i > j, are dropped when

(ii) Simple Dropping Strategy
Let ε L and ε U be the drop tolerance parameters for L and U matrices. In line 6 of Algorithm 2, entries L ij and U ji , for i > j, 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 W and Z matrices and simple dropping strategy is used to drop entries of L and U matrices.

6
Advances in Numerical Analysis In Algorithm 2, first dropping strategy is used to drop entries of W and Z matrices and inverse-based dropping strategy is used to drop entries of L and U matrices.

(iii) IULBF3
In Algorithm 2, second dropping strategy is used to drop entries of W and Z matrices and simple dropping strategy is used to drop entries of L and U matrices.

(iv) IULBF4
In Algorithm 2, second dropping strategy is used to drop entries of W and Z matrices and inverse-based dropping strategy is used to drop entries of L and U matrices.

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 b is Ae in which e 1, . . . , 1 T . 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 d j lines 11 and 12 of ILUFF and IULBF algorithms is less than the machine precision, then we replace it by 10 −4 . Density of preconditioners is defined as in which nnz L , nnz U , and nnz A refer to the number of nonzero entries of L, U, and A matrices, respectively. In all the experiments, we have selected ε L ,ε U , ε W , ε Z , ε L,Z , ε U,W , ε L,W , and ε U,Z equal to 0.1. Table 1, reports results of GMRES 16 method without preconditioning. In this table, n indicates the dimension of the matrix and PD column indicates whether or not the matrix is positive definite. Yes no in this column means that the matrix is is not positive definite.  Itime, indicates the iteration time of GMRES 16 without preconditioning and it, is the number of iterations of GMRES 16 method. Itime 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 r k is the kth residual vector of the system and r 0 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, P time is the preconditioning time and density is the density of preconditioner. P 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, T time is the total time which is the sum of preconditioning time and iteration time, and it is the number of iterations of left preconditioned GMRES 16 . In these tables, indicates that no convergence has been obtained in 5000 iterations.

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.