You are on page 1of 11

‫‪The Minimum Degree Algorithm‬‬

‫استاد‪ :‬دکتر کاوه‬


‫میثم ترکمانزاده‬
Introduction
Consider
  the system A x= b , where M is a nonsingular real-valued n by n matrix, x is a one
by n vector of variables, and b is a one by n vector of constants. We wish to solve this
system of equations for x . In many applications, A is a large sparse matrix; that is, A has
many zero elements. If the system is solved using Gaussian elimination or some other direct
method, many of the zeros in A may become non-zero. To make the solution process
efficient, we would like to avoid having to explicitly examine the zeros of A, and to keep
the number of non-zero elements small.

Therefore, the nonzero pattern of U consists of all positions which contain nonzero in the
upper triangle of A, plus the fill-in, which is the set of positions of the additional nonzero
generated during the elimination.

There are three strong reasons why fill-in is undesirable:


 Storage must be allocated for the new nonzero
 The computer time required to achieve the factorization increases rapidly when the amount
of fill increases, because many more arithmetic operations are required
 Error bounds increase when the amount of fill increases
Proposal
when A is positive definite pivots can be selected from the
diagonal
the rows and columns of A can be permuted in any way
preserves symmetry, and then elimination can be
performed pivoting sequentially on the diagonal elements
that the amount of fill-in may depend drastically on the
permutation selected
Band and profile methods are methods regard fill-in in a
global manner, and confine it to certain areas of the
matrix
The minimum degree algorithm

The algorithms which try to reduce the fill-in caused by


elimination when the matrix is symmetric, positive definite
and sparse, but has no particular structure.

The minimum degree algorithm (Tinney, 1969)


general purpose pivoting method
simple, cheap and effective
for problems which are not too large
he symmetric version of the Markowitz algorithm for un
symmetric matrices
Central idea of minimum degree

 Toachieve a local minimization of fill-in and number of operations by


selecting, at each stage of elimination and among all possible pivots,
that row and column which introduces the least number of nonzeros in
the triangular factors.

Consider Gauss elimination by columns, which can easily be combined


with the minimum degree algorithm. At the kth stage of elimination the
matrix has zeros in columns 1 to k - 1 below the diagonal

All we have to do is: to examine the active submatrix J formed by rows


k to n and columns k to n of , select a row (or column) with the
minimum number of nonzeros, say row (or column) T 1, and
interchange row 1 with row k and column 1 with column k of the
complete matrix A(k) before performing step k of elimination
Implementing
A 1 2 3 4 5 6 7 8 9 10 11 A 1 2 4 5 6 8 10 3 7 9 11
1 x x x 1 x x x
2 x x x 2 x x x
3 x x x x 4 x x x
4 x x x 5 x x x
5 x x x 6 x x x
6 x x x 8 x x x
7 x x x x 10 x x x
8 x x x 3 x x x x
9 x x x x 7 x x x x
10 x x x 9 x x x x
11 x x x x x x 11 x x x x x x
3 3 4 3 3 3 4 3 4 3 6 3 3 3 3 3 3 3 4 4 4 6

A1 1 2 3 4 5 6 7 8 9 10 11 A1 1 2 4 5 6 8 10 3 7 9 11
1 x x x 1 x x x
2 x x x 2 x x x
3 x x x x 4 x x x
4 x x x 5 x x x
5 x x x 6 x x x
6 x x x 8 x x x
7 x x x x 10 x x x
8 x x x 3 x x x x
9 x x x x 7 x x x x
10 x x x 9 x x x x
11 x x x x x x 11 x x x x x x

fill-in 2 fill-in 2
Implementing
A2 1 2 3 4 5 6 7 8 9 10 11 A2 1 2 4 5 6 8 10 3 7 9 11
1 x x x 1 x       x   x        
2 x   x         x     2   x x           x    
3 x x x x 4     x           x x  
4     x     x   x     5       x   x   x      
5 x x x 6         x   x   x    

6 x x x 8       x   x         x

7 x x x x 10         x   x       x
8 x x x 3       x       x   x x
9     x   x     x   x 7     x         x x   x
10 x x x 9     x   x       x x x
11 x x x x x x 11           x x x x x x

fill-in 2 fill-in 3
A3 1 2 3 4 5 6 7 8 9 10 11 A3 1 2 4 5 6 8 10 3 7 9 11
1 x x x 1 x       x   x        
2 x x x 2   x x           x    
3 x   x   x       x 4     x           x x  
4 x x x 5       x   x   x      
5     x   x x     x 6         x   x   x    
6 x x x 8       x   x         x
7   x x   x       x 10         x   x       x
8 x x x 3       x       x   x x
9 x x x x 7               x x x x
10 x x x 9         x       x x x
11     x   x x x x x 11           x x x x x x

