Gaussian elimination on the original matrix results in disastrous ¬ll-ins. Speci¬cally, the

L and U parts of the LU factorization are now dense matrices after the ¬rst step of Gaus-

sian elimination. With direct sparse matrix techniques, it is important to ¬nd permutations

of the matrix that will have the effect of reducing ¬ll-ins during the Gaussian elimination

process.

To conclude this section, it should be mentioned that two-sided nonsymmetric permu-

tations may also arise in practice. However, they are more common in the context of direct

methods.

¤ ¥¤ ¥¤ ¦

¡¡ (B §2©¥! ¥§ ! 6 !

6

¨§¨

The type of reordering, or permutations, used in applications depends on whether a direct

or an iterative method is being considered. The following is a sample of such reorderings

which are more useful for iterative methods.

ud

¡ ¤§ ¥ §¢

¡

¡© © ¢ ¡ ¥ ¥ © ¡ ¥

§

7

6 8

9

5 1

4 2

3

T © ¥ ¡¢ D

Pattern of a 9 9 arrow matrix and its adjacency

graph.

3

4 2

5 9 1

6 8

7

¥ ¡¢

D £T ©

Adjacency graph and matrix obtained from above

¬gure after permuting the nodes in reverse order.

Level-set orderings. This class of orderings contains a number of techniques that are

based on traversing the graph by level sets. A level set is de¬ned recursively as the set

of all unmarked neighbors of all the nodes of a previous level set. Initially, a level set

consists of one node, although strategies with several starting nodes are also important

and will be considered later. As soon as a level set is traversed, its nodes are marked and

numbered. They can, for example, be numbered in the order in which they are traversed. In

addition, the order in which each level itself is traversed gives rise to different orderings.

For instance, the nodes of a certain level can be visited in the natural order in which they

are listed. The neighbors of each of these nodes are then inspected. Each time, a neighbor

of a visited vertex that is not numbered is encountered, it is added to the list and labeled as

d nd¡ £ ¨¡ d¥ $ ¥ £ ”¤§¤

u © n ¥ u§¥ ¡¡

¤ §¥ ¡ ©

¨

¤©

¡ ¥

the next element of the next level set. This simple strategy is called Breadth First Search

(BFS) traversal in graph theory. The ordering will depend on the way in which the nodes

are traversed in each level set. In BFS the elements of a level set are always traversed in

the natural order in which they are listed. In the Cuthill-McKee ordering the elements of a

level set are traversed from the nodes of lowest degree to those of highest degree.

¡¤q G ¥¦¤¢

¦£ „

¦ " !6 B ¢ 9% § § & ¦¤ ¨ T

B "% ©

© B $

¨

§

Q F ©

© ¢ ¨¦¤¢

§¥£¡

0

1. Input: initial node ; Output: permutation array .

Q•B ¢ ˜ 0 y rB ¤ Q ‚

)

!

¤ ¤ ¤ ¦

2. Start: Set ; ;

0 s ¥¦¤©

§ £¡

0''

¤

3. Set ;

C˜ ¢

C

¤ ¦

4. While (˜ ) Do:

¢ ¢ ¤ Q ¢

¤ ¤ ¤

¦

5.

¤ ¤

6. Traverse in order of increasing degree and ¤ Q

7. for each visited node Do:

C wB ' ' ‚ ¢ ¢ 7

¤

8. For each neighbor of such that Do:

¤˜ B Q © rB ' ' ‚ ¤ ¤ ¤

¦

9. Add to the set

¢ C ¢

s C ¢ ¨¥¦£¤©

¡