Reduction, and what a model is for

The definition asks for more of what defeats it

The rank of a p × p Hankel matrix of Markov parameters resolves a degree of p, and it needs 2p parameters to do it. Those parameters grow like the norm of the state matrix raised to their index, so the count that buys resolution is the same count that buys dynamic range. One model, four run lengths, and a spread that runs from 10¹¹ to 10¹⁰².

Worth reading first: A model that is a rational function · A block nobody can call sparse.

The McMillan degree has one definition and every derivation writes down the same one: it is the rank of the Hankel matrix of Markov parameters CAᵏB. The essay that opens this field uses that definition as an algorithm, watches it return two where the answer is six, and blames the entries — a Hankel matrix whose numbers span thirty-odd orders of magnitude has no gap for a rank decision to be made on.

The blame is correctly placed and the number is not a property of the model. Thirty-odd orders is what that particular sequence spanned over the particular number of terms that happened to be drawn. Run the same model for fewer terms and the spread is twelve orders; run it for more and it is sixty-eight, then a hundred and two. Nothing about the system changed between those readings. What changed was how large a question the sequence was being asked to answer.

That is the point of this essay, and it is sharper than a complaint about conditioning. A rank decision on a p × p matrix can return at most p, so resolving a degree of p means forming a p × p block, and a p × p Hankel block reads the parameters from index 0 to 2p − 2. The construction takes 2p of them. The count of parameters is therefore fixed by the size of the answer being looked for — and the parameters grow geometrically in their index. The number that sets the resolving power of the question and the number that sets the dynamic range of its input are the same number. Asking for one more direction is buying one more factor of the growth rate, at a fixed exchange rate, and the exchange rate is measurable.

The Markov parameters of a 24-state model: 10 exact zeros, then 33 orders|CAᵏB| against k. The first 10 are exactly zero — not small, zero, with no rounding in them — because A is a three-point stencil and information takes one step per grid point to travel the 10 points from the actuator to the sensor. After that they grow like ‖A‖₂ᵏ, and ‖A‖₂ is not the (n+1)² the stencil is scaled by: it is 4(n+1)²sin²(nπ / 2(n+1)) = 2490.14, just under four times larger. The measured ratio between one parameter and the next falls from 1.375·10⁴ to 3366.9 across the run, from above, converging on it, and the run as a whole spans 2.37·10³³ — 33 orders. A Hankel matrix of these numbers has a dynamic range no rank decision can see through, which is why the textbook route to the McMillan degree returns the wrong integer while the route that reads only samples of H returns the right one.02468101214161810²⁹10³³10³⁷10⁴¹10⁴⁵10⁴⁹10⁵³10⁵⁷10⁶¹k|CAᵏB|10 exact zerosa definition that will not computestates24exact zeros10‖A‖₂, measured2490last step-to-step ratio3367range across the run2.4·10³³zero for the travel timethen ‖A‖₂ᵏ
Fig. 1 The Markov parameters of a twenty-four-state model, twenty of them. Ten exact zeros, then a run spanning 2.37·10³³, with the growth rate ‖A‖₂ = 2490.14 measured off the sequence itself. The slider refines the grid.

The spread is a reading of the run length, not of the system

The model is the one this site has used since its first essays: the second-difference operator on a one-dimensional grid, scaled to be a discretisation of a second derivative, with one actuator at grid point seven and one sensor at grid point seventeen. Its eigenvalues and eigenvectors are closed forms, which is the standing an answer that is known insists on and the reason every number below can be checked rather than trusted.

Hold that model fixed and vary only how many parameters are taken. Fourteen of them span 6.35·10¹¹. Twenty span 2.37·10³³. Thirty span 1.25·10⁶⁸. Forty span 2.53·10¹⁰². Forty-eight — which is the run a Hankel block large enough to carry this model’s own degree would need — span 5.46·10¹²⁹.

