Minimum degree algorithm
In numerical analysis the minimum degree algorithm is an algorithm used to permute the rows and columns of a symmetric sparse matrix before applying the Cholesky decomposition, to reduce the number of non-zeros in the Cholesky factor. This results in reduced storage requirements and means that the Cholesky factor, or sometimes an incomplete choleski factor used as a preconditioner (for example in the preconditioned conjugate gradient algorithm) can be appled with fewer aritmetic operations.
Minimum degree algorithms are often used in the finite element method where the reordering of nodes can be carried out depending only on the topology of the mesh, rather than the coeficients in the partial differential equation, resulting in efficency savings when the same mesh is used for a variety of coefficient values.
Given a linear system
where A is an real symmetric sparse square matrix the Cholesky factor L will typically suffer 'fill in', that is have more non-zeros than the upper triangle of A. We seek a permutation matrix P , so that the matrix , which is also symmetric, has the least possible fill in in its Cholesky factor. We solve the reordered system
The problem of finding the best ordering is an NP-complete problem and is thus intractable, so heuristic methods are used instead. The minimum degree algorithm is derived from a method first propsed by Markowitz in 1959 for non-symmetric linear programming problems, which is loosely described as follows. At each step in Gaussian elimination row and column permutations are performed so as to minimize the number of off diagonal non-zeros in the pivot row and column. A symmetric version of Markowitz method was descrived by Tinney and Walker in 1967 and Rose later derived a graph theoretic version of the algorithm where the factorization is only simulated, and this was named the minimum degree algorithm. The graph refered to is the graph with n vertices, with vertices i and j connected by an edge when , and the degree is the degree of the vertices. A crucial aspect of such algorithms is a tie breaking strategy when there is a choice of renmbering resulting in the same degree.
A version of the minimum degree algorithm is implemented in the MATLAB function symmmd.
References
- H. M. Markowitz, The elimination form of the inverse and its application to linear programming, Management Sci., 3 , 255-269, 1957
- Alan George and Joseph Liu. The evolution of the Minimum Degree Ordering Algorithm, SIAM Review, 31,1-19, 1989.
- W. F. Tinney and J. W. Walker, Direct solution ofsparse network equations by optimally ordered triangular factorization, Proc. IEEE, 55, 1801-1809, 1967
- D. J. Rose, A graph-theoretic study of the numerical solution of sparse positive definite systems of linear equations, in Graph Theory and Computing, R. C. Read, ed., Academic Press, 1972, 183-217.