Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses...

35
Incomplete factorization Karl Meerbergen KU Leuven October 16, 2013

Transcript of Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses...

Page 1: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Incomplete factorization

Karl Meerbergen

KU Leuven

October 16, 2013

Page 2: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Literature

James Demmel, Applied numerical Linear Algebra, SIAM, 1997.

Gives a good overview of preconditioning techniques.

Anne Greenbaum, Iterative methods for solving linear systems, SIAM,1997.

Gives an excellent overview of Krylov methods. The bookalso briefly discusses preconditioning techniques.

Youcef Saad, Iterative methods for sparse linear systemss, SIAM,2003.

Gives an excellent overview of Krylov methods. The bookalso discusses incomplete factorization techniques.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 2 / 35

Page 3: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

LU-factorization

Linear algebra:A = LU

with L unit lower triangular and U upper triangular

Numerical linear algebra:I Pivoting for stability.I Fill-in when matrices are sparse.I High computational cost O(n3) for a full matrix.

Solving linear system Ax = b with backtransformation:I Ly = bI Ux = y

Karl Meerbergen (KU Leuven) NLA October 16, 2013 3 / 35

Page 4: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

LU-factorization

Algorithm:

for k = 1, . . . , n dofor i = k + 1, . . . , n do

aik = aik/akkfor j = k + 1, . . . , n do

aij = aij − aikakjend for

end forend for

There are six (6) different forms to write this algorithm: the sixpermutations of 3 loops.

This algorithm is the kij form

Different forms are used in different circumstances

Karl Meerbergen (KU Leuven) NLA October 16, 2013 4 / 35

Page 5: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Right-looking LU-factorization

kji form is column oriented and right-looking.

Algorithm:

for k = 1, . . . , n dofor j = k + 1, . . . , n do

ajk = ajk/akkfor i = k + 1, . . . , n do

aij = aij − aikakjend for

end forend for

Karl Meerbergen (KU Leuven) NLA October 16, 2013 5 / 35

Page 6: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Other forms

The six forms:

type orientation updating

kji column right-lookingjki column left-lookingjik column left-lookingkij row right-lookingikj rowijk row

Naming convention from the FORTRAN world where matrices arecolumn oriented.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 6 / 35

Page 7: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Sparse matrix storage formats

Two formats are in use (and a few variations):I Coordinate formatI Compressed sparse column/row format

Illustrate for the following matrix−3.5 1.4 8 −2

−33 2

1 −5−5

.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 7 / 35

Page 8: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Sparse matrix storage formats−3.5 1.4 8 −2

−33 2

1 −5−5

.

Coordinate formatI rows: the row number of the non-zeroI columns: the column number of the non-zeroI values: the value of the non-zero

A possible COO representation for the example is

rows: 1 2 3 3 1 1 4 1 4 5columns: 1 2 3 4 2 4 4 5 5 5values: -3.5 -3 3 2 1.4 8 1 -2 -5 -5

The non-zeroes can be stored in any order: this is one of the greatadvantages of the format.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 8 / 35

Page 9: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Sparse matrix storage formats−3.5 1.4 8 −2

−33 2

1 −5−5

.

Compressed sparse column (row) format Sorting the coordinateformat by column we obtain the following data:

rows r: 1 1 2 3 3 4 1 1 4 5columns c: 1 2 2 3 4 4 4 5 5 5values v: -3.5 1.4 -3 3 2 1 8 -2 -5 -5

Replace the columns array by an array that pointsto the beginning of each column in the array of row numbers and values:

columns c: 1 2 4 5 8 11

Karl Meerbergen (KU Leuven) NLA October 16, 2013 9 / 35

Page 10: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Sparse matrix storage formats

j-th element of column is a pointer to the beginning and end of acolumn

Fast access of a column is thus possible

It simplifies and speeds up matrix operations such as matrix vectorproduct.

For matrix assembly, the coordinate format is much more convenientsince elements can be added in any order.

For matrix assembly, the compressed format requires the use ofinsertion in an array, which is expensive.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 10 / 35

Page 11: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

LU factorization of a sparse matrix

A = LU: L + U is usually denser than A.

× × × ×× ×

× × ×× × × ×

× × ×× × × ×

A = LU =⇒

× × × ×× ×

× × ◦ × ◦× × ◦ × ◦ ×

× ◦ × ×× ◦ × × ×

Factorization: A = (L + D)D−1(D + U) with L strictly lower diagonaland U strictly upper triangular

Factorization:

for k = 1, . . . , n dofor all (i , j) for which ai ,kak,j 6= 0 do

fi ,j = −ai ,kak,j/ak,kaij = ai ,j + fi ,j

end forend for

Karl Meerbergen (KU Leuven) NLA October 16, 2013 11 / 35

