Flattening

A nonzero integer polynomial vanishes to high order at 1 only by growing — in degree if its coefficients are bounded, in coefficient size if its degree is. The two are inverse readings of one boundary. Wherever a search has reached on the DEGREE side — the classical height-1 determination and one height above it — the cheapest polynomial is a product of factors xd − 1. On the COEFFICIENT side, past width 12, it is not always, and past depth 20 it fails at 43% of cells rather than at a handful — the products still win the majority there, but they stop being the law. What does hold at all 695 cells charted is that the minimum is ATTAINED inside a class with a classical name — integer polynomials with every root on the unit circle — among whose monic members the products sit, joined across the chart by three fixed non-monic factors and, at two cells, a product of two of them.

Read a vector of integers c0, …, cM−1 as the polynomial P(x) = Σ crxr. Its width is the number of coefficients M, so its degree is below M, and its height is the largest |cr|. Write flattening — equivalently the depth J — for the multiplicity of the root 1: the largest J with (x−1)J dividing P — equivalently, the number of times the coefficient vector can be replaced by its running sums with the total coming out zero, each pass being one division by x − 1. Two quantities read the boundary in opposite directions. h(M, J) is the least height of a nonzero vector of width M flattened to depth at least J; dk(J) is the least degree of a nonzero polynomial of height at most k flattened to depth at least J. A pure product is a product of factors xd − 1: with J factors it is flattened to depth exactly J, and the size of its expansion's first nonzero coefficient is the product of the d's, exactly. Each of the charts here runs over cells, one cell being one pair of whatever two of M, J and k that chart varies.

The question arrives from a pricing problem. Where a rule's cost is an integer combination of rational weights, the smallest positive value that combination takes decides whether a cheap rule is optimal; where those weights fall geometrically with ratio (n−1)/n, each order of vanishing at 1 is worth a factor of n, and the price is the least such polynomial inside a box the rule's own sizes pin — all of which is at the flattening law. What those sizes deny is reachable without them.

The free box's flattening ceiling rule

The free box at height k and width M is the box no sizes pin: every coefficient ranges over [−k, k] independently. On fifteen coefficients at height 3 — a box that contains every anchored box the geometric family's sizes can pin there — the free box reaches flattening exactly 6, against the depth 4 those sizes leave standing over the far end of that family. Since each order of vanishing at 1 costs a factor of n in the price, the anchoring is worth two orders of n. And that ceiling is an instance of a general law. Charted in width and height together — widths 4 to 24 at height 1, narrowing to width 8 as the height rises to 10, plus the fifteen-wide cells at heights 2 and 3, 94 cells each searched exhaustively — the deepest flattening the free box reaches, and the least first-coefficient size at that depth, are a pure product's at every cell. The ceiling of 6 is that law's instance: the six-factor product (x−1)³(x²−1)(x³−1)² has height exactly 3, and its coefficient 18 is the part product 1·1·1·2·3·3.

At height 1 the chart runs widest, and inverted it is a classical table. The least width whose free box reaches flattening 2, 3, 4, 5, 6 steps up at 4, 7, 12, 16, 23 — equivalently, the least degree of a height-1 polynomial vanishing to that order at 1 runs 3, 6, 11, 15, 22. That is the problem of Borwein and Mossinghoff, whose abstract states the least degree determined for orders up to 10 with every extremal polynomial a pure product; the overlap, orders 2 through 6, is computed independently here and agrees. The attaining products inside this chart carry distinct factors — (x−1)(x²−1)(x³−1) at degree 6 through (x−1)(x²−1)(x³−1)(x⁴−1)(x⁵−1)(x⁷−1) at degree 22 — each of height exactly 1.

