The matrix that is a graph

A bound with a square root in it

Cheeger's inequality brackets a graph's best cut between λ₂/2 and √(2λ₂). The lower bound is attained exactly. The upper one is loose by a factor of fourteen — on the one graph in the census with a real bottleneck, which is the shape it is always quoted about.

Worth reading first: The vector that has to be rounded · The spectrum is not the graph.

A relaxation gives a lower bound. That is all a relaxation ever gives, and on its own it is not much: knowing that the best cut is at least this good does not tell anybody whether the cut in hand is any good.

What makes spectral partitioning a method rather than a heuristic is that the bound goes both ways. For the normalised Laplacian’s second eigenvalue and the graph’s conductance φ,

λ₂ / 2   ≤   φ   ≤   √(2 λ₂)

and the right-hand half is proved by exhibiting a cut — specifically, by exhibiting a sweep cut of the eigenvector, which is the thing an implementation actually returns. So the theorem covers the algorithm and not merely the idea behind it.

The lower bound is attained and the upper one is out by 37.3×Cheeger's inequality on nine graphs of about 40 vertices each: for the normalised Laplacian's λ₂, λ₂/2 ≤ φ ≤ √(2λ₂), where φ is the conductance the sweep cut actually achieves. Each row shows the two bounds as a bar and the measured conductance as a dot inside it. The lower bound is tight on the complete at a ratio of 1. The upper bound is loosest on the barbell — by a factor of 37.3 — which is the graph in the census with a real bottleneck, and therefore the shape the inequality is always quoted about. The square root is what makes it loose: it is the price of turning a spectral quantity into a combinatorial guarantee, and it is paid where the guarantee is wanted.10⁻³10⁻²10⁻¹110¹12345678910conductance, and the two bounds on itpathcyclegridbarbelltwo blockshypercubepreferentialstarcompletethe bar is the inequalitythe dot is the graph
Fig. 1 Nine graphs of about forty vertices each. The bar spans λ₂/2 and √(2λ₂); the dot inside it is the conductance the sweep achieved.

The two halves are not equally good, and the difference between them is the subject of this essay.

What the census measures

Nine families, each with about forty vertices, each swept and each measured:

graph          λ₂(𝓛)      λ₂/2       φ         √(2λ₂)     φ ÷ lower   upper ÷ φ
complete 20    1.05263    0.52632   0.52632    1.45095      1.00        2.76
two blocks     0.15383    0.07691   0.08982    0.55467      1.17        6.18
barbell 8      0.02882    0.01441   0.01754    0.24010      1.22        13.69
hypercube 4    0.50000    0.25000   0.37500    1.00000      1.50        2.67
star 20        1.00000    0.50000   1.00000    1.41421      2.00        1.41
preferential   0.19664    0.09832   0.23894    0.62712      2.43        2.62
grid           0.06298    0.03149   0.09859    0.35490      3.13        3.60
cycle 40       0.01231    0.00616   0.05000    0.15692      8.12        3.14
path 40        0.00324    0.00162   0.02564    0.08053     15.81        3.14

The two rightmost columns are the whole result: how much slack there is at the bottom of the bracket, and how much at the top. Every λ₂ in the table is the normalised Laplacian’s, for the reason the second essay in this field gives.

The lower bound is attained

The complete graph’s row reads 1.00. Not approximately — the conductance of the best cut of K₂₀ is 0.52632 and half its normalised λ₂ is 0.52632, to every digit the eigensolver produces.

That is not a coincidence of this size. For the complete graph on n vertices the normalised λ₂ is n/(n − 1), so λ₂/2 is n/(2n − 2); and the best cut is the balanced one, with (n/2)² edges crossing and a volume of (n/2)(n − 1) on each side, giving n/(2n − 2) as well. The bound is an equality on this family at every n.

So the left half is not a weak statement dressed up as a theorem. There is a graph on which it cannot be improved by any constant, and that graph is one of the most ordinary objects in the subject. A tighter version of the lower bound does not exist.

The upper bound is loose where it is used

The barbell’s row reads 13.69. Its conductance is 0.01754 and the bound says only that it is at most 0.24010.

The barbell is two cliques joined by a single edge. It is the graph a reader imagines when told that a graph has a bottleneck, and it is the case spectral partitioning is recommended for. On exactly that case, the guarantee is out by a factor of fourteen.

Nor is that an accident of the barbell. The pattern down the column is systematic: the graphs where the upper bound is loosest — barbell at 13.69, two blocks at 6.18 — are the graphs with a small conductance, and the graphs where it is tightest — star at 1.41, hypercube at 2.67 — are the graphs with no meaningful cut at all. The square root is the reason. When λ₂ is small, √(2λ₂) is much larger than λ₂ relative to it, so the bracket is wide precisely when the numbers are small, which is precisely when a partition is worth looking for.