fill-in 4 fill-in 1
Implementing

A4 1 2 3 4 5 6 7 8 9 10 11 A4 1 2 4 5 6 8 10 3 7 9 11
1 x x x 1 x       x   x        
2 x x x 2   x x           x    
3 x x x x 4     x           x x  
4 x x x 5       x   x   x      
5 x x x x 6         x   x   x    
6 x x x 8           x   x     x
7 x x x x 10         x   x       x
8 x x x 3           x   x   x x
7               x x x x
9 x x x x
9         x       x x x
10 x x x
11           x x x x x x
11 x x x x x x

fill-in 2 fill-in 2
A5 1 2 3 4 5 6 7 8 9 10 11 A5 1 2 4 5 6 8 10 3 7 9 11
1 x x x 1 x       x   x        
2 x x x 2   x x           x    
3 x x x x 4     x           x x  
4 x x x 5       x   x   x      
5 x x x x 6         x   x   x    
6 x x x 8           x   x     x
7 x x x x 10             x   x   x
8 x x x 3           x   x   x x
9 x x x x 7               x x x x
9             x   x x x
10 x x x
11           x x x x x x
11 x x x x x

fill-in 2 fill-in 2
Implementing
A6 1 2 3 4 5 6 7 8 9 10 11 A6 1 2 4 5 6 8 10 3 7 9 11
1 x         x       x   1 x       x   x        
2   x   x         x     2   x x           x    
3     x   x   x       x 4     x           x x  
4       x     x   x     5       x   x   x      
5         x   x x     x 6         x   x   x    
6           x     x x   8           x   x     x
7             x x x   x 10             x   x   x
8             x x     x 3               x   x x
9             x   x x x 7               x x x x
10                 x x x 9             x   x x x
11             x x x x x 11             x x x x x

fill-in 2 fill-in 0
A7 1 2 3 4 5 6 7 8 9 10 11 A7 1 2 4 5 6 8 10 3 7 9 11
1 x         x       x   1 x       x   x        
2   x   x         x     2   x x           x    
3     x   x   x       x 4     x           x x  
4       x     x   x     5       x   x   x      
5         x   x x     x 6         x   x   x    
6           x     x x   8           x   x     x
7             x x x   x 10             x   x   x
8               x x   x 3               x   x x
9               x x x x 7               x x x x
10                 x x x 9                 x x x
11               x x x x 11               x x x x

fill-in 2 fill-in 0
Implementing

A8 1 2 3 4 5 6 7 8 9 10 11 A8 1 2 4 5 6 8 10 3 7 9 11
1 x         x       x   1 x       x   x        
2   x   x         x     2   x x           x    
3     x   x   x       x 4     x           x x  
4       x     x   x     5       x   x   x      
5         x   x x     x 6         x   x   x    
6           x     x x   8           x   x     x
7             x x x   x 10             x   x   x
8               x x   x 3               x   x x
9                 x x x 7                 x x x
10                 x x x 9                 x x x
11                 x x x 11                 x x x

fill-in 0 fill-in 0
A9 1 2 3 4 5 6 7 8 9 10 11 A9 1 2 4 5 6 8 10 3 7 9 11
1 x         x       x   1 x       x   x        
2   x   x         x     2   x x           x    
3     x   x   x       x 4     x           x x  
4       x     x   x     5       x   x   x      
5         x   x x     x 6         x   x   x    
6           x     x x   8           x   x     x
7             x x x   x 10             x   x   x
8               x x   x 3               x   x x
9                 x x x 7                 x x x
10                   x x 9                   x x
11                   x x 11                   x x
fill-in 0

fill-in 0
Implementing

A9 1 2 3 4 5 6 7 8 9 10 11 A10 1 2 4 5 6 8 10 3 7 9 11
1 x         x       x   1 x       x   x        
2   x   x         x     2   x x           x    
3     x   x   x       x 4     x           x x  
4       x     x   x     5       x   x   x      
5         x   x x     x 6         x   x   x    
6           x     x x   8           x   x     x
7             x x x   x 10             x   x   x
8               x x   x 3               x   x x
9                 x x x 7                 x x x
10                   x x 9                   x x
11                     x 11                     x
fill-in 0 fill-in 0

Total fill in 16 Total fill in 10

You might also like