476 F.D. Swesty
M
L
AM
−1
R
M
R
x = M
L
b (11)
instead of solving (8). The matrices M
L
and M
R
are referred to as left and
right preconditioners respectively. A clever choice of preconditioners may
provide a coefficient matrix M
L
AM
−1
R
that has a better condition number
than does A.
As with accelerators there exists a vast body of literature on precon-
ditioners which is well beyond the scope of this paper. A recent review
by Benzi [BE02] provides a fairly comprehensive bibliography for this sub-
ject. The desire for parallel scalability restricts the choice of precondition-
ers to those that are parallelizable. Many traditional preconditioning tech-
niques that are used with Krylov subspace methods are inherently sequential.
Nevertheless these preconditioning techniques can at times be utilized suc-
cessfully in a parallel context [DM05].
Development of inherently parallel preconditioners is on ongoing area of
research. For this reason we will only briefly mention one particular class
of preconditioners, sparse parallel approximate inverses (SPAI) which have
desirable scalability properties. SPAI preconditioners have been utilized suc-
cessfully on a variety of problems including radiation transport in the flux-
limited diffusion approximation [SS04]. The idea behind SPAI preconditioners
is quite simple. One wishes to exploit the sparsity pattern and the structure
of the coefficient matrix to find an effective approximation to the inverse that
is sparse. The sparsity pattern of an example system arising from the dia-
mond difference spatial closure is shown in Fig. 1 which depicts an 80 × 80
section of the upper left corner of the coefficient matrix A. The values of the
elements in this matrix section are shown as a grayscale map in Fig. 2. The
coefficient matrix A has been row scaled so that the diagonal elements have
a value of unity. Figure 2 clearly shows that dominant off-diagonal elements
lie in bands spaced a distance equal to the number of ordinates (N =16in
this case) away from the diagonal.
A pattern is chosen for the non-zero elements in the approximate inverse.
The choice of pattern may or may not be influenced by the values of the
elements in the true inverse A
−1
. Ideally we would like to find a left or right
approximate inverse by choosing values for the non-zero elements such that
M
L
≈ A
−1
or M
−1
R
≈ A
−1
. The values of the non-zero elements are in
general over-determined but we can find an optimal set of values by doing a
least squares fit to determine the values of the non-zero elements in each row
of M
L
or column of M
−1
R
. For details of this procedure consult [BE02] and
references therein. The inverse A
−1
may have structure that can be exploited
in forming the sparse approximate inverse. An example of this is illustrated in
Fig. 3 where the grayscale image shows the value of each element of the upper-
left 80×80 corner of the inverse of the matrix shown in Fig. 2. One can clearly
see that the dominant elements of the inverse lie along the diagonal and in
bands that are spaced a distance equal to integer multiples of the number of
angular ordinates away from the diagonal. This inverse structure is typical for