This is the shape of a bound that is never attained, arriving in a different field. There, the growth factor’s bound of 2ⁿ⁻¹ is correct, attained on one constructed matrix and unreachable on any matrix anybody has. Here the upper bound is attained too — in the limit, on a specific family — and the family is not the one anyone cares about.

Where the upper bound is tight, and it is π

The cycle and the path both report 3.14, and that is not a rounded coincidence.

For a cycle of n vertices, the normalised second eigenvalue is 1 − cos(2π/n), which for large n is 2π²/n². The best cut removes two edges from a graph whose halves have volume n each, so the conductance is 2/n. Then

√(2λ₂) ÷ φ  →  (2π/n) ÷ (2/n)  =  π

exactly, in the limit. At n = 40 the measured ratio is 3.14 and the limit is 3.14159…, so the convergence is fast.

That is the sharpest available statement about how loose the square root is: on the family where the answer is known in closed form, the bound overstates the conductance by π and by nothing more. A constant of π is not the same kind of gap as a constant of fourteen, and the difference is that a cycle’s cut is unique — there is one way to cut it well, and every eigenvector of the relaxation points at it — while a barbell has a cut so much better than every alternative that the relaxation’s smooth answer is a poor description of it.

One real vector, 23 candidate cuts, and the best of them is number 12The Fiedler vector of the barbell 12, its entries sorted, drawn as the pale rising curve against the right-hand scale; and against the logarithmic left-hand scale, the conductance of the cut that takes the first k vertices in that order. λ₂ = 0.14435. The eigenvector is a real vector and the answer wanted is a subset, so something has to round it: the sweep takes every prefix and keeps the best, which here is k = 12 at a conductance of 0.007519 against a worst prefix of 1 — a factor of 133 between the best cut this vector offers and the worst. Nothing in the eigenvalue problem chose k; the sorting did.0481216202410⁻²10⁻¹1vertices on the smaller sideconductance of the prefix cut0.00752, the best prefixthe rounding stepλ₂0.14cuts considered23best conductance0.0075at k =12worst prefix1the dashed curve is the eigenvectorthe solid one is what it costs
Fig. 2 The barbell’s sweep, whose minimum is a factor of ninety below its neighbours. A relaxation that has to be smooth cannot describe a step that sharp.

Where the square root comes from

The constant is not an artefact of a lazy proof, and it is worth seeing why, because it explains which graphs the bound is loose on.

The upper half is proved by taking the eigenvector, sweeping it, and bounding the best prefix’s conductance. The step that costs the square root is a Cauchy–Schwarz inequality. Writing the eigenvector’s entries as x and the sweep cuts as level sets, one has to compare a sum of |xᵢ² − xⱼ²| over edges — which is what the level-set decomposition produces — with the sum of (xᵢ − xⱼ)², which is what λ₂ bounds. The bridge between them is

|xᵢ² − xⱼ²|  =  |xᵢ − xⱼ| · |xᵢ + xⱼ|

and then Cauchy–Schwarz over the edges, which turns a sum of products into the product of two square roots. One of those roots is √λ₂ and the other is a norm that is bounded by a constant. The square root is that step and there is no way round it in this argument.

What it means in practice is that the bound is tight when the eigenvector’s entries are spread out smoothly and loose when they are concentrated. On a cycle the entries are a sine wave and the Cauchy–Schwarz step is nearly an equality — hence the constant of π rather than of fourteen. On a barbell the entries are two nearly-constant plateaux joined by a step, |xᵢ + xⱼ| is far from proportional to |xᵢ − xⱼ| across the bridge, and the inequality is loose by an order.

So the loose cases are exactly the ones where the eigenvector is nearly two-valued — which is to say, exactly the ones where the relaxation was hardly a relaxation at all and the cut is obvious. The bound is worst where the problem is easiest, which is an unusual and slightly comic way for a guarantee to behave, and it is a direct consequence of the one line above.

Improving it is a research programme, not an exercise

The gap between λ₂/2 and √(2λ₂) has been attacked from several directions and the results are worth knowing, mostly for what they do not deliver.

Higher eigenvalues sharpen it. There is an improved inequality of the form φ ≲ λ₂/√(λ_k), for any k, which is strictly better than √(2λ₂) whenever λ_k is not small. On a graph with one bottleneck λ₃ is already substantial, so this is a real improvement on the barbell — but it costs k eigenvalues rather than one, and the constant hidden in the ≲ is not small.

