# On the Relation between the AINV and the FAPINV Algorithms

Authors: Davod Khojasteh Salkuyeh; Hadi Roohani
Journal: International Journal of Mathematics and Mathematical Sciences
 (2009)

---

## Abstract

The approximate inverse (AINV) and the factored approximate inverse (FAPINV)
are two known algorithms in the field of preconditioning of linear systems of equations. Both of these algorithms compute a sparse approximate inverse of matrixA in the factored form and are based on computing two sets of vectors which are A-biconjugate. The AINV algorithm computes the inverse factors W and Z of a matrix independently of each other, as opposed to the AINV algorithm, where the computations of the inverse factors are done independently. In this paper, we show that, without any dropping, removing the
dependence of the computations of the inverse factors in the FAPINV algorithm results in the AINV algorithm.


---

## Body

## 1. Introduction

Consider the linear system of equations(1.1)Ax=b,
where the coefficient matrix A∈ℝn×n is nonsingular, large, sparse, and x,b∈ℝn. Such linear systems are often solved by Krylov subspace methods such as the GMRES (see Saad and Schultz [1], Saad [2]) and the BiCGSTAB (see van der Vorst [3], Saad [2]) methods in conjunction with a suitable preconditioner. A preconditioner is a matrix M such that Mu can be easily computed for a given vector u and system MAx=Mb is easier to solve than (1.1). Usually, to this end one intends to find M such that matrix M≈A-1(MA≈In), where In is the identity matrix. There are various methods to compute such an appropriate matrix (see Benzi [4], Benzi and Tuma [5], Saad [2]). The factored approximate inverse (FAPINV) (Lee and Zhang [6, 7], Luo [8–10], Zhang [11, 12]) and the approximate inverse (AINV) (see Benzi and Tuma [13, 14]) are among the algorithms for computing an approximate inverse of A in the factored form. In fact both of these methods compute lower unitriangular matrices W and ZT and a diagonal matrix D=diag(d1,d2,…,dn) such that WAZ≈D. In this case, the matrix M=ZD-1W≈A may be used as a preconditioner for (1.1). It is well-known that the AINV algorithm is free from breakdown for the class of H-matrices [13].The main idea of the FAPINV algorithm was first introduced by Luo (see Luo [8–10]). Then the algorithm was more investigated by Zhang in [12]. Since in this procedure the factorization is performed in backward direction, we call it BFAPINV (for backward FAPINV) algorithm. In [11], Zhang proposed an alternative procedure to compute the factorization in the forward direction, which we call it FFAPINV (for forward FAPINV) algorithm. In [7], Lee and Zhang showed that the BFAPINV algorithm is free from breakdown for M-matrices. It can be easily seen that the FFAPINV algorithm is free from breakdown for M-matrices, as well. In the left-looking AINV algorithm (see Benzi and Tuma [13, 14]), the inverse factors are computed quite independently. In contrast, in the FFAPINV algorithm, the inverse factors W and Z are not computed completely independently of each other. In this paper, from the FFAPINV algorithm without any dropping, we obtain a procedure which bypasses this dependence. Then we show that this procedure is equivalent to the left-looking AINV algorithm. In the same way one can see that the right-looking AINV algorithm (see Benzi and Tuma [13]) can be obtained from BFAPINV algorithm.In Section2, we give a brief description of the FFAPINV algorithm. The main results are given in Section 3. Section 4 is devoted to some concluding remarks.


## 2. A Review of the FFAPINV Algorithm