Scope. Rule, exhaustive over its own chart: 94 cells in exact integer arithmetic, the search route checked against full brute force at widths up to 7 and heights up to 3, and the attaining products named above checked in the record. Nothing here proves the products extremal — the classical determination reaches order 10 at height 1, every row of this chart is exhaustive computation in its own range, and the contact with the classical paper is its abstract plus the independently computed overlap. What prices the least height a flattening demands at a given width is the height dial, charted at product extremality at a second height; a closed form for it stays open, and at width 9 it runs 2, 3, 9, 14 at depths 4 through 7, whose jumps rule out log-convexity in the depth. The two-orders reading is an observation on the one geometric family of the flattening law, whose cells, box and machinery this chart shares, and the containment it rests on is that family's too. Toy scale.

verifier: explore_flatten_height.py

Product extremality at a second height rule

The chart has an inverse, and turning it tests what the height-1 row can only report. The two dials are inverse readings of one boundary: h(M, J) ≤ k exactly when M > dk(J), a vector of width M being a polynomial of degree below M. On the h side the pure-product law holds at all 63 cells with 4 ≤ M ≤ 12 and 1 ≤ JM − 1 — h is the least height of a pure product fitting inside width M with at least J factors at every one — and there at every height, rather than at the heights a chart indexed by height can afford to reach. On the d side the classical row is k = 1. Run at k = 1 the search used here returns 1, 3, 6, 11, 15, 22, 30 at J = 1…7 — the Borwein–Mossinghoff table again, recomputed unaided by an instrument built for the other height, which is what makes the row beside it worth reading at all. How far that check reaches, and where it stops, is in the scope below.

That row is d2(J) = 1, 2, 4, 7, 11, 16, 22, 26 at J = 1…8 — the least degree of a nonzero polynomial with every coefficient in [−2, 2] flattened to depth J. Every one of the eight equals the least degree over pure products of height at most 2, so the extremality the classical determination reports at height 1 is tested at a second height rather than assumed. The sharp cell is J = 8, where the two candidate answers separate for the first time: the first seven values fit J(J−1)/2 + 1 exactly, which would give 29, and the product family gives 26. The answer is 26. The attaining parts break the shape 1, 1, 2, …, J−1 that produced the arithmetic pattern in both ways at once, repeating a part and skipping one — (1, 1, 2, 3, 3, 4, 5, 7) — so the pattern in the degrees and the pattern in the parts die at the same depth, which is what says they were one fact. The minimising polynomial is unique up to sign at every depth the enumeration reaches, at both heights, with a single exception: at height 2 and depth 1 there are two, (1, −1) and its own doubling.

What the second row is for: read a vector c as the taps of a finite-impulse filter, sending a sampled signal s to Σr cr s(tr). That output vanishes identically on every polynomial signal of degree below J exactly when c is flattened to depth J — the same linear conditions on c written twice. So the shortest filter with integer taps of size at most k that annihilates polynomial drift of degree below J runs dk(J) + 1 taps long — the degree is one less than the tap count — and the k = 2 row is the shortest available to a filter carrying no multiplier, its taps being 0, ±1 and ±2: a drop, an add and a shift.

Scope. Rule in range, and the range is the claim's whole content; the inversion between the two dials is algebra, holding wherever they are both defined. The inverse dial is exhaustive at the 63 cells M ≤ 12, at every height: the question behind it — is there a nonzero vector of height at most k and width M flattened to depth J — is asked twice, once by that route and once by a search over the coefficients sharing no code and no cost law with it, at all 225 triples of width up to 13, depth, and height up to 3, with no disagreement, and against full enumeration of the box below that. The height-2 row is exhaustive at J ≤ 8, out to degree 26, and the k = 1 run of the same route reproduces the Borwein–Mossinghoff table at all seven depths it covers. Those two checks leave a gap, and it is where the row ends: the twice-asked question stops at degree 12, and the classical reproduction runs to degree 30 but only at height 1, so a fault peculiar to height 2 past degree 12 — which is where the last three values of the row sit — is caught by neither. The filter reading is a property — one set of linear conditions on c read twice. Nothing here proves the products extremal at either height: a second height agreeing is a second range of computation and not a theorem. What the h dial does past width 12 is the flattened minimum on the unit circle, where the pure-product law fails; the 63 cells here are exhaustive and stay. The uniqueness is exhaustive enumeration, over depths 1 through 7 at height 2 and 1 through 6 at height 1, and it is the DEGREE dial's — the height dial's is answered there and differently. Toy scale.

