Longest increasing subsequence Created 2026-09-28 Updated 2026-10-14
A longest increasing subsequence is an increasing subsequence of maximum length. Write that length as , with for the empty sequence; a nonempty input has . Several selections can attain the same maximum. Here uses the weak convention ; write for the maximum length of a strictly increasing subsequence. For , these lengths are three and one respectively; for an input with distinct values they agree.
For , the answer is , attained at indices , while . One useful interpretation is the smallest number of deletions needed to make the surviving sequence nondecreasing:Indeed, keeping a longest increasing subsequence attains this bound, and any valid remaining sequence is an increasing subsequence, so cannot have more than terms. In this example the answer is . This makes a measure of how much order can be recovered without moving any observation.
A table that ends at each position. Let be the maximum length of an increasing subsequence ending specifically at position . The dynamic programming recurrence relation isThe zero covers a selection consisting only of . Otherwise its penultimate index is an eligible ; append to an optimal selection ending there. Fill entries in increasing index order. For strictly increasing subsequences, change the comparison to . The strict version and reconstruction are developed in University of Toronto, CSC373 tutorial 4 solutions (2018), exercise 2; the weak version follows by allowing equality at the append step.
In the worked input, the weak table is and the strict table is . At the second , equality extends the first in the weak table. The final entry is only one, although the optimum is four: the best increasing subsequence need not finish at the last input position. Record a maximizing predecessor whenever . Following these stored indices from any position maximizing , then reversing them, gives an actual longest increasing subsequence. For the weak example the backward chain is .
Skipping positions and allowing equal values changes the optimum
. An original toy input, not measured data. The colored selection keeps indices and values . The two dynamic programming rows give the best lengths ending at every position; the backward arrows reconstruct the weak longest increasing subsequence. Details.Scanning all earlier positions for each uses time complexity and space complexity for lengths and predecessors, using Big O notation and assuming constant-time comparisons and operations on indices.
Keep the easiest ending to extend. The faster algorithm maintains a minimum-tail table for increasing subsequences: is the smallest final value of any length- increasing subsequence in the processed prefix. For equal lengths, a smaller ending permits every future extension allowed by a larger ending. Thus only one best ending per length is needed. The table is nondecreasing, since removing the last term of a length- selection gives . Start with an empty table. On reading , use binary search to find the first entry strictly greater than : replace it by , or append if there is no such entry. Its position is one beyond the longest existing length whose ending is at most . See Liben-Nowell, Vee and Zhu, section 3.1 and Figure 1.
Duplicates determine the binary search rule: weak increase replaces the first , whereas strict increase replaces the first . In Python these positions are returned by
bisect_right(T, v) and bisect_left(T, v) respectively, counting positions from zero. Replace an entry or append; do not insert and shift the remaining entries. The documented equality rules are in Python documentation, bisect_left and bisect_right. Each search takes comparisons, giving time complexity , conventionally for , and space complexity for the weak length alone.Two binary-search tie rules give different minimum-tail tables
. Original exact traces for the same toy input, not measured data. Each cell shows a tail value and the input index supplying it; the outlined cell was updated in that row. At the second , the weak algorithm appends and the strict algorithm replaces. The final weak table has length four, but its supplier indices are not in increasing order. Details.A length certificate needs separate reconstruction. The final weak tail values are , but they do not form an increasing subsequence of this input: the zero occurs last. Each table entry certifies a selection of its own length; the entries need not come from one compatible selection. To recover a longest increasing subsequence during the fast algorithm, store a supplier index for each tail and a predecessor index for each input position. Before replacing slot , save , or no predecessor if , then set . Later replacements leave saved unchanged. Follow predecessors from the final and reverse. This uses space complexity and returns indices for the weak trace. The same construction works with the strict comparator; compare the two auxiliary arrays in CP Algorithms contributors, restoring the subsequence after binary search.
Deleting or changing one term. If deletes position , thenDeleting cannot create a longer increasing subsequence; removing position from a previously optimal selection loses at most one term. If instead changes just the value at position , both inputs have the same deleted sequence, so their lengths each lie between its length and its length plus one. Consequently . These bounds also hold for strictly increasing subsequences. In the weak example, deleting either lowers the length to three, while deleting the final zero leaves it four. This is a Lipschitz bound for single-term edits, regardless of the numerical size of a replacement. Insertion has the same bound by reversing deletion, so insertions, deletions or replacements can change by at most .
For historical context, [ref]
https://doi.org/10.1016/0012-365X(75)90103-X. Fredman, On computing the length of longest increasing subsequences (1975)
studies the comparison count for distinct elements of a totally ordered set. Its distinctness assumption makes the weak and strict conventions coincide. No distinctness assumption is needed for the comparator-specific algorithms above. Mathematical induction Created 2026-09-24 Updated 2026-10-14
A mathematical induction proof establishes a property for every integer by proving its induction base case and its inductive step. If a counterexample existed, the well-ordering principle would give a least one; its predecessor and the inductive implication exclude it. The starting case excludes a counterexample at .
The useful idea is to cover infinitely many cases with two finite pieces of reasoning. The induction base case starts the chain, and the inductive step shows that success at an arbitrary stage propagates to the next. It is especially natural when a construction adds one item at a time: another row of a diagram, another input processed by an algorithm, or another term of a sequence. The loop invariant method is the same propagation idea applied to successive stages of a computation.
For the triangular number , the proposed formula is . At , both sides are one. Assuming the formula for a fixed positive integer , add the next row:This is the desired formula at , proving the inductive step. For example, and ; these numerical cases illustrate the general step rather than replace it.
Adding the next row gives the induction step; rearranging two triangular arrays gives the same formula geometrically
. Details. The second picture explains where the formula comes from: two copies of the triangular arrangement tile an by rectangle. Thus . The mathematical induction argument certifies how the formula continues, while the rearrangement makes its factors visible. Neither picture is restricted to the five rows drawn: both constructions are specified for every positive integer .
Numerical analysis Created 2026-09-24 Updated 2026-10-14
Numerical analysis designs algorithms that approximate mathematical answers while controlling cost and error. Its central question is how much of a computed answer can be trusted. Finding a zero of a function, evaluating an integral, solving a linear system, and evolving an ordinary differential equation all demand choices about accuracy, work, and the information available. MIT's numerical-methods course explicitly treats performance and accuracy as joint concerns.[ref]
https://ocw.mit.edu/courses/18-335j-introduction-to-numerical-methods-spring-2019/pages/week-1/. Steven G. Johnson, MIT 18.335J, Week 1, 2019
Three questions organize error analysis. Truncation error measures the approximation introduced by an algorithm even in exact arithmetic; roundoff error comes from finite precision; the condition number measures sensitivity inherent in the problem. Numerical stability asks how the chosen algorithm propagates perturbations. These distinctions suggest different remedies: refine an approximation, change precision or arithmetic, or improve the accuracy of the input.
For example, the square root has relative condition number for : a small relative change in produces about half that relative change in . In contrast, has relative condition number . Changing to changes to about : an input change of about produces an output change of about . This sensitivity exists even with exact arithmetic. MIT's conditioning lecture separates the condition number from roundoff error in precisely this way.[ref]
https://ocw.mit.edu/courses/18-335j-introduction-to-numerical-methods-spring-2019/pages/week-2/. Steven G. Johnson, MIT 18.335J, Lecture 5: Condition Numbers, 2019
Numerical method 2026-10-14
A numerical method is an algorithm for computing an exact or approximate solution to a mathematical problem through finitely many arithmetic operations and other prescribed steps. For example, Gaussian elimination solves a linear system exactly in exact arithmetic, whereas finite precision can introduce roundoff error.
One-row in-place Life update 2026-10-13
On a finite rectangular Conway's Game of Life board stored as an array of Boolean variables, retain the preceding row's old values in one auxiliary row. Before overwriting a column, retain rolling sums of the old three-cell vertical columns. Their sum minus the old center is the old neighbor count. Read the next column before changing the current one; replace the saved row entry by the old current cell. The invariant is that every count uses the previous generation, just as in the two-array algorithm. For a board with rows and columns this uses auxiliary storage and time. The boundary convention must still be implemented explicitly. The Life blinker and Life glider provide exact expected generations for checking it.
Past exam of the mathematics course of the University of Cambridge 2001 iii Paper 16 4 Solution Created 2026-10-03 Updated 2026-10-14
For tetrahedra, a normal surface has a vector counting four triangle types and three quadrilateral types in each tetrahedron. On every glued face, the numbers of arcs of each of its three types must agree on the two sides. These give homogeneous integer linear equationsFor closed surfaces the coordinates of disks meeting an unglued boundary face must also vanish. The nonnegativity and matching equations are not the whole admissibility condition: in each tetrahedron at most one of its three quadrilateral coordinates can be nonzero. Conversely, for an admissible vector, arrange the prescribed parallel disks and glue their face arcs in order. This reconstructs an embedded normal surface, unique up to normal isotopy.
A fundamental normal surface corresponds to a nonzero admissible vector which cannot be written as with both and nonzero admissible vectors. These indecomposable vectors form a fundamental set: every admissible vector is their finite sum. To find them, fix which quadrilateral type is allowed in each tetrahedron. This leaves the integer points of a rational polyhedral cone , with some coordinates set to zero. Compute its Hilbert basis of a rational cone, for example by subdividing into rational simplicial cones and enumerating the lattice points in their fundamental parallelepipeds along with their integral ray generators, then removing decomposable generators. Repeat the finite list of quadrilateral choices, remove duplicates, and remove vectors decomposable in their compatible sector. Finiteness follows because each of these pointed rational cones has a finite Hilbert basis.
Let be the link exterior. By Alexander duality, for a two-component linkAn embedded connected closed surface separates ; its mod-two class is nonzero exactly when the two link components lie on different sides. The connectedness qualification matters: two parallel splitting spheres form a disconnected surface with zero total class. We use the criterion only for connected surfaces.
Normalize a splitting sphere by isotopy, disk compressions and removal of components lying inside tetrahedra. A compression replaces a sphere by two spheres whose mod-two classes add to the old class; at least one is still a splitting sphere. The discarded tetrahedral spheres have zero class. Thus there is a normal splitting sphere. Choose one, , of least normal surface weight.
Suppose its vector is decomposable. Realize as a Haken sum, choosing a decomposition with the least possible number of intersection curves. Two elementary exchange observations are useful. First, and can be taken connected. If their total union has more than two components, perform regular exchanges connecting components until exactly two embedded groups remain, resolving any intersections within each group. Since the final sum is connected, this can be done before the last joining exchange; it uses up at least one of the old intersection curves. The resulting two normal surfaces still have total vector , contradicting minimality. Second, no intersection curve separates both and . If it did, resolve that curve first: the two separated sides give two groups. Resolve any remaining self-intersections within each group and continue exchanges between groups only while the result remains disconnected. Just before the exchange making the final connected surface, there are again exactly two embedded normal groups with fewer intersection curves. Both assertions follow from the local four-bank resolution at an intersection circle; internal crossings are resolved before regarding a group as one embedded summand.
Every closed embedded surface in is orientable. Additivity of Euler characteristic in the Haken sum givesFor connected orientable closed surfaces the positive Euler characteristic is , and the only zero Euler characteristic is that of a torus. Thus one summand, say , is a sphere and the other is a torus. Both have smaller weight than . The sphere cannot split the link by minimality, soEach intersection circle separates the sphere , so the second exchange observation makes it nonseparating on . In particular, these circles are essential parallel curves on the torus.
Cut along the intersection circles. There are at least two innermost disk patches. Choose one of smallest weight, ; then . Its interior misses , and its boundary is essential on . Compress the torus along two slightly separated copies of . The result is a sphere , and the compression takes place in the exterior, soThus is a splitting sphere.
This alone is not quite a contradiction if the last weight inequality is equality: need not yet be normal. At the compression seam it uses the alternative, rather than regular, exchange between the disk patch and the torus. An intersection circle of normal disk sheets must cross a tetrahedral face; it cannot be a closed curve entirely in two disk interiors in one tetrahedron, which can be put in standard position with only intersection arcs. In a face, parallel arcs of the same type do not cross. At a crossing of different normal arc types, the alternative exchange joins two endpoints on the same edge, producing a returning arc. Pushing across its edge bigon strictly reduces weight. Normalize the resulting surface, retaining a nonzero-class sphere at each compression as before. We obtain a normal splitting sphere of weight strictly less than , a contradiction. Therefore
The algorithm is now finite. Triangulate the exterior from a link diagram, enumerate its fundamental admissible vectors with the closed-surface boundary condition, reconstruct their surfaces, and inspect the connected components and Euler characteristics. A fundamental vector yields a connected surface, since otherwise its component vectors decompose it. A connected closed surface in with Euler characteristic two is a sphere. Compute its mod-two class in the finite simplicial chain complex, or equivalently check which link boundary tori lie on either side. Answer yes exactly when such a sphere has nonzero class. The argument proves that every split link is detected, and every detected sphere witnesses splitting. For more than two components, and a nonzero sphere class separates a nonempty proper subset of the components; the same least-weight argument and finite enumeration apply.
Past exam of the mathematics course of the University of Cambridge 2003 iii Paper 37 2 Solution Created 2026-10-03 Updated 2026-10-14
A linear polyhedron is full-dimensional if its affine hull is . For a convex set, this is equivalent to containing an open Euclidean ball: an open ball has full affine span, while affinely independent points in the set span a simplex with nonempty interior. In particular, a nonempty linear polyhedron need not be full-dimensional; a singleton or a hyperplane is an example.
Assume , increasing the coefficient bound to one if necessary. If and denotes the th row, then . For and , the Cauchy-Schwarz inequality givesThus with , proving that is a full-dimensional linear polyhedron. This part works for every positive ; the particular small value also ensures that relaxation cannot create feasibility when is empty.
Here is that exact-feasibility point. Put . If is empty, a Farkas certificate for linear inequalities gives with and . Normalize , and maximize over the compact linear polyhedronChoose a maximizing extreme point. Its positive support has size : a dependence among its supported columns would permit small perturbations of both signs in , contradicting extremality. Select independent equations for those coordinates. Cramer's rule expresses them over a common nonzero integer determinant , with . Since is integer and , its numerator is a positive integer after choosing a positive denominator. Hence . This is the normalized integer Farkas infeasibility gap. A point in would implya contradiction. Consequently if and only if .
The ellipsoid method takes the integer matrix , vector , dimension , and a bound (or their binary encodings). It computes the prescribed , an inner radius , and an outer radius whose logarithms have polynomial size. For an explicit outer bound, let . A nonempty has a rational feasibility certificate for integer inequalities with . To see this bound, intersect with an orthant containing a feasible point. This intersection is a nonempty linear polyhedron containing no whole nontrivial affine line, and it has an extreme point. Indeed, if its active rows do not yet span the ambient space, move along a nonzero direction annihilating them. The orthant prevents motion in both directions from being feasible forever, so in at least one direction a new independent row becomes active. Repeating at most times produces an extreme point. At that point choose independent active constraints, including coordinate constraints where needed. Cramer's rule and the Hadamard determinant inequality bound the numerators by , while a nonzero integer denominator has absolute value at least one. Thus the point has norm at most . Choosing ensures that, whenever is nonempty, an entire radius- Euclidean ball in lies inside .
Start with the ellipsoid and retain . At each iteration test the centre against every relaxed inequality. If it passes all tests, is nonempty and hence so is . Otherwise a violated row gives the separation oracle: the feasible set lies in . Cut the current ellipsoid by this half-space through its centre and replace it by the standard containing ellipsoid. Every step retains and, for , reduces Lebesgue measure by a factor at most . In dimension one the corresponding step bisects an interval.
If more than cuts occur without finding a feasible centre, the Lebesgue measure is smaller than that of a radius- ball. This contradicts the retained ball whenever is nonempty, so the algorithm can declare empty. Both and are polynomial in and , and each inequality test uses arithmetic operations for rows. The bit implementation uses rational rounding with outward enlargement of the containing ellipsoids; the encoding bounds allow polynomial precision while keeping a constant fraction of the volume decrease. Detailed update and rounding formulae are not needed for this account. The essential role of the full-dimensional relaxation of integer inequalities is to supply a positive inner-volume bound without changing the emptiness decision; applying a Lebesgue measure stopping test directly to a lower-dimensional would fail.
Past exam of the mathematics course of the University of Cambridge 2003 iii Paper 5 3 i Solution Created 2026-10-03 Updated 2026-10-14
An algorithm is a finite effective procedure on finitely encoded inputs; a Turing machine is one precise model. A decision algorithm must halt on every permitted input and answer correctly. An algorithmic problem specifies the input encoding and the required output; enumerating positive answers alone is not a decision algorithm.
For a fixed finite group presentation , the word problem for a group takes a finite word in and asks whether it represents the identity. Equality of two represented elements is equivalent to testing . Positive answers are recursively enumerable: enumerate finite products of conjugates of relators and their inverses, freely reduce them, and compare with the input. Equivalently enumerate finite labelled disc diagrams. The van Kampen lemma ensures that every null word eventually appears. For a non-null word this search continues forever. Solvability requires a procedure that also terminates with a negative answer.
Past exam of the mathematics course of the University of Cambridge 2003 iii Paper 5 4 iii Solution Created 2026-10-03 Updated 2026-10-14
First construct the bounded-difference automaton. Fix as above, enlarging it if necessary. Its states are the finitely many elements , together with a reject state and finite flags recording when padding has started on each tape. The initial state is . Read the pair of words synchronously, padding their ends with a symbol representing the identity. If the current prefixes represent , the difference state is . A letter pair updates it byReject if the new difference lies outside ; padding must occur only in the final suffix of a tape. The accepting state for the generator is . Induction on the prefix length proves that the machine accepts exactly the padded pairs whose prefix differences stay bounded by and whose final difference is . In particular it correctly recognizes multiplication by for any pair of the chosen combing representatives with adjacent endpoints. Taking accepting state gives the equality machine.
If the combing formal language is regular, take the product with its two word acceptors. These are the usual group multiplier automata, accepting exactly with . From a known representative , a finite-state automaton search with its first tape fixed finds a representative of : existence is guaranteed, so the breadth-first search terminates. Equality is tested by the identity multiplier. Starting with a representative of , repeat these operations over the generators, identifying equal vertices, to build any prescribed finite-radius region of the Cayley graph and all its generator-labelled edges. Iterating multiplication over an input word and testing equality with the identity gives a word problem algorithm.
A bare geometric combing does not imply that is a regular language. Nor can a finite-state automaton recognize the indicated endpoint relation on all words without any restriction: in , which has its usual geodesic synchronous combing, fixing the second word to would make the multiplier for recognize precisely the first words equal to the identity. Intersecting those words with gives , a nonregular language: pumping the initial block changes its exponent without changing the inverse block, contradicting acceptance of precisely the equal exponents. Thus the literal unrestricted-pair request is false; the machines above recognize bounded fellow-travelling pairs, or full representative-pair relations under the additional automatic-language hypothesis.
Nevertheless the final decidability assertion is true for a synchronous combable group, without a regular-language assumption. Here is a terminating filling bound, avoiding any assumption that the given combing is computable. Let be the number of words of length at most over . A horizontal row of the diagram in part (ii) is encoded by its ordered rung words, so there are at most possible row types. If two rows have the same word tuple, delete the band between them and identify corresponding labelled rungs. This preserves the outside boundary and leaves a valid diagram of the same short relators. Equivalently, the first column is always at , so identical rung tuples describe the same vertex configuration. Repeatedly remove such bands. At most distinct rows remain, with at most short-relator cells per layer.
This finite-state row shortening of a combing diagram gives the recursive bound . For the given finite group presentation, every short identity in the finite set has some fixed diagram over its defining relators. Let bound their areas. Replacing each short face by its fixed diagram givesPart 3(ii) now supplies a terminating word decider. This also constructs finite Cayley graph regions for a nonregular combing: enumerate words of bounded length, use the decider on to identify vertices, and use it on to determine the generator edges. The finite ball and transition table of the bounded-difference machines can consequently be computed. The constants depend on a fixed combing and are not a uniform procedure certifying combability of an arbitrary input group presentation. Every finite group presentation of this synchronous combable group has solvable word problem, by the presentation-invariance proof in Q3.
Past exam of the mathematics course of the University of Cambridge 2003 iii Paper 5 4 ii Solution Created 2026-10-03 Updated 2026-10-14
Take an integer bounding synchronous distances at integer times. Let be all words over of length at most that represent the identity in . This is a finite set. We claim that presents , interpreting inverse letters in the usual way.
To prove it, let be any null word and let , with . Draw the combing paths as vertical columns, completed paths being padded by stationary steps. At each integer height join consecutive columns by a rung labelled by a word of length at most representing their displacement. At the bottom choose empty rungs, and at a common final height choose the actual boundary letters as rungs.
Every elementary strip cell has two rungs of length at most and two vertical steps of length at most one. Its boundary word has length at most and is null in , because the four paths close in the actual Cayley graph. It is therefore a relator in . Gluing all cells fills the top loop : the bottom row and the two copies of the identity column collapse to the basepoint. Thus every null word is a product of conjugates of these finitely many short relators. The reverse containment holds because each relator is already an identity in .
Hence the finite presentation from a synchronous combing provesThis is an existence proof of a finite relator set. It does not assume an algorithm for identifying identities in an arbitrary group presentation before establishing decidability.
Past exam of the mathematics course of the University of Cambridge 2015 iii Paper 38 4 a Solution Created 2026-10-03 Updated 2026-10-06
P is the class of decision problems decided by a deterministic algorithm in time polynomial in the encoded input length. NP is the class whose yes-instances have complexity certificates of polynomial length that a deterministic algorithm verifies in polynomial time.
A decision problem is NP-complete if it belongs to NP and is NP-hard: every problem in NP admits a polynomial-time many-one reduction to it. Such a reduction maps an instance to an instance in polynomial time and satisfies is a yes-instance if and only if is a yes-instance. Membership in NP and NP-hardness are both required.
Past exam of the mathematics course of the University of Cambridge 2015 iii Paper 38 5 c Solution Created 2026-10-03 Updated 2026-10-06
For an explicit algorithm, keep an unnormalized residual , initially , whose row and column sums all equal a common mass , initially one. While , find a perfect matching in its positive support, form its permutation matrix , and subtract , where is the smallest selected entry. Record and replace by .
If the residual mass is positive, the same proof of the Hall marriage theorem condition applies after division by . Every subtraction removes at least one positive entry and creates no new positive entries. Before the last subtraction, any positive-mass residual has at least positive entries; the last step removes all its entries. If is the initial number of positive entries, thenSince the residual ultimately vanishes, summing the recorded subtractions gives , and the row sums give .
A perfect matching can be found by at most searches for an augmenting path in a matching, each costing in a graph with at most edges. Thus each iteration costs , including forming the support and updating the residual, and there are iterations. HenceThis bound uses exact real arithmetic. For rational input, a common denominator lets all residual subtractions be performed on integers of polynomial bit length, giving a polynomial bit-time implementation as well.
Perfect elimination ordering 2026-10-14
A perfect elimination ordering of a finite simple graph is a permutation of its vertices such that each set of later graph neighboursis a clique. Thus is a simplicial vertex in the remaining induced subgraph . Empty and one-vertex sets satisfy the clique condition automatically. The order here is the order of deletion: goes first.
The characterization is powerful: a finite simple graph is a chordal graph if and only if it has a perfect elimination ordering. For one proof outline, the earliest vertex of an induced cycle of length at least four would have two later graph neighbours on that graph cycle that are not adjacent, contradicting the clique condition. Conversely, every nonempty chordal graph has a simplicial vertex, and every induced subgraph of a chordal graph is a chordal graph; repeatedly deleting such a vertex supplies the ordering.[ref]
In the square-plus-diagonal chordal graph above, is a perfect elimination ordering, with later graph neighbourhoods , , , and . Starting instead with fails: its graph neighbours do not form a clique, because is absent. Thus even a chordal graph can have a poor elimination ordering.
For a larger example, join three triangles along shared edges, usingThe exact graph neighbourhoods are , , , , and . The ordering has later graph neighbourhoods , , , , and , all cliques; this certifies that the graph is a chordal graph without enumerating its graph cycles. Its maximal cliques , , form a junction tree in that order, with intersections and .
A perfect elimination ordering removes three overlapping triangles without fill-in; choosing the central vertex first adds three edges
. Details. To find an ordering, maximum cardinality search starts with all scores zero, repeatedly selects an unselected vertex of largest score, and increases each unselected graph neighbour's score by one. Reverse the selection order to obtain a candidate perfect elimination ordering. For the three-triangle graph, one valid selection sequence is , with scores at selection ; reversing it gives the displayed deletion order. On a chordal graph every tie choice works. On an arbitrary graph, test the resulting later graph neighbourhoods for the clique condition to recognize chordal graphs. Suitable adjacency lists, score buckets and a linear-time verification method give recognition.[ref]
The deletion rule also explains sparse Gaussian elimination. For a symmetric positive-definite matrix whose matrix graph is , eliminating pivot applies the Schur complement updateOnly pairs of remaining graph neighbours of can acquire new off-diagonal entries. A perfect elimination ordering already has all those edges, so Cholesky decomposition creates no symbolic fill-in. Positive definiteness ensures nonzero pivots in exact arithmetic. Special numerical cancellation can suppress predicted entries, and floating-point rounding affects their values.[ref]
Chordal Graphs and Semidefinite Optimization by Lieven Vandenberghe and others. §9.1; equation 9.2; Theorem 9.1
In the three-triangle graph, deleting first instead connects every pair in and adds exactly . The graph was already a chordal graph; the extra fill-in comes from the ordering.One further reward is optimal graph coloring. Process a perfect elimination ordering backwards and give each vertex the smallest positive color absent from its already colored graph neighbours. Those graph neighbours form a clique, so this greedy algorithm uses at most the clique number colors; any clique of that size requires at least that many. In the three-triangle graph, coloring gives colors , so both the chromatic number and the clique number are three. Every maximal clique also occurs among : take its earliest vertex and use maximality. The same ordering therefore supports graph coloring, maximal clique extraction and sparse computation.
Historically, Donald J. Rose, Robert E. Tarjan and George S. Lueker's 1976 paper connected graph elimination to symmetric sparse matrices and gave a search-based algorithm for finding a perfect elimination ordering when one exists. Its abstract distinguishes a minimal elimination ordering from a minimum one: removing avoidable fill-in does not by itself minimize the total number of added edges.[ref]