Many pieces cost more. The k-way analogues bound the k-way expansion by a polynomial in k times √(λ_k), and at any k worth using the polynomial dominates. The two-piece case is the well-served one and the good fortune does not extend, which is why the measurements in this field stay with two.

The square root cannot be removed. There are graphs — the cycle above is essentially one — where φ really is of order √λ₂ and not of order λ₂. So no proof technique can do better in general; the looseness on the barbell is a looseness of the worst case, not of the argument.

That last point is the one that makes the measurement worth taking. A bound that is tight in the worst case and loose by fourteen on the case in hand is a bound whose value is entirely in the certificate and not at all in the estimate, and telling those two uses apart is the whole of the section below.

Which λ₂, and what happens if it is the wrong one

Everything above is about the normalised Laplacian’s second eigenvalue. Substituting the combinatorial one does not weaken the result; it makes it false.

graph          λ₂(L)/2    φ measured    verdict
complete 20    10.00      0.5263        out by 19.0×
two blocks 60   1.2769    0.08982       out by 14.2×
grid 6×7        0.09903   0.09859       out by 1.004×
star 30         0.5       1.0           holds

On the complete graph the lower bound claims the conductance is at least ten. Every cut of a complete graph has conductance about a half. The claim is not slightly wrong.

The reason is the one the previous anchor is about: the two matrices are related by a congruence rather than a similarity, their eigenvalues are not proportional to any degree, and a theorem about one is not a theorem about the other. The two objects share a name and a picture, and a bound quoted for the wrong one fails by an order of magnitude on a graph everybody has met.

What the bracket is actually for

Given how wide it is, it is worth asking what a bracket that spans a factor of fourteen is good for. Two things, and neither of them is estimating φ.

It certifies that no better cut exists. The lower bound is the useful half: if λ₂/2 is 0.0769 then no subset of the vertices, of any size, has conductance below that. Nothing else in this field provides such a statement, and it costs one eigenvalue rather than an enumeration of 2ⁿ⁻¹ subsets. When the sweep returns 0.0898 against a lower bound of 0.0769, the answer in hand is within 17% of the best there is, and that is a certificate rather than a hope.

It certifies that the method has not failed — including on the graphs where the partition itself is undetermined, since the bracket holds for every answer such a graph returns. The upper bound guarantees that the sweep will find something below √(2λ₂), so a run returning a conductance far above that has a bug rather than a hard graph. It is a weak test and it is a test, and this site’s habit is that a test that could fail is worth more than a description that could not.

What the bracket is not for is reporting. The number to report is the conductance, which is a measured property of the partition returned and costs one pass over the edge list.

The ratio between the two halves

The bracket’s width in ratio is √(2λ₂) ÷ (λ₂/2) = 2√2 ÷ √λ₂, which grows without bound as λ₂ falls. At λ₂ = 1 it is 2.83; at λ₂ = 0.01 it is 28.3; at λ₂ = 10⁻⁴ it is 283.

So the certificate gets weaker exactly as the graph gets more interesting. On a graph that barely holds together — a network with a genuine bottleneck, which is what somebody partitioning a graph is usually looking at — the two halves of the guarantee are two orders of magnitude apart, and the measurement is the only thing that says where in that range the answer sits.

The measured ratios in the census bear this out from the other side. The graphs with λ₂ near one (complete, star, hypercube) have both halves tight, at 1.00–2.00 below and 1.41–2.76 above. The graphs with λ₂ near 0.01 (barbell, cycle, path) have one half or the other loose by an order.

Both halves are stable, which the answer is not

One more property is worth measuring, because it separates this bracket from the partition it brackets.

λ₂ is an eigenvalue of a symmetric matrix built from the graph by a rule with exactly zero row sums, so it moves by at most the norm of a perturbation — Weyl’s inequality, which is the site’s sharpest statement about eigenvalue stability and applies here without qualification. Change one edge weight by δ and every eigenvalue moves by at most 2δ. Both ends of the bracket are continuous functions of λ₂, so both ends move by a comparable amount.

The conductance is not like that. It is a minimum over subsets, so it is continuous in the edge weights — but the subset achieving it is not, and a perturbation that moves φ by 10⁻¹⁶ can move the partition to a completely different set of vertices. The measurement in the previous essay found exactly that on a grid: ten runs in twelve return a different partition at a perturbation of 10⁻¹⁴, and all of them return the same conductance of 0.098592.

So the bracket is a stable statement about an unstable object. Everything the theorem asserts — that no cut is better than λ₂/2, that some cut is at least as good as √(2λ₂) — survives a perturbation of the graph, and the identity of the cut does not. That is worth stating because it tells a caller which of the two things they were handed is worth carrying forward: the number is robust and the set of vertices may not be.

