Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Minimum degree algorithm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Matrix manipulation algorithm}} In [[numerical analysis]], the '''minimum degree algorithm''' is an [[algorithm]] used to permute the rows and columns of a [[symmetric matrix|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 can be applied with fewer arithmetic operations. (Sometimes it may also pertain to an incomplete Cholesky factor used as a preconditioner—for example, in the preconditioned conjugate gradient algorithm.) 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 on the coefficients in the partial differential equation, resulting in efficiency savings when the same mesh is used for a variety of coefficient values. Given a linear system :<math> \mathbf{A}\mathbf{x} = \mathbf{b}</math> where '''A''' is an <math>n \times n</math> 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 <math>\mathbf{P}^T\mathbf{A}\mathbf{P}</math>, which is also symmetric, has the least possible fill in its Cholesky factor. We solve the reordered system :<math> \left(\mathbf{P}^T\mathbf{A}\mathbf{P}\right) \left(\mathbf{P}^T\mathbf{x}\right) = \mathbf{P}^T\mathbf{b}.</math> 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 proposed by [[Harry Markowitz|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 described 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 referred to is the graph with ''n'' vertices, with vertices ''i'' and ''j'' connected by an edge when <math>a_{ij} \ne 0</math>, 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 renumbering resulting in the same degree. A version of the minimum degree algorithm was implemented in the [[MATLAB]] function '''symmmd''' (where MMD stands for multiple minimum degree), but has now been superseded by a symmetric approximate multiple minimum degree function '''symamd''', which is faster. This is confirmed by theoretical analysis, which shows that for graphs with ''n'' vertices and ''m'' edges, MMD has a tight [[Big O notation|upper bound]] of <math>O(n^2m)</math> on its running time, whereas for AMD a tight bound of <math>O(nm)</math> holds. Cummings, Fahrbach, and Fatehpuria designed an exact minimum degree algorithm with <math>O(nm)</math> running time, and showed that no such algorithm can exist that runs in time <math>O(nm^{1-\varepsilon})</math>, for any <math>\varepsilon > 0</math>, assuming the [[strong exponential time hypothesis]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)