verifiers: explore_flatten_offchart.py, explore_flatten_d2.py

The flattened minimum is attained on the unit circle rule

Searching upward through the heights is a poor way to reach width 40, and it is not what the question asks for. The vectors of width M flattened to depth J are exactly (x−1)J·Z[x] cut at degree below M — a lattice, the set of integer combinations of MJ independent vectors, that count being its rank — so h(M, J) is that lattice's shortest nonzero vector measured in the largest coordinate. Basis reduction plus a bounded enumeration reads it directly, and the bound is free rather than guessed: a vector whose largest coordinate is at most H has Euclidean length at most HM, so the Euclidean ball of that radius contains every candidate, and any lattice vector already in hand supplies the H — the pure products, the family under test, supply nothing. With the reduction's Gram–Schmidt updated incrementally rather than recomputed in exact rationals at every swap — identical on output at all 252 cells of the narrower chart this one widens, which the two routes decide in 128.2 s and 1.7 s respectively, and 10.0 s for all 550 cells of the wider one — the chart closes the 550 cells with 4 ≤ M ≤ 40, 2 ≤ J ≤ 20 and M > J, the rank being zero otherwise, in 22.6 s and 433,866 enumeration nodes, no cell costing more than 20,287. The bill now sits in the enumeration rather than the reduction, 12.6 s against 10.0, so a wider census is priced by the ball's volume against the lattice's covolume — the volume its basis spans. That pricing makes DEPTH the cheap direction, since the rank falls as J rises, and it holds: carrying the chart to J = 30 adds 145 cells for about 3 s, closing all 695 in 37.6 s and 611,632 nodes. The wider sweep recomputes the narrower chart's whole record inside itself — all eleven of its published aggregates, from the 550 cells and 20 failures to the worst cell's 20,287 nodes — unchanged.

At 612 of the 695, h is the least height of a pure product fitting the cell. At 83 it is strictly below one, and extremality does not fail sporadically past a boundary — it gives way in the DEPTH: 3 of the 362 cells at J ≤ 12, 17 of the 188 at J = 13…20, and 63 of the 145 at J ≥ 21, which is 0.8%, 9.0% and 43.4%. The shallow readings overstate, and by a mechanism the chart itself supplies: 153 of the 695 cells have h = 1, where the least pure height is 1 and h ≥ 1 always, so those cells cannot fail at all, and a height of 1 needs width against depth, which crowds them into the shallow half — all 153 of them sit at J ≤ 12. So only the shallowest band is confounded, 0.8% raw against 1.4% over the 209 of its 362 cells that can fail at all, and both deeper bands are entirely h ≥ 2, which makes their 9.0% and 43.4% the raw and the conditioned rate at once. The deepest is stronger still: every one of its 145 cells has h ≥ 10.