Page 12: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

How does it work?

Factorization: A = (L + D)D−1(D + U)

i , j element:

ai ,j =

min(i ,j)∑k=1

li ,kd−1k uk,j

li ,j = ai ,j −j−1∑k=1

li ,kd−1k uk,j (uj ,jd−1j = 1)

ui ,j = ai ,j −i−1∑k=1

li ,kd−1k uk,j (li ,id−1i = 1)

or when A stores L, D−1 and U:

ai ,j = ai ,j −min(i ,j)∑k=1

ai ,kak,j/ak,k

Karl Meerbergen (KU Leuven) NLA October 16, 2013 12 / 35

Page 13: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

How does it work?

Algorithm:

for k = 1, . . . , n dofor all (i , j) for which ai ,kak,j 6= 0 do

fi ,j = −ai ,kak,j/ak,kaij = ai ,j + fi ,j

end forend for

Factorize row k and column k and update all other elements.Done a1,k Done

...

ak,1 · · · ak,kDone Update

Karl Meerbergen (KU Leuven) NLA October 16, 2013 13 / 35

Page 14: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Variations

Some prefer the following decomposition:

A = (L + D)D−1(U + D)

with L strictly lower triangular and U strictly upper triangular

Classical factorization in numerical analysis text books:

A = (L + I )(U + D)

LDU factorizaton:A = (L + I )D(U + I )

Cholesky factorization:

A = (L + D)(L + D)T

where A is symmetric positive definite.

Demo of fill-inKarl Meerbergen (KU Leuven) NLA October 16, 2013 14 / 35

Page 15: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Incomplete factorization

Let S be the sparsity pattern of A: S = {(i , j) : ai ,j 6= 0}.Algorithm:

for k = 1, . . . , n dofor all (i , j)∈ S for which ai ,kak,j 6= 0 do

fi ,j = −ai ,kak,j/ak,kaij = ai ,j + fi ,j

end forend for

Karl Meerbergen (KU Leuven) NLA October 16, 2013 15 / 35

Page 16: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

M-matrix

LU-factorization exists for a positive definite matrix (= Choleskyfactorization, no pivoting required)

Incomplete LU factorization may fail, even when the matrix isnon-singular

Sufficient condition for success:

Definition (A ∈ Cn×n is an M-matrix)

1 aii > 0, for i = 1, . . . , n,

2 aij ≤ 0, i , j = 1, . . . , n, i 6= j , and

3 A is nonsingular and all elements of A−1 are non-negative.

When A is a matrix with non-positive off-diagonal entries, this isequivalent with any of the following statements:

1 The eigenvalues of A have positive real parts.2 A + AT is positive definite.3 All principal minors of A are M-matrices.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 16 / 35

Page 17: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Example

Example:

Laplacian:

L =

4 −1 −1−1 4 −1 −1

−1 4 −1−1 4 −1

−1 −1 4 −1−1 −1 4

Eigenvalues are 1.5858, 3.0000, 3.5858, 4.4142, 5.0000, and 6.4142

Inverse

L−1 =1

2415

712 225 68 208 120 47225 780 225 120 255 12068 225 712 47 120 208

208 120 47 712 225 68120 255 120 225 780 22547 120 208 68 225 712

Karl Meerbergen (KU Leuven) NLA October 16, 2013 17 / 35

Page 18: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Example

Matrix

A =

3 −1 −1 −12 −1

−1 3 −1−1 −1 2 −1

−1 3 −1−1 −1 −1 4

has eigenvalues 0.2246, 1.5249, 2.5493, 3.2019, 4.1355, 5.3638 andhas non-positive off-diagonal elements, so it is an M matrix.

(Full) Cholesky factorization:

L = L+D =

1.7321

0 1.4142−0.5774 0 1.6330−0.5774 −0.7071 −0.2041 1.0607

0 0 −0.6124 −0.1179 1.6159−0.5774 0 −0.2041 −1.2964 −0.7908 1.1485

Karl Meerbergen (KU Leuven) NLA October 16, 2013 18 / 35

Page 19: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Example

Matrix

A =

3 −1 −1 −12 −1

−1 3 −1−1 −1 2 −1

−1 3 −1−1 −1 −1 4

has eigenvalues 0.2246, 1.5249, 2.5493, 3.2019, 4.1355, 5.3638 andhas non-positive off-diagonal elements, so it is an M matrix.

incomplete Cholesky factorization:

L =

1.73210 1.4142

−0.5774 0 1.6330−0.5774 −0.7071 0 1.0801

0 0 −0.6124 0 1.6202−0.5774 0 0 −1.2344 −0.6172 1.3274

Karl Meerbergen (KU Leuven) NLA October 16, 2013 19 / 35

