Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions notes/issue-633-glift-exact-lab-20260908.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# #661 — Compatible g-lift vs exact-lab ΔZ (after the #633/#653 repairs)

Leftover of #633, not a new production, not #622. One comparison, one notes
file. No N725 rerun, no new Monte Carlo, no STATUS, draft PR, no merge.

**Objects used (all existing):**

| object | source |
|---|---|
| frozen g (9 deciles, 725 not in the freeze) | `results/type582-residual/latest.json` `consensus_g`, cross-checked identical to `results/p612-n725-score/latest.json` spin0 consensus |
| repaired exact laboratory | `results/probe-invariant-shape/census-exact.json` (PR #653; bond `dual_fail = 0`; PR #628's broken bond Z **not** copied) |
| PR #655 lineage | `results/probe-invariant-shape/n725-zflow-corrected.json`, `scripts/threshold_quantile_lineage.py` (brought here unchanged from `analysis/633-n725-spin0`) |
| withdrawn historical reading | `results/probe-invariant-shape/blindness-and-glift.json` (93.9° raw / 159.6° affine-removed — withdrawn in #633) |

**Engine:** `scripts/probe_invariant_shape/issue661_glift_exact_lab.py` →
`results/probe-invariant-shape/issue661-glift-exact-lab.json`.

---

## Formula and anchors

```text
DZ_Q[g](u) = (g(u)−g(a))/W − (Q(u)−Q(a))(g(b)−g(a))/W²
W = Q(b)−Q(a)
```

Shared anchors **a = 0.2, b = 0.8** (both exist on g's 9-decile grid; no
interpolation of g, so the 1/4–3/4 sensitivity is not even computed).
Angles are **unoriented** (|cosine|), per the #633 retraction of the
159.6° oriented reading.

**Chart exactness.** The census stores Q only at the 1/4, 3/4 anchors and
Z on the 9 deciles; Q on the deciles is recovered as `Q(u) = Q(1/4) + (Q(3/4)−Q(1/4))·Z(u)`,
i.e. exactly up to an affine map of Q. The lift direction is invariant
under `Q ↦ cQ + d` (because `DZ_{cQ+d}[g] = DZ_Q[g]/c`), so the angle
below is chart-exact, not an interpolation. Nothing about the anchor pair
0.2/0.8 is missing on either side, so no angle is left undetermined.

**Comparison object.** ΔZ = Z_{L=4} − Z_{L=3} on the same deciles,
recomputed from the repaired census — the same object named in #633
(`blindness-and-glift.json` direction 6). The exact laboratory is
deterministic (a census), so it carries no sampling covariance; the N725
jackknife covariance lives in `n725-zflow-corrected.json` and is cited,
not recomputed.

---

## Result: g-lift vs exact-lab ΔZ, unoriented

| Q used for the lift | unoriented angle | \|cosine\| |
|---|---:|---:|
| site L=3 (primary) | **24.87°** | 0.9073 |
| site L=4 | 24.72° | 0.9083 |
| bond L=3 (dual_fail = 0) | 25.81° | 0.9003 |

Primary reading (spin0 g, Q = site L=3, ΔZ = Z_{L=4}−Z_{L=3}):

```text
DZ_Q[g]: [-0.0459, 0.0000, 0.2328, 0.4543, 0.6099, 0.6550, 0.5133, 0.0000, -1.5582]
ΔZ_exact: [-0.0068, 0.0002, -0.0010, -0.0035, -0.0055, -0.0057, -0.0031, 0.0049, 0.0258]
unoriented angle 24.87° (|cos| = 0.9073)
```

**What this means.** The g-lift with anchors 0.2/0.8 is a *chart-compatible*
version of the #633 direction-6 question: g is lifted into the affine chart
of Q before the angle is taken, instead of comparing raw 9-vectors. On the
exact laboratory the lifted g and the lab tangent are close to parallel
(|cos| ≈ 0.91, unoriented ≈ 24.9°) — a materially different picture from
the withdrawn raw 93.9°/159.6° reading, and from the raw tiny-torus
unoriented 20.4°.

**Scope limits, stated not hidden:**

* The exact-lab/tiny-torus ΔZ is a toy-size tangent. **It cannot prove an
asymptotic mismatch**, and the ~25° agreement here does not prove a lift
in the N-regime either.
* On N725 there is still no second production size, so N725 g-vs-ΔZ
remains **undetermined** — unchanged from #655. The 81.4° number in
`n725-zflow-corrected.json` is g-lift vs Z_725 in the 0.2/0.8 chart (a
same-size parallelism check), **not** the g-vs-ΔZ test and not used as
an incompatibility claim.
* The `equal` consensus g (a different freeze vector, not just a
reweighting) gives 25.10° / 24.97° / 25.95° across the same three Q's —
sensitivity only, not a second vote (Δ < 0.3° on the primary).

---

## What was NOT done

* No N725 rerun; `n725_100m.hist.csv` untouched.
* No new production, no new S theory (#622 territory).
* No STATUS edit, no merge, #633/#622 stay open.
* The PR-#628 broken bond Z (dual_fail = 118133) is asserted against: the
script refuses to run on a census whose bond `dual_fail ≠ 0`.

Reproduce:

```bash
python3 scripts/probe_invariant_shape/issue661_glift_exact_lab.py
python3 -m unittest discover -s tests -p "test_issue661*"
```
39 changes: 17 additions & 22 deletions results/probe-invariant-shape/census-exact.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,31 +97,26 @@
"3": {
"bonds": 18,
"configs": 262144,
"dual_fail": 118133,
"dual_fail": 0,
"rank_pair_counts": {
"0,2": 51704,
"1,2": 49263,
"0,1": 4397,
"1,1": 41839,
"1,0": 5633,
"2,2": 12183,
"2,1": 46657,
"2,0": 50468
"0,2": 75460,
"1,1": 111224,
"2,0": 75460
},
"M_half": "-309/65536",
"M_half_float": -0.0047149658203125,
"Q_quarter": 0.06398471681373033,
"Q_threequarters": 0.0756899475848746,
"M_half": "0",
"M_half_float": 0.0,
"Q_quarter": 0.3882947252165274,
"Q_threequarters": 0.6117052747834726,
"Z_levels_float": [
-0.7416617264257065,
-0.1881488746822507,
0.15741237889336662,
0.41262227554113784,
0.6164158893134861,
0.7867630751111613,
0.9335085336027731,
1.062655985722729,
1.1781480664979216
-0.4351929790516855,
-0.12188426707886556,
0.11038357169268018,
0.31127822617880646,
0.4999999999999995,
0.688721773821193,
0.8896164283073188,
1.1218842670788656,
1.435192979051685
],
"self_dual_p_half": 0.5
}
Expand Down
228 changes: 228 additions & 0 deletions results/probe-invariant-shape/issue661-glift-exact-lab.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
{
"schema": "matching-one.probe-invariant-shape.issue661-glift-exact-lab.v1",
"issue": 661,
"leftover_of": 633,
"not_a_new_production": true,
"not_622": true,
"n725_rerun": false,
"levels": [
0.1,
0.2,
0.3,
0.4,
0.5,
0.6,
0.7,
0.8,
0.9
],
"g_anchors": [
0.2,
0.8
],
"g": [
-0.2887126766006569,
-0.12066783122729056,
0.06921759100370817,
0.2385347464569182,
0.3780737808016512,
0.47827324271813404,
0.518589378735454,
0.444347665976014,
0.048264834818264817
],
"g_provenance": [
"results/type582-residual/latest.json consensus_g",
"results/p612-n725-score/latest.json weightings.spin0.consensus_direction_frozen_from_five_committed_transitions"
],
"g_freeze_excludes_725": true,
"inputs": {
"census": "results/probe-invariant-shape/census-exact.json (PR #653 repaired; bond dual_fail = 0)",
"n725_corrected": "results/probe-invariant-shape/n725-zflow-corrected.json (PR #655, cited not recomputed)",
"historical_withdrawn": "results/probe-invariant-shape/blindness-and-glift.json"
},
"formula": "DZ_Q[g](u) = (g(u)-g(a))/W - (Q(u)-Q(a))(g(b)-g(a))/W^2, W = Q(b)-Q(a), a=0.2 b=0.8",
"chart_note": "Q on the deciles is recovered from the census Z exactly up to affine; the lift direction is invariant under Q -> cQ + d (DZ_{cQ+d}[g] = DZ_Q[g]/c), so the angle is chart-exact.",
"exact_lab_deltaZ_site_L4_minus_L3": [
-0.006797699629817133,
0.0002479930160355637,
-0.0009907372721496138,
-0.003537707044666105,
-0.0054824715154933035,
-0.005748146216893901,
-0.0030877168533604005,
0.004938246020020465,
0.02583032703854138
],
"angles": {
"spin0": {
"DZ_Q3_vs_deltaZ_site": {
"DZ_Q[g]": [
-0.04590685144626999,
0.0,
0.23275668196968086,
0.45426388884666424,
0.6099303197327367,
0.6549966226111241,
0.5133120513829883,
0.0,
-1.5582388669503862
],
"Q_used": "site L=3 quantile on deciles (from census Z, affine-exact)",
"angle": {
"undetermined": false,
"abs_cosine": 0.9072881745290168,
"unoriented_angle_deg": 24.866753181486924,
"oriented_angle_deg": 155.13324681851307,
"supplement_deg": 24.866753181486928
}
},
"DZ_Q4_vs_deltaZ_site": {
"DZ_Q[g]": [
-0.0467072732003041,
0.0,
0.2906501536787948,
0.5694317237611014,
0.7659051017146012,
0.823125854548467,
0.6451526874124143,
0.0,
-1.9549459013266768
],
"Q_used": "site L=4 quantile on deciles (from census Z, affine-exact)",
"angle": {
"undetermined": false,
"abs_cosine": 0.9083441109890034,
"unoriented_angle_deg": 24.722486365157316,
"oriented_angle_deg": 155.27751363484268,
"supplement_deg": 24.722486365157323
}
},
"DZ_Qbond_vs_deltaZ_site": {
"DZ_Q[g]": [
-0.0925461373162797,
0.0,
0.30363539443401505,
0.5845402808640013,
0.7781807179715399,
0.830246212876729,
0.6469032505536589,
0.0,
-1.9376320845061075
],
"Q_used": "bond L=3 quantile on deciles (from census Z, affine-exact)",
"angle": {
"undetermined": false,
"abs_cosine": 0.9002696949407579,
"unoriented_angle_deg": 25.806459892823096,
"oriented_angle_deg": 154.19354010717691,
"supplement_deg": 25.806459892823085
}
}
},
"equal": {
"DZ_Q3_vs_deltaZ_site": {
"DZ_Q[g]": [
-0.06074480777126601,
0.0,
0.2690998907679317,
0.5231614255047904,
0.7007382235322221,
0.7511455365479518,
0.5877518445553369,
0.0,
-1.7786716284121584
],
"Q_used": "site L=3 quantile on deciles (from census Z, affine-exact)",
"angle": {
"undetermined": false,
"abs_cosine": 0.9055334394141108,
"unoriented_angle_deg": 25.10477552619196,
"oriented_angle_deg": 154.89522447380804,
"supplement_deg": 25.104775526191958
}
},
"DZ_Q4_vs_deltaZ_site": {
"DZ_Q[g]": [
-0.0645774503946358,
0.0,
0.3356090283629875,
0.6547639839121768,
0.8784412084587006,
0.9423167591680894,
0.737441641740441,
0.0,
-2.2281236532821502
],
"Q_used": "site L=4 quantile on deciles (from census Z, affine-exact)",
"angle": {
"undetermined": false,
"abs_cosine": 0.906540049437126,
"unoriented_angle_deg": 24.968492825628104,
"oriented_angle_deg": 155.0315071743719,
"supplement_deg": 24.96849282562809
}
},
"DZ_Qbond_vs_deltaZ_site": {
"DZ_Q[g]": [
-0.11168753664293107,
0.0,
0.34775293253809186,
0.6679021943687657,
0.8878200232915316,
0.9461404725444196,
0.7364937344340572,
0.0,
-2.2019474775399637
],
"Q_used": "bond L=3 quantile on deciles (from census Z, affine-exact)",
"angle": {
"undetermined": false,
"abs_cosine": 0.8991400297273758,
"unoriented_angle_deg": 25.954742784699015,
"oriented_angle_deg": 154.04525721530098,
"supplement_deg": 25.95474278469902
}
}
}
},
"sensitivity_equal_weighting": {
"note": "Equal weighting is a sensitivity, not a second vote.",
"delta_unoriented_deg_primary": -0.23802234470503691
},
"historical_withdrawn_reading": {
"source": "results/probe-invariant-shape/blindness-and-glift.json",
"raw_deg": 93.91923544902247,
"affine_removed_deg": 159.62484413088862,
"unoriented_deg": 20.37515586911138,
"status": "withdrawn in #633 (raw oriented angle and affine-removed reading replaced by unoriented 20.4)"
},
"scope_limits": [
"The exact laboratory is deterministic: no sampling covariance for Delta Z_exact; the N725 jackknife covariance lives in n725-zflow-corrected.json and is cited, not recomputed.",
"Tiny-torus / exact-lab Delta Z cannot prove an asymptotic mismatch.",
"Equal weighting is a sensitivity, not a second vote."
],
"n725_cited_not_recomputed": {
"file": "results/probe-invariant-shape/n725-zflow-corrected.json",
"g_lift_DZ_Q_anchors_0.2_0.8": [
-0.21272027493304035,
0.0,
1.2412422534636602,
2.428553083731784,
3.263644590503705,
3.50488701715073,
2.7449924738210703,
0.0,
-8.298053476346686
],
"angle_g_lift_vs_Z_in_0.2_0.8_chart": {
"undetermined": false,
"abs_cosine": 0.1489195537575465,
"unoriented_angle_deg": 81.43568168217404,
"oriented_angle_deg": 98.56431831782596,
"supplement_deg": 81.43568168217404
},
"tiny_torus_unoriented_deg": 20.37515586911138,
"status": "no second production size; N725 g-vs-DeltaZ remains undetermined"
}
}
Loading
Loading