What selects a failing cell is a two-sided window in the RANK. Every one of the 83 failures sits at rank between 5 and 18. Outside that window 325 cells fail zero times — 115 at rank 4 or below, 210 at rank 19 or above. That raw count carries the same height confound the depth rates are conditioned for, and it sits almost entirely in one tail: the high tail holds 100 cells of height 1, which cannot fail, against the low tail's 4. Conditioned on h ≥ 2 the clean outside is 221 cells rather than 325, 111 low against 110 high, and at h ≥ 10 it is 140, 97 against 43. So the two tails are close in conditioned strength where the raw counts read two to one, and the low tail is the better evidenced on every floor — the reverse of the raw reading. Neither tail is thin after conditioning, and neither is the height floor in disguise: 97 and 43 cells of height at least 10 have every room to fail and none does. A window read off the failing set holds all of them by construction, so that is not the evidence; the evidence is that it did not WIDEN when the chart grew. It was 5 to 18 over the earlier 550 cells and it is 5 to 18 over the 695, though the new cells reach rank 1 at their narrow edge and carry three quarters of the failures. The two walls were not tested equally, and the difference is large: a new cell has depth at least 21 and width at most 40, so its rank is at most 19 — forty of the 145 sit at rank 4 or below and exactly one at rank 19, the other 104 inside the window. So the low wall was offered forty fresh chances to break and took none, while the high wall was offered one and rests on the earlier chart almost alone. Testing it needs a census wider in width, not deeper. Inside the window the condition is far from sufficient — 83 of 370 cells, 22.4% raw and 25.9% over the 321 that can fail at all — and the depth then drives the rate: 1.9%, 15.2% and 60.6% raw across the three bands, 2.9%, 15.2% and 60.6% conditioned, the deeper two unmoved because no cell in either has height 1. Outside the window the rate is zero at every depth on either reading. Nothing else selects. Eight cheap per-cell quantities were scored against the failure flag — the largest repeated factor in the best pure product, the number of divisors of J, a ball-counting heuristic at two radii, two measures of what the pure bound loses when width is taken from it, the rank and the depth — and seven of the eight have no cut better than declaring the whole chart clean, while the eighth buys 7 of the 83 failures at the price of one false alarm. That scoring is ONE-SIDED, and the limit matters here rather than being a technicality: a cut declares failure on one side of a number, and a window has two sides, so the rank scores as a null in that table for a reason about the scoring and not about the rank. The seven nulls are nulls for one-sided cuts alone. No quantity but the rank was tried as a window, and whether any of the other seven carries one is untested, not answered.

What beats the products is a class and not a pair. A cyclotomic polynomial is the minimal polynomial of a root of unity, and xd − 1 is the product of those belonging to the d-th roots, so a pure product is a product of cyclotomics. Divide each of the 695 exhibited minimising vectors by every power of x and every cyclotomic factor it carries: five residuals — what those divisions leave — survive the whole chart. They are 1 at 612 cells, B = 2 + 3x + 2x² at 51, A = 2 + 4x + 5x² + 4x³ + 2x⁴ at 29, the product A·B at 2, and C = 3 + 5x + 3x² at 1 — with the cyclotomic part a pure product at every one of the 695. A·B is not a new member of anything: the class is closed under multiplication, so a product of members is a member for free, and what those two cells report is the first place where one multiplier does not suffice. C is genuine, divisible by neither A nor B, and its leading coefficient is 3 — which retires “leading coefficient 2” as a description of the multipliers rather than of the two the narrower chart happened to reach. A power of x is present at 22 of the witnesses and costs nothing: dropping xa from xaQ leaves the coefficient multiset, hence the height, and the multiplicity at 1, hence the flattening, so Q is a minimiser of the same cell of lower degree. All three of A, B and C are reciprocal — the coefficient list reads the same backwards — with every root on |z| = 1: writing y = x + 1/x they become 2y² + 4y + 1, 2y + 3 and 3y + 5, whose roots −1 ± √2⁄2, −3/2 and −5/3 are real and inside (−2, 2), which is the interval y = 2cos θ carries onto the circle. The roots of C are (−5 ± i√11)/6, of modulus squared (25 + 11)/36 = 1 exactly.