Page 20: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Exampleincomplete Cholesky factorization:

L =

1.73210 1.4142

−0.5774 0 1.6330−0.5774 −0.7071 0 1.0801

0 0 −0.6124 0 1.6202−0.5774 0 0 −1.2344 −0.6172 1.3274

with

R = A− LLT =

0 0 0 0 0 00 0 0 0 0 00 0 0 −0.3333 0 −0.33330 0 −0.3333 0 0 00 0 0 0 0 00 0 −0.3333 0 0 0

.

The eigenvalues of L−1AL−T are 1.0000, 0.5305, 1.3536, 1.0000,1.0000, 1.0000. The spectrum is pretty well clustered around one.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 20 / 35

Page 21: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

ILU

Theorem1 For any M-matrix A and for any sparsity pattern S that contains the

main diagonal elements, there exist unique L and U (L lowertriangular with ones on the main diagonal and U upper triangular)where L + U have the sparsity pattern S, so that

A− (L + D)D−1(U + D) = R

where rij = 0 for all (i , j) ∈ S.

2 For any symmetric M matrix and (symmetric) sparsity pattern Scontaining the main diagonal, there exists a unique lower triangularmatrix L so that

A− (L + D)D−1(U + D) = R

where rij = 0 for all (i , j) ∈ S.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 21 / 35

Page 22: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Modified ILU (MILU)

Modify D so that Ae = (L + D)D−1(D + U)e

Motivation: preconditioner has the same ‘mass’ as the original matrix.

Mathematical explanation: for second order self-adjoint ellipticequations, the ILU preconditioner produces cond((LU)−1A) = O(h−2)while MILU produces cond((LU)−1A) = O(h−1)

Exact factorization of element ai ,j :

n∑j=1

ai ,j =n∑

j=1

min(i ,j)∑k=1

li ,kd−1k uk,j

With dropping strategy:

n∑j=1,(i ,j)∈S

min(i ,j)∑k=1

li ,kd−1k uk,j +n∑

j=1,(i ,j)6∈S

min(i ,j)∑k=1

li ,kd−1k uk,j

Accumulate lost elements in D (the elements that belong toR = A− L · U)

Karl Meerbergen (KU Leuven) NLA October 16, 2013 22 / 35

Page 23: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Modified ILU (MILU)

1: for k = 1, . . . , n do2: for (i , j) for which ai ,kak,j 6= 0 do3: Compute fi ,j = −ai ,kak,j/ak,k .4: if (i , j) ∈ S then5: ai ,j = ai ,j + fi ,j6: else7: ai ,i = ai ,i + fi ,j8: end if9: end for

10: end for

Karl Meerbergen (KU Leuven) NLA October 16, 2013 23 / 35

Page 24: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Other alternatives than MILU

Relaxed ILU (RILU)

1: for k = 1, . . . , n do2: for (i , j) for which ai ,kak,j 6= 0 do3: Compute fi ,j = −ai ,kak,j/ak,k .4: if (i , j) ∈ S then5: ai ,j = ai ,j + fi ,j6: else7: ai ,i = ai ,i + αfi ,j with 0 < α < 18: end if9: end for

10: end for

Helmholtz equation:

−∇2u − k2u = f ⇒ (A− k2I )u = f

A− k2I is indefinite and usually not an M matrix. Instead, build thepreconditioner for A + k2I

Karl Meerbergen (KU Leuven) NLA October 16, 2013 24 / 35

Page 25: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Helmholtz equation

Spectrum of A− k2ISpectrum of(A + k2I )−1(A− k2I )

Spectrum of (A− k2I + i2k2I )−1(A− k2I )

Karl Meerbergen (KU Leuven) NLA October 16, 2013 25 / 35

Page 26: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Additional fill-in

(M)ILU use the sparsity pattern of A for S

The number of nonzero terms in the residualR = A− (L + D)D−1(U + D) can be reduced by using a larger set S .

ILU does not work well for matrices that are not M-matrices.

Various ideas:I Level of fillI Threasholding small absolute valuesI PivotingI Other orderings

Karl Meerbergen (KU Leuven) NLA October 16, 2013 26 / 35

Page 27: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

ILU with level of fill

Fill-in = zero elements of A that become nonzero during factorization.

There is an intuitive feeling that fill-in resulting from other fill-inelements is less important than fill-in coming from non-zero elementsof A.

Definition

Level of fill

Levfill(ai ,j) = min(Levfill(ai ,j),max(Levfill(ai ,k), Levfill(ak,j)) + 1)

Example

0 0 0 00 0

0 0 1 0 1

0 0 1 0 2 0

0 2 0 00 1 0 0 0

Karl Meerbergen (KU Leuven) NLA October 16, 2013 27 / 35

