ArticleslgStudy

computer science

Minimum degree algorithm

Minimum degree algorithm is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Minimum degree algorithm rather than just read about it. In short: 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 can be applied with fewer arithmetic operations.

Key takeaways

  • Minimum degree algorithm belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Minimum degree algorithm to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Minimum degree algorithm from memory before moving on to harder problems.

Reference excerpt

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 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

A x = b {\displaystyle \mathbf {A} \mathbf {x} =\mathbf {b} }

where A is an n × n {\displaystyle n\times n} 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

P T A P {\displaystyle \mathbf {P} ^{T}\mathbf {A} \mathbf {P} } , which is also symmetric, has the least possible fill in its Cholesky factor. We solve the reordered system

( P T A P ) ( P T x ) = P T b . {\displaystyle \left(\mathbf {P} ^{T}\mathbf {A} \mathbf {P} \right)\left(\mathbf {P} ^{T}\mathbf {x} \right)=\mathbf {P} ^{T}\mathbf {b} .}

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 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 a i j ≠ 0 {\displaystyle a_{ij}\neq 0} , 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 upper bound of O ( n 2 m ) {\displaystyle O(n^{2}m)} on its running time, whereas for AMD a tight bound of O ( n m ) {\displaystyle O(nm)} holds. Cummings, Fahrbach, and Fatehpuria designed an exact minimum degree algorithm with O ( n m ) {\displaystyle O(nm)} running time, and showed that no such algorithm can exist that runs in time O ( n m 1 − ε ) {\displaystyle O(nm^{1-\varepsilon })} , for any ε > 0 {\displaystyle \varepsilon >0} , assuming the strong exponential time hypothesis.

References Cummings, Robert; Fahrbach, Matthew; Fatehpuria, Animesh (2021). "A fast minimum degree algorithm and matching lower bound". Proceedings of the 32nd Annual ACM-SIAM Symposium on Discrete Algorithms: 724–734. arXiv:1907.12119. doi:10.1137/1.9781611976465.45. ISBN 978-1-61197-646-5. S2CID 198968052.{{cite journal}}: CS1 maint: periodical has ISBN (link) George, Alan; Liu, Joseph (1989). "The evolution of the minimum degree ordering algorithm". SIAM Review. 31 (1): 1–19. doi:10.1137/1031001. JSTOR 2030845. OSTI 5686483. Heggernes, P.; Eisenstat, S. C.; Kumfert, G.; Pothen, A. (2001), The Computational Complexity of the Minimum Degree Algorithm (PDF) (Technical report), Institute for Computer Applications in Science and Engineering Markowitz, H. M. (1957). "The elimination form of the inverse and its application to linear programming". Management Science. 3 (3): 255–269. doi:10.1287/mnsc.3.3.255. JSTOR 2627454. Archived from the original on September 24, 2017. Rose, D. J. (1972). "A graph-theoretic study of the numerical solution of sparse positive definite systems of linear equations". Graph Theory and Computing. Academic Press. pp. 183–217. ISBN 0-12-583850-6. Tinney, W. F.; Walker, J. W. (1967). "Direct solution of sparse network equations by optimally ordered triangular factorization". Proc. IEEE. 55 (11): 1801–1809. doi:10.1109/PROC.1967.6011.

Worked examples

Example 1 — a first encounter with Minimum degree algorithm

Start with the simplest possible case. Write down what Minimum degree algorithm claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Minimum degree algorithm before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Minimum degree algorithm ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Minimum degree algorithm

In research
Minimum degree algorithm appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Minimum degree algorithm in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Minimum degree algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics Matrix theory, Numerical linear algebra, so understanding it makes those chapters shorter.
In everyday life
Look for Minimum degree algorithm outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Minimum degree algorithm in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Minimum degree algorithm means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Minimum degree algorithm out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Minimum degree algorithm in simple terms?

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…

Why does Minimum degree algorithm matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Minimum degree algorithm?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Minimum degree algorithm.

Tags

  • Matrix theory
  • Numerical linear algebra

Keep exploring