The Markov parameters of a 24-state model: 10 exact zeros, then 12 orders|CAᵏB| against k. The first 10 are exactly zero — not small, zero, with no rounding in them — because A is a three-point stencil and information takes one step per grid point to travel the 10 points from the actuator to the sensor. After that they grow like ‖A‖₂ᵏ, and ‖A‖₂ is not the (n+1)² the stencil is scaled by: it is 4(n+1)²sin²(nπ / 2(n+1)) = 2490.14, just under four times larger. The measured ratio between one parameter and the next falls from 1.375·10⁴ to 5887.7 across the run, from above, converging on it, and the run as a whole spans 6.35·10¹¹ — 12 orders. A Hankel matrix of these numbers has a dynamic range no rank decision can see through, which is why the textbook route to the McMillan degree returns the wrong integer while the route that reads only samples of H returns the right one.02468101210²⁹10³³10³⁷10⁴¹k|CAᵏB|10 exact zerosa definition that will not computestates24exact zeros10‖A‖₂, measured2490last step-to-step ratio5888range across the run6.3·10¹¹zero for the travel timethen ‖A‖₂ᵏ
Fig. 2 The same system over fourteen parameters. Ten exact zeros, four numbers, and a range of 6.35·10¹¹.

Fourteen parameters is not an unreasonable run. It is enough to form a seven-by-seven block, which is enough in principle to see a degree of seven, and that is a larger degree than most reduced models anybody builds. The sequence over that run spans twelve orders — bad, but a rank decision made on twelve orders is at least a decision somebody could argue about, in the sense rank is a decision means it: a gap placed by hand with evidence either side of it.

The Markov parameters of a 24-state model: 10 exact zeros, then 68 orders|CAᵏB| against k. The first 10 are exactly zero — not small, zero, with no rounding in them — because A is a three-point stencil and information takes one step per grid point to travel the 10 points from the actuator to the sensor. After that they grow like ‖A‖₂ᵏ, and ‖A‖₂ is not the (n+1)² the stencil is scaled by: it is 4(n+1)²sin²(nπ / 2(n+1)) = 2490.14, just under four times larger. The measured ratio between one parameter and the next falls from 1.375·10⁴ to 2788.5 across the run, from above, converging on it, and the run as a whole spans 1.25·10⁶⁸ — 68 orders. A Hankel matrix of these numbers has a dynamic range no rank decision can see through, which is why the textbook route to the McMillan degree returns the wrong integer while the route that reads only samples of H returns the right one.024681012141618202224262810²⁹10³³10³⁷10⁴¹10⁴⁵10⁴⁹10⁵³10⁵⁷10⁶¹10⁶⁵10⁶⁹10⁷³10⁷⁷10⁸¹10⁸⁵10⁸⁹10⁹³10⁹⁷k|CAᵏB|10 exact zerosa definition that will not computestates24exact zeros10‖A‖₂, measured2490last step-to-step ratio2788range across the run1.3·10⁶⁸zero for the travel timethen ‖A‖₂ᵏ
Fig. 3 Thirty parameters of the identical system. The same ten zeros, the same growth rate, and a range of 1.25·10⁶⁸.

Thirty parameters is a fifteen-by-fifteen block, and the spread is sixty-eight orders. A double precision number carries about sixteen digits, so a matrix whose entries span sixty-eight orders has already lost every direction below the fourth or fifth to rounding before an eigensolver is handed it. And there is no sense in which the second reading is more accurate than the first. Both are correct readings of the same model. They differ only in the question they were taken to answer.

Every direction the block can carry costs one factor of the growth rate

The exchange rate can be written down exactly, and it comes out of the zeros rather than out of the arithmetic.

The first d parameters of this model are exactly zero, where d is the distance from the actuator to the sensor in grid points — ten here. That is a structural fact, and its consequence for the Hankel block is structural too. The block’s entry in row i and column j is parameter i + j, so every entry with i + j < d is exactly zero: a triangular corner of zeros in the top left, of size d(d + 1)/2, which is fifty-five entries whatever the run length. A row is entirely zero when even its last entry falls inside that corner, so the block has p − max(0, d − p + 1) non-zero rows, and its rank cannot exceed that count.