Page 28: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

ILU with level of fill

Compute LevFill:

1: LevFill(ai ,j) = 0 for all (i , j) ∈ S and LevFill(ai ,j) =∞ for all(i , j) 6∈ S .

2: for k = 1, . . . , n do3: for all (i , j) do4: Levfill(ai ,j) =

min(Levfill(ai ,j),max(Levfill(ai ,k),Levfill(ak,j)) + 1)5: end for6: end for

Karl Meerbergen (KU Leuven) NLA October 16, 2013 28 / 35

Page 29: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

ExampleMatrix

A =

3 −1 −1 −12 −1

−1 3 −1−1 −1 2 −1

−1 3 −1−1 −1 −1 4

ILU(1):

L =

1.73210 1.4142

−0.5774 0 1.6330−0.5774 −0.7071 −0 .2041 1.0607

0 0 −0.6124 0 1.6202−0.5774 0 −0 .2041 −1.2964 −0.6944 1.2093

The eigenvalues of (LLT )−1A are 1.0000, 0.8323, 1.0000, 1.0782,1.0000, and 1.0000.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 29 / 35

Page 30: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Example

Note that

A− LLT =

0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 −0.1250 00 0 0 −0.1250 0 00 0 0 0 0 0

For ILU(0), we had

R = A− LLT =

0 0 0 0 0 00 0 0 0 0 00 0 0 −0.3333 0 −0.33330 0 −0.3333 0 0 00 0 0 0 0 00 0 −0.3333 0 0 0

.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 30 / 35

Page 31: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Example

Model for acoustic radiation to infinity

I 72, 976 unkowns

I Finite elements

I Infinite elements for acoustic radiation

I Load consists of ‘rotating modes’.

I Ax = f A(ω) = K + iωC − ω2M

Timings for different preconditioners

ILU(0) ILU(1)P1 P2 P1 P2

72.03 50.01 89.03 88.28

with P1 = ILU for A and P2 = ILU for A((1− i)ω).

ILU(1) requires 1.8 times the memory of ILU(0).

Karl Meerbergen (KU Leuven) NLA October 16, 2013 31 / 35

Page 32: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Threasholding and pivoting

ILU(p) works well for M-matrices. Many problems are not M-matrices

Throw away small elements in the matrix and use a direct solver: thisdoes not work well when all elements are of the same order

Throw away small elements in the factorization (ILUT)

1: for k = 1, . . . , n do2: Compute the elements in row k and column k.3: Throw away all elements smaller than τ‖ak,:‖.4: Keep the largest p elements.5: end for

ILUTP: ILUT with pivotingI Pivoting can help significantly in improving the quality of the

preconditioner. As for direct methods, it is advantageous to pivotelements with large modulus to the main diagonal.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 32 / 35

Page 33: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Multilevel techniques

Also see domain decomposition

ILU is hard to parallelize: the algorithm is sequential in principle.

This parallelization of ILU is a problem similar to the parallelization ofsparse direct methods. This is discussed in another lecture: see thechoice of renumbering and the resulting elimination tree.For ILU, we can use an approach similar to domain decomposition:

A1 A1,4

A2 A2,4A3 A3,4

A4,1 A4,2 A4,3 A4

I

II

A4,1 A4,2 A4,3 I

·

A1 A1,4

A2 A2,4A3 A3,4

S

We have that A4,iA−1i ≈ A4,i and

S ≈ A4 −∑

A4,iA−1i Ai ,4

Karl Meerbergen (KU Leuven) NLA October 16, 2013 33 / 35

Page 34: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Multilevel techniques

In AMRS and IMF, a multilevel approach is adopted, where S isrepeatedly treated in the same way.

D1 U1

L1D2 U2

L2 S2︸ ︷︷ ︸S1

D1 U1

L1D2 U2

L2 S2︸ ︷︷ ︸S1

with L1 ≈ L1D−11 , etc.

ARMSI D, L, U, S are sparse matrices. Li is a sparse approximation of

Ai,i+1D−1i .

IMFI Di is a block diagional matrixI Li is stored as a factored matrix Ai,i+1D−1

i where S−1i is stored

explicitlyI The only approximation is in the Schur complement.

Karl Meerbergen (KU Leuven) NLA October 16, 2013 34 / 35

Page 35: Incomplete factorization - KU Leuvenkarl.meerbergen/didactiek/... · 2013-10-16 · also discusses incomplete factorization techniques. Karl Meerbergen (KU Leuven) NLA October 16,

Multilevel techniquesSparse arithmetic is less efficient than dense arithmetic.ARMS uses sparse matric operationsIn IMF, Di is stored as a dense block diagonal matrix

Karl Meerbergen (KU Leuven) NLA October 16, 2013 35 / 35