ORS 78 4454 0.16E-05 0.32E-08

F2DB 100 4432 0.47E-05 0.19E-05

¤ #

! ©£¢

¨¨ #%

A test run of ILU(0)-GMRES accelerated with

polynomial preconditioning.

See Example 6.1 for the meaning of the column headers in the table. In fact, the system

is preconditioned by ILU(0) before polynomial preconditioning is applied to it. Degree 10

§

polynomials (maximum) are used. The tolerance for stopping is . Recall that Iters ¢e v

is the number of matrix-by-vector products rather than the number of GMRES iterations.

Notice that, for most cases, the method does not compare well with the simpler ILU(0)

example seen in Chapter 10. The notable exception is example F2DB for which the method

converges fairly fast in contrast with the simple ILU(0)-GMRES; see Example 10.2. An

attempt to use the method for the ¬fth matrix in the test set, namely, the FIDAP matrix

FID, failed because the matrix has eigenvalues on both sides of the imaginary axis and the

code tested does not handle this situation.

™ —t

7 —— p w7 z p — |w z

˜ { { | |

U

“£§

¢ ¢

¡

4 ¢

$#

! § "#

It is interesting to follow the progress of the algorithm in the above examples. For the

¬rst example, the coordinates of the vertices of the upper part of the ¬rst polygon are ¢

¡

} }

C 3x ˜ C 3x

§

0.06492 0.00000

0.17641 0.02035

0.29340 0.03545

0.62858 0.04977

1.18052 0.00000

This hull is computed from the 20 eigenvalues of the Hessenberg matrix result- £¢ d

¢ ¢d

ing from the ¬rst run of GMRES(20). In the ensuing GMRES loop, the outer iteration

converges in three steps, each using a polynomial of degree 10, i.e., there is no further

adaptation required. For the second problem, the method converges in the 20 ¬rst steps of

GMRES, so polynomial acceleration was never invoked. For the third example, the initial

convex hull found is the interval of the real line. The polynomial pre-

©¤ h it §e ¥¢ h

¨e¦ ¤ d

¢– l

conditioned GMRES then convergences in ¬ve iterations. Finally, the initial convex hull

found for the last example is

¡

} }

C 3x ˜ C 3x

§

0.17131 0.00000

0.39337 0.10758

1.43826 0.00000

and the outer loop converges again without another adaptation step, this time in seven steps.

i–” `c“u ’

¥

…

& 5

&

¨

–•

—

The general idea of multicoloring, or graph coloring, has been used for a long time by

numerical analysts. It was exploited, in particular, in the context of relaxation techniques

both for understanding their theory and for deriving ef¬cient algorithms. More recently,

these techniques were found to be useful in improving parallelism in iterative solution

techniques. This discussion begins with the 2-color case, called red-black ordering.

©

§ ©

© ¦ ©

D $"

#!

# $

) D

A 5 S

9 H

) (F

The problem addressed by multicoloring is to determine a coloring of the nodes of the

adjacency graph of a matrix such that any two adjacent nodes have different colors. For

a 2-dimensional ¬nite difference grid (5-point operator), this can be achieved with two

tU™

{f`Apgp wp7k…

| { |}

£¤¢ ¢f

¡

¡ §

¤

colors, typically referred to as “red” and “black.” This red-black coloring is illustrated in

Figure 12.2 for a mesh where the black nodes are represented by ¬lled circles.

¤ §¢

19 20 21 22 23 24

13 14 15 16 17 18

7 8 9 10 11 12

1 2 3 4 5 6

Y% #

3¡

!

Red-black coloring of a grid. Natural la-

¢¤

beling of the nodes.

Assume that the unknowns are labeled by listing the red unknowns ¬rst together, fol-

lowed by the black ones. The new labeling of the unknowns is shown in Figure 12.3.

22 10 23 11 24 12