Written out, the rank a p × p block of this sequence can carry is exactly

min(p, 2p − 1 − d)

which was checked against the singular values of sixty-six blocks built from a generic sequence with a zero prefix, over six travel distances and every size from two to twelve, and holds in every one. The last parameter the block reads is index 2p − 2, and the first one that is not zero is index d, so the number of factors of the growth rate across the block’s non-zero entries is 2p − 2 − d.

Those are the same integer, to within one. The count of independent directions the matrix is capable of expressing and the count of factors of ‖A‖₂ separating its largest entry from its smallest are one quantity seen twice. Resolving one more direction is not merely accompanied by one more order of dynamic range; it is one more order of dynamic range, by construction, and no implementation choice sits between the two.

Past a certain run length the exchange rate doubles, which is worth following because it is where the trade stops being merely bad. Once p exceeds d + 1 the ceiling 2p − 1 − d rises above p, so the rank the block can carry saturates at its own size and increases by one for each additional parameter pair — while the spread across its entries, 2p − 2 − d, increases by two. At this grid the crossover is a block of eleven, which is twenty-two parameters and a range of 2.43·10⁴⁰. Below it, one direction costs 3.4 orders. Above it, one direction costs 6.8, and every direction the model’s own degree requires is above it.

The exchange rate is the norm of the state matrix, which is not the number in front of the stencil

That leaves the size of a factor. The state matrix is (n + 1)² times the three-point stencil, and it is tempting to read the growth rate off the scaling in front — 625 at a grid of twenty-four. That is wrong, and it is wrong by a factor the stencil carries in its own right: the largest eigenvalue in modulus is 4(n + 1)²sin²(nπ ⁄ 2(n + 1)), which is 2490.14 at this size, just under four times larger, and it is what the sequence actually grows by.

The sequence says so itself, without being told. The ratio of one parameter to the next falls from 1.375·10⁴ at the eleventh to 2.6416·10³ at the thirty-ninth — from above, monotonically, and never below 2490.14. A rate approached from one side over twenty-eight steps is a measurement rather than an assertion, and it is the same discipline the units the matrix is measured in applies to a condition number: a quantity that moves when the notation moves is a fact about the notation.

So the exchange rate is log₁₀ 2490.14 = 3.396 orders of dynamic range per direction resolved, at a grid of twenty-four points, and the measured rate over a forty-parameter run is 3.53 and falling towards it. Had the growth rate been the 625 in front of the stencil the rate would have been 2.80, which is a fifth cheaper, and the difference matters because it compounds: over the twenty-four directions this model’s own degree needs, the two figures differ by fourteen orders of magnitude.

The zeros count a distance, and they are the opposite of free

The exact zeros are the second half of the argument, and they are not arithmetic at all. The state matrix is a three-point stencil, so one application moves information one grid point, and the sensor cannot see the actuator until d applications have passed. Every parameter below d is zero — not small, zero, with nothing rounded in it — which is the other side of the zero a deflation criterion is permitted to write, where a small entry is set to zero because somebody accepted a backward error, and with none of the judgement that deciding that a zero has arrived has to make.

The Markov parameters of a 12-state model: 4 exact zeros, then 44 orders|CAᵏB| against k. The first 4 are exactly zero — not small, zero, with no rounding in them — because A is a three-point stencil and information takes one step per grid point to travel the 4 points from the actuator to the sensor. After that they grow like ‖A‖₂ᵏ, and ‖A‖₂ is not the (n+1)² the stencil is scaled by: it is 4(n+1)²sin²(nπ / 2(n+1)) = 666.178, just under four times larger. The measured ratio between one parameter and the next falls from 1690 to 688.52 across the run, from above, converging on it, and the run as a whole spans 4.05·10⁴³ — 44 orders. A Hankel matrix of these numbers has a dynamic range no rank decision can see through, which is why the textbook route to the McMillan degree returns the wrong integer while the route that reads only samples of H returns the right one.02468101214161810¹⁰10¹⁴10¹⁸10²²10²⁶10³⁰10³⁴10³⁸10⁴²10⁴⁶10⁵⁰10⁵⁴k|CAᵏB|4 exact zerosa definition that will not computestates12exact zeros4‖A‖₂, measured666last step-to-step ratio689range across the run4.1·10⁴³zero for the travel timethen ‖A‖₂ᵏ
Fig. 4 A coarser grid: twelve states, four exact zeros, growth rate 666.178, and a range of 4.05·10⁴³ over twenty parameters.