What is genuinely surprising here

Two things, and both are the opposite of what the shape of the theorem suggests.

The lower bound, which sounds like the weak half, is exact on an ordinary graph. A relaxation’s bound being attained is unusual; a relaxation’s bound being attained on the complete graph, at every size, is the kind of thing that suggests the relaxation is not merely a bound but the right object.

The upper bound, which is the half that makes the method a method, is loose by a factor that grows as the problem becomes the one the method is for. It is still enough to make the method sound — it rules out arbitrarily bad answers, and that is what a guarantee is — but it is not enough to predict what the answer will be, and quoting it as though it were is the mistake this essay exists to prevent.

Both of those are measurements over nine graphs rather than statements about a theorem, and both would have been invisible in a treatment that stated the inequality and moved on. The habit that produces them is the one this site runs on: compare a bound to the thing it bounds, on more than one object, and print the ratio.

At other settings

The lower bound is attained and the upper one is out by 13.7×Cheeger's inequality on nine graphs of about 16 vertices each: for the normalised Laplacian's λ₂, λ₂/2 ≤ φ ≤ √(2λ₂), where φ is the conductance the sweep cut actually achieves. Each row shows the two bounds as a bar and the measured conductance as a dot inside it. The lower bound is tight on the complete at a ratio of 1. The upper bound is loosest on the barbell — by a factor of 13.7 — which is the graph in the census with a real bottleneck, and therefore the shape the inequality is always quoted about. The square root is what makes it loose: it is the price of turning a spectral quantity into a combinatorial guarantee, and it is paid where the guarantee is wanted.10⁻²10⁻¹110¹12345678910conductance, and the two bounds on itpathcyclegridbarbelltwo blockshypercubepreferentialstarcompletethe bar is the inequalitythe dot is the graph
Fig. 3 The same census on sixteen vertices, where every bar is wider and none has changed which end is tight.
The lower bound is attained and the upper one is out by 21.5×Cheeger's inequality on nine graphs of about 24 vertices each: for the normalised Laplacian's λ₂, λ₂/2 ≤ φ ≤ √(2λ₂), where φ is the conductance the sweep cut actually achieves. Each row shows the two bounds as a bar and the measured conductance as a dot inside it. The lower bound is tight on the complete at a ratio of 1. The upper bound is loosest on the barbell — by a factor of 21.5 — which is the graph in the census with a real bottleneck, and therefore the shape the inequality is always quoted about. The square root is what makes it loose: it is the price of turning a spectral quantity into a combinatorial guarantee, and it is paid where the guarantee is wanted.10⁻³10⁻²10⁻¹110¹12345678910conductance, and the two bounds on itpathcyclegridbarbelltwo blockshypercubepreferentialstarcompletethe bar is the inequalitythe dot is the graph
Fig. 4 At twenty-four, where the barbell’s bar has already started to open.
The lower bound is attained and the upper one is out by 49.2×Cheeger's inequality on nine graphs of about 52 vertices each: for the normalised Laplacian's λ₂, λ₂/2 ≤ φ ≤ √(2λ₂), where φ is the conductance the sweep cut actually achieves. Each row shows the two bounds as a bar and the measured conductance as a dot inside it. The lower bound is tight on the complete at a ratio of 1. The upper bound is loosest on the barbell — by a factor of 49.2 — which is the graph in the census with a real bottleneck, and therefore the shape the inequality is always quoted about. The square root is what makes it loose: it is the price of turning a spectral quantity into a combinatorial guarantee, and it is paid where the guarantee is wanted.10⁻⁴10⁻³10⁻²10⁻¹110¹12345678910conductance, and the two bounds on itpathcyclegridbarbelltwo blockshypercubepreferentialstarcompletethe bar is the inequalitythe dot is the graph
Fig. 5 At fifty-two, where the cycle and path have moved left and kept their ratio of π.
The lower bound is attained and the upper one is out by 61.2×Cheeger's inequality on nine graphs of about 64 vertices each: for the normalised Laplacian's λ₂, λ₂/2 ≤ φ ≤ √(2λ₂), where φ is the conductance the sweep cut actually achieves. Each row shows the two bounds as a bar and the measured conductance as a dot inside it. The lower bound is tight on the complete at a ratio of 1. The upper bound is loosest on the barbell — by a factor of 61.2 — which is the graph in the census with a real bottleneck, and therefore the shape the inequality is always quoted about. The square root is what makes it loose: it is the price of turning a spectral quantity into a combinatorial guarantee, and it is paid where the guarantee is wanted.10⁻⁴10⁻³10⁻²10⁻¹110¹12345678910conductance, and the two bounds on itpathcyclegridbarbelltwo blockshypercubepreferentialstarcompletethe bar is the inequalitythe dot is the graph
Fig. 6 And at sixty-four, the largest size every family in the census can be built at.
One real vector, 39 candidate cuts, and the best of them is number 20The Fiedler vector of the cycle 40, its entries sorted, drawn as the pale rising curve against the right-hand scale; and against the logarithmic left-hand scale, the conductance of the cut that takes the first k vertices in that order. λ₂ = 0.024623. The eigenvector is a real vector and the answer wanted is a subset, so something has to round it: the sweep takes every prefix and keeps the best, which here is k = 20 at a conductance of 0.05 against a worst prefix of 1 — a factor of 20 between the best cut this vector offers and the worst. Nothing in the eigenvalue problem chose k; the sorting did.071421283510⁻¹1vertices on the smaller sideconductance of the prefix cut0.05, the best prefixthe rounding stepλ₂0.025cuts considered39best conductance0.05at k =20worst prefix1the dashed curve is the eigenvectorthe solid one is what it costs
Fig. 7 The cycle, whose upper bound is loose by exactly π and whose cut is unique up to rotation.
One real vector, 59 candidate cuts, and the best of them is number 30The Fiedler vector of the two blocks 60, its entries sorted, drawn as the pale rising curve against the right-hand scale; and against the logarithmic left-hand scale, the conductance of the cut that takes the first k vertices in that order. λ₂ = 2.5538. The eigenvector is a real vector and the answer wanted is a subset, so something has to round it: the sweep takes every prefix and keeps the best, which here is k = 30 at a conductance of 0.08982 against a worst prefix of 1 — a factor of 11.1 between the best cut this vector offers and the worst. Nothing in the eigenvalue problem chose k; the sorting did.010203040506010⁻¹1vertices on the smaller sideconductance of the prefix cut0.0898, the best prefixthe rounding stepλ₂2.6cuts considered59best conductance0.09at k =30worst prefix1the dashed curve is the eigenvectorthe solid one is what it costs
Fig. 8 The planted partition, where the bound is loose by six and the sweep finds the optimum.
One real vector, 29 candidate cuts, and the best of them is number 15The Fiedler vector of the path 30, its entries sorted, drawn as the pale rising curve against the right-hand scale; and against the logarithmic left-hand scale, the conductance of the cut that takes the first k vertices in that order. λ₂ = 0.010956. The eigenvector is a real vector and the answer wanted is a subset, so something has to round it: the sweep takes every prefix and keeps the best, which here is k = 15 at a conductance of 0.03448 against a worst prefix of 1 — a factor of 29 between the best cut this vector offers and the worst. Nothing in the eigenvalue problem chose k; the sorting did.05101520253010⁻¹1vertices on the smaller sideconductance of the prefix cut0.0345, the best prefixthe rounding stepλ₂0.011cuts considered29best conductance0.034at k =15worst prefix1the dashed curve is the eigenvectorthe solid one is what it costs
Fig. 9 The path, whose lower bound is out by sixteen and whose upper bound is out by π.
barbell 12: 24 vertices, 133 edges, and a matrix built from themThe barbell 12 laid out at its own second and third Laplacian eigenvectors, so the picture is the same object the measurements are about. The Laplacian L = D − A is built by subtraction of integers, so every row sums to exactly zero — measured at 0, not at the rounding level — and L·1 is the zero vector with no arithmetic error anywhere in it. Its 1 zero eigenvalue counts the connected components, which breadth-first search also puts at 1; the smallest non-zero eigenvalue is 0.1443 and the largest computed zero is 8.24·10⁻¹⁶, a gap of 1.75·10¹⁴. The quadratic form xᵀLx is Σ over edges of (xᵢ − xⱼ)², which at the alternating vector is 292.the matrix, measuredvertices24edges133‖L·1‖∞0zero eigenvalues1components, by search1λ₂0.14laid out at its own eigenvectorsand the row sums are exactly zero
Fig. 10 The barbell, on which the upper bound is loosest and the method is most recommended.
complete 20: 20 vertices, 190 edges, and a matrix built from themThe complete 20 laid out at its own second and third Laplacian eigenvectors, so the picture is the same object the measurements are about. The Laplacian L = D − A is built by subtraction of integers, so every row sums to exactly zero — measured at 0, not at the rounding level — and L·1 is the zero vector with no arithmetic error anywhere in it. Its 1 zero eigenvalue counts the connected components, which breadth-first search also puts at 1; the smallest non-zero eigenvalue is 20 and the largest computed zero is 7.22·10⁻¹⁶, a gap of 2.77·10¹⁶. The quadratic form xᵀLx is Σ over edges of (xᵢ − xⱼ)², which at the alternating vector is 400.the matrix, measuredvertices20edges190‖L·1‖∞0zero eigenvalues1components, by search1λ₂20laid out at its own eigenvectorsand the row sums are exactly zero
Fig. 11 The complete graph, on which the lower bound is an equality at every size.
hypercube 5: 32 vertices, 80 edges, and a matrix built from themThe hypercube 5 laid out at its own second and third Laplacian eigenvectors, so the picture is the same object the measurements are about. The Laplacian L = D − A is built by subtraction of integers, so every row sums to exactly zero — measured at 0, not at the rounding level — and L·1 is the zero vector with no arithmetic error anywhere in it. Its 1 zero eigenvalue counts the connected components, which breadth-first search also puts at 1; the smallest non-zero eigenvalue is 2 and the largest computed zero is 2.7·10⁻¹⁷, a gap of 7.42·10¹⁶. The quadratic form xᵀLx is Σ over edges of (xᵢ − xⱼ)², which at the alternating vector is 64.the matrix, measuredvertices32edges80‖L·1‖∞0zero eigenvalues1components, by search1λ₂2laid out at its own eigenvectorsand the row sums are exactly zero
Fig. 12 A regular graph, where both halves of the bracket are within a factor of three.
Growth factor under partial pivoting to n = 40: the bound, the worst case, and realityGrowth factor against matrix size on a logarithmic vertical axis. The two-to-the-n bound rises as a straight line; Wilkinson's matrix sits exactly on it; random matrices stay near one.0816243240110²10⁴10⁶10⁸10¹⁰10¹²10¹⁴matrix size ngrowth factor max|u| / max|a|the 2ⁿ⁻¹ boundworst of 30 randommedian randomWilkinson's matrix sits on the bound30 Gaussian matrices per sizeat n = 40: bound 5.5·10¹¹, worst 4.8
Fig. 13 The site’s other correct-and-unreachable bound, in the elimination field.
The proved bound against the error it bounds, at 24 significand bitsTwo curves against the Hilbert size on a logarithmic vertical axis: the error the computation actually made, which is known because the exact answer is the integers by construction, and the bound proved for it in interval arithmetic. The bound is above the error at every size, by 9.949 to 23.12 times. Past n = 5 the method refuses to return a bound at all.345678910111210⁻⁵10⁻³10⁻¹Hilbert size nerrorrefusedrefusedrefusedrefusedrefusedthe proved boundthe actual errorbound ÷ errorslack at n = 313slack at n = 423slack at n = 59.9the error is known, not estimatedthe exact answer is the integers 1 … n
Fig. 14 A bound measured against what it bounds, which is the habit this essay applies.
What the runs disagree by, and what the bound says they mightOver ten decades of summation condition number, on vectors of 2048 numbers: the measured spread between seven partitioned reductions of the same vector, the quantity κu, and the classical error bound γ₍ₙ₋₁₎Σ|xᵢ| relative to the sum. The measured spread and κu are one curve times a constant — the ratio runs from 0.253 to 0.258 across the whole sweep, a spread of 1.021 while both quantities move by ten orders. The bound sits 7932 to 8100 above the disagreement and is identical for every ordering, which is what makes it useless for the question a reader actually has: not how wrong is this, but will the next run say the same.10²10⁴10⁶10⁸10¹⁰10¹²10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹κ of the sumrelative sizethe boundκ · umeasured spreadtwo curves and one constantspread ÷ κu, low0.25spread ÷ κu, high0.26bound ÷ spread, low7932decades swept10the spread is computablethe bound cannot see the order
Fig. 15 A bound thousands of times looser than the quantity it covers, in the machine field.
Conjugate gradients at κ = 104, against the bound κ permitsA semi-logarithmic plot of the relative A-norm error against iteration count. The measured curve falls below a smooth dashed curve showing the classical condition-number bound.0408012016020024010⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹iteration‖e‖_A / ‖e₀‖_Ameasuredκ bound119 steps40×40, spectrum spread evenly in logbound permits 1417
Fig. 16 A convergence bound against a measured curve, in the iterative field.
Twenty eigenvalues, one of them zero, and the graph has one pieceThe Laplacian spectrum of two ten-vertex paths joined by a single edge of conductance 0.01, plotted on a logarithmic axis so the zero end is visible. The dashed line is the threshold 10⁻¹⁰‖L‖ = 1.02·10⁻⁹, and the number of eigenvalues below it is the spectral count of connected components: 1. Breadth-first search, which performs no arithmetic on any weight, says 1. The largest computed zero is 6.99·10⁻¹⁷ and the smallest eigenvalue above the threshold is 0.001891. A count of components is therefore a rank decision at a threshold, and the bridge's conductance decides which side of it λ₂ falls on — at nine orders above the rounding level, not at it.13579111315171910⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹indexeigenvalue of L10⁻¹⁰‖L‖, the thresholda count that is a thresholdeigenvalues below it1components, by search1largest computed zero7·10⁻¹⁷smallest above it0.0019ratio2.7·10¹³the graph is connectedat every stop of the slider
Fig. 17 The eigenvalue both halves of the bracket are built from.
One graph, nudged by 10⁻¹², and 3 different partitionsThree seven-vertex cliques joined in a triangle by three single edges, one of whose conductances is raised by 0. When all three are equal the graph has a three-fold symmetry, λ₂ and λ₃ coincide — measured here at a gap of 1.72·10⁻¹⁵ — and there is no Fiedler vector: there is a plane, and every unit vector in it is an exact eigenvector. Eight runs on this graph with its edge weights nudged by a relative 10⁻¹² — four orders above the rounding, and far below anything anybody would call a difference in the data — return 3 distinct partitions, at conductances 0.0455. All of them are correct answers to the relaxation, and on a symmetric graph they are equally good ones. Which one a library returns is decided by its starting vector, and the site has an essay about a plane surviving what its vectors do not.14710131619110¹indexeigenvalue of Lan eigenvalue with no vectorλ₂0.35λ₃0.35gap1.7·10⁻¹⁵partitions found3best conductance0.045worst0.045two eigenvalues, one valueand the answer is not a function of the graph
Fig. 18 A graph whose λ₂ is repeated, where the bracket still holds and names no partition.
One system, 30 ways to remove its kernel, and 898× between themA Laplacian is singular, so a solve has to remove its kernel, and the usual way is to delete one row and column — grounding a vertex, in the electrical reading. Which vertex is a free parameter that no account of the method mentions, and it is set by whichever index the code happens to drop. Every point here is one choice on the star 30: the condition number of the resulting positive definite matrix against the degree of the vertex removed. Grounding vertex 1, of degree 1, gives κ = 898; grounding vertex 0, of degree 29, gives 1 — a factor of 898 between two ways of solving the identical problem. The trend is that a high-degree vertex is the better ground, which has a reading: grounding a vertex fixes its potential, and fixing the potential of something the rest of the graph is strongly attached to constrains more of the graph.1611162126110¹10²10³degree of the grounded vertexcondition number of what is left1, the best choicea parameter nobody setsvertices tried30best κ1at degree29worst κ898at degree1spread898one row and column deletedand it matters which
Fig. 19 The star, whose upper bound is the tightest in the census, measured for a different quantity.
Singular values of a rank-4 matrix with noise of relative size 10⁻⁸Ten singular values on a logarithmic axis. The first four sit near one; the rest sit at the noise level, and the vertical distance between the two groups is the evidence for the rank.1234567891010⁻¹⁸10⁻¹⁵10⁻¹²10⁻⁹10⁻⁶10⁻³1indexsingular valuecutoff, σ₁ · 10⁻¹⁰numerical rank 10gap 8.2·10⁶an opiniontrue rank 410×10, built with 4 nonzero valuesrank is a decision
Fig. 20 A threshold deciding an integer, which the sweep’s minimum also is.
Backward and forward error against the condition numberA log–log plot over twelve decades of condition number. The backward error is a flat line at ten to the minus sixteen; the forward error rises in proportion to the condition number.110²10⁴10⁶10⁸10¹⁰10¹²10¹⁴10⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹condition number κ(A)relative errorforward errorbackward errorpredicted: κ · u8×8, 20 seeds per κ; dashed is the worstthe problem worsens, not the method
Fig. 21 The two errors, which a bracket like this one is the graph-theoretic analogue of.
How much a perturbation of the right-hand side is amplified, κ = 10⁶The cumulative distribution of the amplification factor over two hundred random perturbation directions, with the condition number marked as the upper limit.110¹10²10³10⁴10⁵10⁶10⁷00.250.50.751amplification of the input perturbationfraction of directions at or belowκ = 10·10⁵worst found 7.6·10⁵6×6, 200 directionsmedian reaches 0.29 of κ
Fig. 22 An amplifier that belongs to the problem, which λ₂ is a version of.
How close Hager's estimate is to the true κ₁, over 200 seeded 8×8 matricesFive bars. The estimate is exactly the true condition number on 81% of the sample and inside ten per cent on 87%; the worst underestimate in the whole sample returns 38% of the truth. The last bar is the matrix built to defeat it, at 7.7%, well below anything the random sample reached.each bar is a percentage — of the sample, or of the true condition numberexactly right80.5%inside 10%87.0%inside a factor of 287.0%worst in the sample, ×10037.7%the constructed matrix, ×1007.7%usually exactexact share0.81worst of the sample0.38the constructed matrix0.077a routine that is right most of the timeand never wrong in the safe direction
Fig. 23 An estimator with a spread, in the field about what an estimate is worth.
The exact solution of a 13×13 Hilbert system beside the computed oneTwo columns of numbers: the exact answer, which is the integers one to thirteen, and the answer double-precision elimination returns, with the number of correct digits beside each.H13 x = b, b formed exactly so that x = (1, 2, …, 13)12345678910111213exact1.00002.00003.00133.97865.18864.993010.46720.048921.2657-2.575319.21478.906013.5113computed6.6 correct digits4.8 correct digits3.4 correct digits2.3 correct digits1.4 correct digit0.8 correct digitno correct digitsno correct digitsno correct digitsno correct digitsno correct digits0.6 correct digit1.4 correct digitbackward error2.2·10⁻¹⁷κ = 1.7·10¹⁸The algorithm solved a neighbouring problem perfectly. That problem's answer is this one.right-hand side built in BigInt rationalsthe truth is known
Fig. 24 An answer that is known, against which a bound could be scored rather than trusted.
Backward error, forward error and the condition number, with measured valuesTwo boxes at the top — the problem posed and the nearby problem the algorithm answered exactly — and two answers below them, with the distances between all four labelled by numbers from a Hilbert solve.the problem you posedA = H10b = A·(1, 2, …, 10)the problem it answered exactlyA + δA, b + δb‖δ‖ / ‖A‖ = 2.3·10⁻¹⁷the answer you wantedx = (1, 2, …, 10), exactlythe answer you gotx̂, wrong by 2.7·10⁻⁴ relativebackward error 2.3·10⁻¹⁷forward error 2.7·10⁻⁴κ = 1.6·10¹³κ · η = 3.6·10⁻⁴, and the measured forward error is 2.7·10⁻⁴.The algorithm is not at fault. The problem is.H10, LU with partial pivotingresidual and error differ
Fig. 25 The identity every bound on this site is eventually read against.
Two perturbation bounds and the error that was measured, on a 8×8 matrix spread over 8 decades of unitsThree curves against the size of an entrywise relative perturbation. The normwise bound κ_∞·ε is a valid bound and sits 4·10⁷ times above the componentwise one cond(A, x)·ε, which is also a bound and is nearly attained by the worst of forty random perturbations at each size.10⁻¹⁴10⁻¹³10⁻¹²10⁻¹¹10⁻¹⁰10⁻⁹10⁻¹⁵10⁻¹²10⁻⁹10⁻⁶10⁻³1relative size of the entrywise perturbationrelative forward errorκ_∞ · εcond(A,x) · εmeasuredboth bounds holdκ_∞(A)1.9·10⁸cond(A, x)4.8ratio of the bounds4·10⁷both curves above the data are boundsand only one of them is a measurement
Fig. 26 A bound measured entry by entry rather than in a norm.
Forward error of a 6×6 Hilbert solve at eight precisionsA bar for each significand width from 12 to 53 bits showing the relative error in the computed solution, with the condition number times the unit roundoff marked as a prediction.κ = 1.5·10⁷ · the exact answer is (1, 2, …, 6)12 bits3.316 bits0.8620 bits4.324 bits0.09330 bits7.6·10⁻⁴36 bits6.2·10⁻⁶43 bits2·10⁻⁷53 bits4.5·10⁻¹¹dashed: κ · unit roundoffone matrix, eight arithmeticsmeasured against a known answer
Fig. 27 The precision knob, on a quantity a bound like this one does not depend on.
How far a perturbation of size ε moves an eigenvalue, 8×8A log–log plot of eigenvalue movement against perturbation size. The symmetric case lies on a line of slope one; the non-symmetric case lies on a line of slope one eighth, and at a perturbation of ten to the minus sixteen it has already moved by a hundredth.10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹size of the perturbation ‖δA‖how far the eigenvalues moveJordan block, ε^(1/8)symmetric, ≤ ‖δA‖rounding error alone moves it to 10⁻²six seeds per symmetric point; Jordan is closed formsymmetry beats precision
Fig. 28 How far λ₂ can move when the graph does, which decides how stable the bracket is.

What links here

Computed from the collection, not written here: the essays that point at this one.

Reads more easily once this is understood

Essays that name this one as worth reading first.

Named objects

A flat tag is an object no other essay names yet.

Algebraic connectivityBound tightnessCheeger inequalityConductanceFiedler vectorNormalised laplacianRelaxationSpectral partition