So the pure products and their enrichments sit inside one class — integer polynomials with every root on the unit circle — and Kronecker is what makes that the class rather than a convenient description of a few cases: a monic integer polynomial — one whose leading coefficient is 1 — with nonzero constant term and every root on the circle has every root a root of unity, hence is a product of cyclotomics. Being non-monic is therefore the only way out of the cyclotomic products. What carries the statement the rest of the way to the PURE products is the census's other half — that the cyclotomic part decomposes as ∏(xd − 1) at every one of the 695 — and no theorem supplies that. So the law that failed was never a rival to the one that replaced it: a pure product is a monic member of this class, by Kronecker every monic member is a product of cyclotomics, and at every one of these 695 cells the cyclotomic part that actually appears is a pure product. Least height over (pure product)·A and over (pure product)·B, each swept over the same enumeration of factor multisets as the pure family so that the three are three heights of one object, beats the pure family at exactly the 83 failing cells and nowhere else, and attains h at 80 of them: it never improves without being exactly right, and the three where it improves without attaining are exactly the three whose residual the pair cannot make — the two A·B cells and the C cell.

The law is about attainment and not about minimisers, and the difference is measured. The enumeration shrinks its radius on every improvement, so it never meets a second vector of the winning height and every sentence above reads one minimiser per cell. A second pass at the fixed radius hM collects them all where it can afford to. That pass was run over the earlier 550-cell chart alone, so every count in this paragraph is scoped there: it closes 405 of the 550 — the rest capped by the same ball-volume law, a small height with a wide lattice being where the ball swallows everything. At 28 of the 405 two minimisers of one cell have different residuals, and at 24 some minimiser leaves the class entirely, though only at heights 1, 2, 3 and 6. So what is exhaustive is that h is ATTAINED inside the class at every cell; that everything attaining it is inside is false. The same pass answers the height dial's uniqueness question, where the degree dial reads unique: 246 closed cells have h ≥ 10 and 51 of them carry more than one minimiser up to sign, the largest holding nine.

Scope. Rule, exhaustive in range: 695 cells at 4 ≤ M ≤ 40 and 2 ≤ J ≤ 30, every value an exact integer computation, with the attainment statement read over all 695 and the minimiser statements over the 405 cells of the earlier 550-cell chart that the second pass closes, that pass never having been run past depth 20. Of the 145 the pass does not close, the 88 its node budget never reaches are the lowest in height by construction, the pass walking downward, so they lie on the same side as the cells where a minimiser does leave the class; the other 57 cap wherever the ball is too populous and their heights go unreported. The lattice identification and the radius bound are properties, algebra at any width and depth. Kronecker's theorem is classical and is used one way only: it forbids a monic cyclotomic-free residual of positive degree from having every root on the circle, and says nothing against a non-monic one having a root off it. That every cyclotomic part is a pure product is a census over the 695 and not a theorem, and a root at 0 is off the circle, which is why a power of x is divided out above rather than left to a qualifier here. The rank window is a measurement and is stated as a necessary condition only: nothing here derives it, and what makes it more than a fitted range is that it survived the chart growing by 145 cells without moving. The eight scored quantities are named above; a best cut is chosen for each by minimising its two error counts, and the two controls the scoring runs against — a quantity that must separate perfectly and one that must not — behave as they must before any verdict is read. The route recomputes what the other instruments cost — the height-2 boundary at 244 cells and the classical height-1 boundary at 415, each check confirming its boundary from one side or the other, the closed form at rank 1, h's monotonicity in each of its two arguments at 1,044 comparisons, and the three refuting cells the narrower chart found reproduced with their factorisations — and every split multiplies back to its own witness at all 695. A SUFFICIENT condition for a cell to fail is open, as is whether the class has further members past width 40 and depth 30 — one turned up in the first 145 cells past depth 20, so that question is now open with evidence behind it rather than on principle — and so is whether the minimiser SET obeys the window and the class at the deep cells the second pass never reached. Toy scale.

verifiers: explore_flatten_lattice.py, explore_flatten_family.py, explore_flatten_select.py

The last of these is checkable without the instrument: the witnesses are integer vectors, divisibility by (x−1)J is J synthetic divisions, and the three multipliers are two quadratics and a quartic. What the pricing problem behind these charts does with them is the flattening law.