Refining the grid moves the sensor further from the actuator in grid points even though it does not move it at all in the physical problem, so the count of zeros grows with the refinement: four at eight and twelve points, six at sixteen, ten at twenty-four, twelve at thirty-two, sixteen at forty, twenty at forty-eight. That count is a measurement of the geometry and it carries nothing at all about the transfer function, which is what the whole sequence was formed to describe.

They are worse than uninformative. The block’s rank ceiling is 2p − 1 − d, so each zero costs one resolvable direction until p passes d, and the way to buy the direction back is a longer run — which is the growth. On a fourteen-parameter run at this size, forty-three of the block’s forty-nine entries are exactly zero and the six that remain span twelve orders. The corner stays fifty-five entries as the run lengthens while the block grows to a hundred, then two hundred and twenty-five, then four hundred, so the informative fraction rises and the dynamic range rises with it. There is no setting at which one improves alone.

The Markov parameters of a 48-state model: 20 exact zeros, then 40 orders|CAᵏB| against k. The first 20 are exactly zero — not small, zero, with no rounding in them — because A is a three-point stencil and information takes one step per grid point to travel the 20 points from the actuator to the sensor. After that they grow like ‖A‖₂ᵏ, and ‖A‖₂ is not the (n+1)² the stencil is scaled by: it is 4(n+1)²sin²(nπ / 2(n+1)) = 9594.13, just under four times larger. The measured ratio between one parameter and the next falls from 1.0084·10⁵ to 1.7999·10⁴ across the run, from above, converging on it, and the run as a whole spans 2.82·10⁴⁰ — 40 orders. A Hankel matrix of these numbers has a dynamic range no rank decision can see through, which is why the textbook route to the McMillan degree returns the wrong integer while the route that reads only samples of H returns the right one.024681012141618202224262810⁶⁹10⁷³10⁷⁷10⁸¹10⁸⁵10⁸⁹10⁹³10⁹⁷10¹⁰¹10¹⁰⁵10¹⁰⁹k|CAᵏB|20 exact zerosa definition that will not computestates48exact zeros20‖A‖₂, measured9594last step-to-step ratio1.8·10⁴range across the run2.8·10⁴⁰zero for the travel timethen ‖A‖₂ᵏ
Fig. 5 Forty-eight states over thirty parameters: twenty exact zeros, growth rate 9594.13, and a range of 2.82·10⁴⁰ across the ten numbers that are left.

And the zeros push the informative part of the sequence out into the blow-up before it starts, so a finer grid begins its useful numbers at a size the coarse one never reaches. The first parameter that is not zero is 3.87·10⁸ at eight states, 9.90·10¹⁵ at sixteen, 2.27·10²⁹ at twenty-four, 1.67·10⁵³ at forty and 1.99·10⁶⁹ at forty-eight. A sequence whose first informative number is 10⁶⁹ is not a sequence any threshold can be placed in, because small compared to what has no answer here: there is no reference scale in the problem against which 10⁶⁹ is small or large, only against other entries of the same sequence.

Taking more parameters makes the answer worse, and it is the only lever the route has

The route offers exactly one thing to vary. Every consequence of varying it can be measured, and the low-degree family the opening essay builds is the place to measure it, because it has an answer known in advance: the actuator and the sensor are combinations of the first six sine modes only, so the transfer function has exactly six poles however many states the model has.