LetW and Z be the inverse factors of A=(aij), that is,
(2.1)WAZ=D,
where W=(w1T,w2T,…,wnT)T, Z=(z1,z2,…,zn), and D=diag(d1,d2,…,dn), in which wi's and zi's are the rows and columns of W and Z, respectively. Using (2.1) we obtain
(2.2)wiAzj={di,i=j,0,i≠j.
From the structure of the matrices W and Z, we have
(2.3)z1=e1,zj=ej-∑i=1j-1αizi,j=2,…,n,(2.4)w1=e1T,wj=ejT-∑i=1j-1βiwi,j=2,…,n,
for some αi's and βi's, where ej is the jth column of the identity matrix.First of all, we see that(2.5)d1=z1TAz1=e1TAe1=a11.
Now let 2≤j≤n be fixed. Then from (2.2) and (2.3) and for k=1,…,j-1, we have
(2.6)0=wkAzj=wkAej-∑i=1j-1αiwkAzi=wkA*j-αkwkAzk=wkA*j-αkdk,
where A*j is the jth column of A. Therefore
(2.7)αi=1diwiA*j,i=1,…,j-1.
In the same manner
(2.8)βi=1diAj*zi,i=1,…,j-1,
where Aj* is the jth row of A. Putting these results together gives the Algorithm 1 for computing the inverse factors of A.Algorithm 1:The FFAPINV algorithm without dropping.
(1) z1:=e1, w1:=e1T and d1:=a11(2) For j=2,…,n,  Do(3)zj:=ej;wj:=ejT(4)For i=1,…,j-1, Do(5)αi:=(1/di)wiA*j;βi:=(1/di)Aj*zi(6)zj:=zj-αizi;wj:=wj-βiwi(7)EndDo(8)dj:=wjAzj(9) EndDoSome observation can be posed here. It can be easily seen that (see, e.g., Salkuyeh [15])
(2.9)dj=wjAzj=zjTAzj=wjAzj=Aj*zj=wjA*j.
In this algorithm, the computations for the inverse factors Z and W are tightly coupled. This algorithm needs the columns of the strictly upper triangular part of A for computing Z and the strictly lower triangular part of A for computing W. A sparse approximate inverse of A in the factored form is computed by inserting some dropping strategies in Algorithm 1.


## 3. Main Results

At the beginning of this section we mention that all of the results presented in this section are valid only when we do not use any dropping. As we mentioned in the previous section the computations for the inverse factorsZ and W are tightly coupled. In this section, we extract a procedure from Algorithm 1 such that the computations for the inverse factors are done independently. We also show that the resulting algorithm is equivalent to the left-looking AINV algorithm.FromWAZ=D we have ZTAZ=ZTW-1D. Obviously, the right-hand side of the latter equation is a lower triangular matrix and diag(ZTAZ)=diag(ZTW-1D). Therefore
(3.1)ziTAzj={di,i=j,0,i<j.
Premultiplying both sides of (2.3) by zkTA, k=1,2,…,j-1, from the left, we obtain
(3.2)zkTAzj=zkTAej-∑i=1j-1αizkTAzi.
Taking into account (3.1), we obtain
(3.3)0=zkTAej-∑i=1k-1αizkTAzi-αkzkTAzk.
Therefore
(3.4)αk=1dkzkTA(ej-∑i=1k-1αizi).
Hence we can state a procedure for computing the inverse factor Z without need to the inverse factor W as follows:(1)
z1:=e1, d1:=a11(2)
Forj=2,…,n,  Do(3)
For i=1,…,j-1, Do(4)
αi:=(1/di)ziTA(ej-∑k=1i-1αkzk)(5)
EndDo(6)
zj:=ej-∑i=1j-1αizi(7)
dj:=zjTAzj(8)
EndDoBy some modifications this algorithm can be converted in a simple form, avoiding extra computations. Lettingqi=ziTA, steps (3)–(7) may be written as follows:(i)
zj:=ej(ii)
Fori=1,…,j-1, Do(iii)
αi:=(1/di)qi(ej-∑k=1i-1αkzk)(iv)
zj:=zj-αizi(v)
EndDo(vi)
qj:=zjTA(vii)
dj:=qjzj.Obviously the parameterαi at step (iii) of this procedure can be computed via
(3.5)αi=1diqizj.
We have AZ=W-1D. This shows that the matrix AZ is a lower triangular matrix. Therefore, since Z is a unit upper triangular matrix, we deduce
(3.6)αi=1diqizj=1diziTAzj=1dieiTAzj=1diAi*zj.
On the other hand from (2.9), in step (7) of this procedure, we can replace dj:=qjzj by dj:=Aj*zj. Now by using the above results we can summarized an algorithm for computing Z as in  Algorithm 2.Algorithm 2:Left-looking AINV algorithm without dropping.
(1) z1:=e1, d1:=a11(2) For j=2,…,n, Do(3) zj:=ej(4) For i=1,…,j-1, Do(5) αi:=(1/di)Ai*zj(6) zj:=zj-αizi(7) EndDo(8) dj:=Aj*zj(9) EndDoThis algorithm is known as the left-looking AINV algorithm . We observe that the left-looking AINV algorithm can be extracted from the FFAPINV algorithm. This algorithm computesZ with working on rows of A. Obviously the factor W can be computed via this algorithm, working on rows of AT. In the same way, one can obtain the right-looking AINV algorithm from the BFAPINV algorithm.


## 4. Conclusions

In this paper, we have shown that the AINV and FAPINV algorithms are strongly related. In fact, we have shown that the AINV algorithm can be extracted from the FAPINV algorithm by some modification. Although, without any dropping, the computation of inverse factors of a matrix by the two algorithms is done in different ways, but the results are the same. Hence many of the properties of each of these algorithms are valid for the other one. For example, in (Benzi and Tuma [13]), it has been shown that the right-looking AINV algorithm without any dropping role is well defined for H-matrices. Therefore we conclude that the BFAPINV algorithm is well defined for H-matrices as well.



---

*Source: 179481-2009-11-24.xml*