The Corner, and the Method It Forced

The Corner, and the Method It Forced

The most useful result the campaign has produced, because it is a full loop: a measurement, a mechanism, a prediction, and a method built on the prediction that works.

The measurement

φ is not smooth at its minimum. Measuring one-sided slopes and refining the step:

h (deg) left, per deg right, per deg left, per rad right, per rad
10−2 3.049623×10−3 6.702833×10−3 0.1747 0.3840
10−3 3.049503×10−3 6.700977×10−3 0.1747 0.3839
10−4 3.049491×10−3 6.700791×10−3 0.1747 0.3839
10−5 3.049490×10−3 6.700772×10−3 0.1747 0.3839

Both converge, and they converge to different values, ratio 2.1973. The derivative does not vanish at a*; it jumps.

exp-010 measured the same quantity through sqpack.quench—a different LP formulation, a different code path—and recorded 0.1747 and 0.3841, ratio 2.198, stable over five decades on each side. Two implementations, one number.

The mechanism

Where the LP’s optimal basis is locally constant, φ is smooth and its derivative is read off that basis. A corner occurs where the optimal basis switches as a crosses a*. Because a basis is only a subset of the active rows, a basis switch alone does not show that the full active-contact set changed. The switch at the minimum establishes a kink in this one-dimensional class-angle objective. It does not by itself prove rigidity of the full packing; that requires ruling out every other feasible motion, not just motion along this slice.

The prediction, and what it cost to ignore

A kink invalidates derivative-based smooth local models, but does not imply that every derivative-free method must fail. In this implementation and from these starts, exp-006: finite-difference descent stalled five orders short, and Powell and Nelder-Mead both did worse than descent (+1.06×10−2 and +3.34×10−6 against descent’s +2.78×10−7).

The method, and what it bought

Replace the smooth descent with a bracketing search over merged angle classes—a method that tolerates non-smoothness—and hold everything else fixed. On the same annealer output:

n annealer + angle descent + class bracketing
5 3.4274×10−8 3.1875×10−8 2.2204×10−15
10 5.318×10−3 4.507×10−3 1.3323×10−15
11 8.846×10−2 6.999×10−2 6.2894×10−2

Seven orders at n=5 and twelve at n=10, from changing only how the angle half searches. At n=5 both quenches find the same contact structure and the same two angle classes, so the difference is entirely in whether the search can land on the corner.

This is strong method-selection evidence, not a convergence theorem. The successful bracketing run and the failed tested alternatives justify the current implementation choice; H-019 does not prove that every derivative-free method fails or that bracketing is necessary.

And what it did not buy

Nothing at n=11. The bracketing quench moves the target from 8.85×10−2 to 6.29×10−2 (exp-009), against machine precision on both proved instance cells. The tested starts remain far from Trump’s construction after the local procedure. An LP-in-cell solve is local: it returns the best packing in the cell it is given. That explains the lack of rescue without deciding whether the endpoints belong to a distinct terminal component.

Other consequences

  • The refiner is an LP solve per cell, at solver precision, and it is built. That is the campaign’s middle tier, and it is real.
  • Terminal endpoint observations become inspectable. The free-angle pass removes one merge-tolerance artifact and returns a pose with side length good to ≈10−11, so retained endpoints can be compared and replayed. It does not make local minima discrete or define component identity: the exact n=3 continuum proves that one connected stationary family can produce many endpoint keys. A census, atlas, or basin statistic remains inadmissible until the component relation is resolved (D-020, D-034).
  • The search space factorises into a small continuous part (the angles) and a combinatorial part (the cell), which is the premise of H-001—now with a concrete prior, since the class-constrained search reached the solver floor in 70 LP solves where free descent needed 1,024 and landed five orders worse.
  • Rational-slope tilts would need no number field. At a Pythagorean angle such as arctan(3/4) every coordinate and the cell optimum are rational, so exact verification would be ℚ-arithmetic at degree 1. Realising that needs the exact rational LP, which is unbuilt.

Reproducing all of it

cd packing
uv run --frozen python -m cases.trump11.verify_exact
uv run --frozen python -m cases.trump11.independent_lp_cell
uv run --frozen python -m cases.campaign_smoke.quench_experiment
uv run --frozen --group dev packing-validate

cases.trump11.independent_lp_cell asserts every figure quoted above, including agreement with H-019’s registered slopes, so a change that breaks one fails the gate rather than silently editing the record.