Two rank decisions for one integer: the McMillan degree of a 24-state modelSingular values, each divided by the largest of its own set. The Loewner matrix is built from 32 samples of H on the imaginary axis and never touches A: its 6th singular value stands 1.53·10⁵ above the next, so the rank decision is not a close call. The Hankel matrix of Markov parameters CAᵏB is built from A, B and C — strictly more information — and has no cliff, because those parameters grow like ‖A‖₂ᵏ with ‖A‖₂ = 2490.1 — just under 4(n+1)², not the (n+1)² the stencil is scaled by — and its entries span 1.9·10³⁷. It returns 2 where the answer is 6. The definition is not the algorithm, and the route with less information is the one that works.1357911131510⁻¹⁸10⁻¹⁵10⁻¹²10⁻⁹10⁻⁶10⁻³1indexsingular value ÷ the largestdegree 6from samples of Hfrom A, B and Cone integer, two routesstates24Loewner rank6its gap1.5·10⁵Markov rank2its dynamic range1.9·10³⁷the rank of a divided differenceand the rank that cannot be seen
Fig. 6 Two rank decisions for one integer on a twenty-four-state model of known degree six. From samples of the function alone, six with a gap of 1.53·10⁵; from the state matrix, two.

Handed twelve parameters, the Markov route returns two. Fourteen: two. Sixteen: two. Twenty: two. Twenty-four: one. Thirty: one. Forty: four — and the four is not convergence, it is a relative threshold cutting a set of singular values that are all equally meaningless, the largest of them 7.6·10⁹⁷ and the eighth 9.2·10⁷⁸. Over that sweep the run’s dynamic range climbed from 1.5·10²⁷ to 1.3·10¹⁰⁰ and the integer returned never once approached six.

The same behaviour on a model built with four poles is worth one line, because it contains the trap. A three-by-three block returns three, which looks like the best answer on the sweep and is not a measurement at all — three is the largest integer a three-by-three matrix can return, so the answer was set by the size of the matrix rather than by the model. The four-by-four block, the smallest that could report four, returns two. More information made the answer worse, in the only direction the route allows more information to be added.

It is worth setting that beside the count the working route uses, because the two are the same kind of quantity with opposite signs. The Loewner construction also needs 2p samples to resolve a degree of p — the number of samples is likewise a property of the question rather than of the model, and the opening essay lists it as one of the three counts a reader has to keep apart. But a sample of the transfer function on the imaginary axis is a number of order one wherever it is taken, so raising the count buys resolution and costs nothing in spread. Raising the parameter count buys the same resolution and costs 3.4 orders each. One lever, two constructions, and the sign of what it does is the whole difference between the routes.

The heat model itself is the harder case and the honest one to state. Its residues are all non-zero, since twenty-five shares no factor with either seven or seventeen, so its McMillan degree is twenty-four — its own state dimension. Resolving that needs a twenty-four-by-twenty-four block and forty-eight parameters, and the route returns three, over a range of 5.46·10¹²⁹. At sixty parameters it returns three over 4.48·10¹⁷⁰. The answer is insensitive to the very quantity the definition says determines it.

Removing the blow-up entirely still does not produce the answer

The blow-up has an obvious repair and it is worth taking seriously, because the repair is exact where almost none of this site’s repairs are. Dividing row i and column j of the block by ‖A‖₂ raised to i and to j is a diagonal scaling on both sides by non-singular matrices, so it cannot change the rank of anything. In exact arithmetic it is not an approximation, it is a change of basis, and it removes the geometric growth completely: the entries come back to order one.

Applied to the six-pole model, the equilibrated block’s singular values are

1.58·10¹   3.97·10⁻²   4.61·10⁻⁵   4.79·10⁻⁸   3.09·10⁻¹¹   9.39·10⁻¹⁵

a spread of 1.7·10¹⁵ where the unscaled block of the same twelve parameters spanned 1.5·10²⁷. Twelve orders of the problem have been removed by an operation that changed no rank. The route now returns four, not two — and not six.

What is left after the scaling is the genuine decay of the model’s own directions, and it can be read straight off that line: about three orders an index, uniformly, with no cliff anywhere in it. The Loewner singular values of the same six poles fall at about one and two-thirds orders an index. Six directions at three orders apiece is fifteen orders and the sixth arrives at rounding; six at one and two-thirds is eight, and the sixth arrives with seven orders to spare. The two routes are therefore not separated by a threshold or by a tolerance but by the rate at which their own directions decay, and that rate is fixed by which construction was chosen, before any arithmetic is done.

The reason is on the same line of numbers. The sixth singular value stands at 5.95·10⁻¹⁶ of the first, against a machine epsilon of 2.22·10⁻¹⁶, so it sits at the rounding level of the format rather than above it: the direction is not merely hard to see, it is the size of the error in the numbers that were used to look for it. The Loewner route’s sixth singular value on the same model sits at 4.21·10⁻⁹ of its first — seven orders higher, which is why the route that never forms a power of the state matrix returns the right integer with room to spare. The scaling is the same instrument the scaling that buys ten orders applies to a quadratic eigenvalue problem, and here it buys twelve and is still short by seven.

That is the strongest form of the essay’s claim. The dynamic range is not the whole of the failure; it is the visible part. Removing it perfectly, by a transformation that provably preserves the answer, leaves the sixth direction one order below the smallest number the format distinguishes. And the loss is of exactly the kind cancellation takes the answer, not a digit describes — nothing was rounded badly, the small directions were exposed rather than created, and no amount of care in the eigensolver puts them back.

Where the sequence stops existing at all

Follow the two mechanisms out to a grid that is still small and the route runs out of numbers rather than out of accuracy.

The count of zeros grows in proportion to the grid, so the first informative parameter arrives later and later; and each step multiplies by a growth rate that itself grows like the square of the grid. The product of those two is an exponent, and it crosses the top of double precision. At a hundred and forty points the sequence has seven informative parameters before it stops being finite. At a hundred and forty-eight it has three. At a hundred and fifty-two it has two. At a hundred and fifty-four it has none: the first sixty-two entries are exactly zero, and the sixty-third is not a number.

A hundred and fifty-four states is a one-dimensional grid a laptop solves instantly, on a model whose transfer function is perfectly well behaved and whose closed-form spectrum is available in a line. The definition of the McMillan degree asks for the rank of a matrix built from numbers that, at that size, no double precision computation can hold — which is the exponent range what a float can hold measures, reached not by a badly written expression but by evaluating the definition exactly as written. It is the same failure a norm that overflows before it is a norm finds in the square root of a sum of squares, arriving from a formula nobody would have called naive.

What this settles about the two routes

The opening essay leaves a reader with two routes and one integer, one of which works. What is settled here is why the failing one cannot be repaired by trying harder, and each case is worth stating separately.

Its dynamic range is not a number to be quoted. Any statement of the form “the entries of this model’s Hankel matrix span thirty orders” is a statement about a run length, and the run length is the analyst’s choice. The same model reads 10¹¹, 10³³, 10⁶⁸ and 10¹⁰² over runs anybody might have taken.

More data makes it worse, uniquely on this site. Almost every method here improves with more information: more samples, more iterations, more digits. This one degrades, and it degrades along the one axis the definition offers, because the axis that buys resolution is the axis that buys spread. That is the reverse of the trade the cheap rank and what it cannot see describes, where a cheaper decision is bought with a weaker guarantee and the guarantee can be recovered by paying more.

The zeros are the only part of the sequence that is exactly right, and they are about the geometry. They record the distance from an actuator to a sensor in grid points, to the last bit, with no rounding — an exact measurement of the wrong quantity, carried in the leading entries of the object the definition wants a rank of.

A rank decision needs a gap, and here the gap and the noise are the same construction. The directions are all present in the block; the arithmetic separates them by exactly the factor that makes them resolvable, which is the factor that makes them invisible. That is why a threshold cannot be tuned into working, and why the route with strictly less information — samples of a function, where nothing grows — is the one that returns the right integer.

Reads more easily once this is understood

Essays that name this one as worth reading first.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

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

Dynamic rangeEquilibrationExact ground truthMarkov parameterMcMillan degreeNumerical rankOverflowTransfer function