From 27d68ee6f7836167b7b64188a8968003feb16530 Mon Sep 17 00:00:00 2001 From: Light Chain Date: Sat, 12 Sep 2026 16:11:55 +0800 Subject: [PATCH 1/2] notes: #681 restricted finite-torus to cylinder-sector bridge Typed dictionary, primary-source passages with equation locations, one scoped verdict (conditional cylinder bridge), and one smallest remaining obligation. Retrieval/proof only; no transfer engine, no census, no STATUS/ROADMAP edit. Jacobsen 2015 and Mertens-Ziff 2016 read as primary text; Jacobsen 2024 reply is abstract-only (not on arXiv, IOP full text behind a bot gate). --- notes/p681-cylinder-sector-bridge-20260912.md | 322 ++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 notes/p681-cylinder-sector-bridge-20260912.md diff --git a/notes/p681-cylinder-sector-bridge-20260912.md b/notes/p681-cylinder-sector-bridge-20260912.md new file mode 100644 index 00000000..f9d2f042 --- /dev/null +++ b/notes/p681-cylinder-sector-bridge-20260912.md @@ -0,0 +1,322 @@ +# #681 — restricted finite-torus to cylinder-sector map: dictionary, primary passages, one verdict + +Date: 2026-09-12. Base read: `main@6edf775e` (includes #702–#704). Retrieval/proof +only. No transfer engine, no census, no production run. This note does **not** +enter `docs/STATUS.md` or `docs/ROADMAP.md`. + +Scope reminder used throughout: `D = r_b − 1` and `M_{n,m} = P_2 − P_0` are already +theorems on honest tori (`notes/digital-alexander-duality-proof.md`, +`notes/exact-foundations-correction-20260912.md`). They are cited, not re-proved. +The unrestricted #675 operator no-go is withdrawn and is **not** cited as a theorem. + +--- + +## 1. Typed dictionary + +| object | definition used here | source | +|---|---|---| +| torus size | `(n,m)`: honest periodic square-cell torus, both directions identified; committed exact data at `n = m = L ∈ {3,4}`; the cylinder estimators use circumference `n` and `m → ∞` | repo; Jacobsen 2015 §3 | +| site weights | Bernoulli, product measure on `{0,1}^{nm}`: a configuration of size `k` has weight `p^k (1−p)^{nm−k}`; `v = p/(1−p)` (Potts/FK variable) | Mertens–Ziff (3); Jacobsen 2015 (3) | +| state space | all `2^{nm}` black/white colourings; `B` = black vertex set | repo enum | +| local black law | NN 4-connected induced graph `G_B`, ambient image `A ⊆ H_1(T^2;Q)` | digital-Alexander note | +| local white law | NN **and** NNN (8-connected) induced matching graph, complementary convention; ambient image `C = A^⊥` | digital-Alexander note | +| rank | `r_b = rank A ∈ {0,1,2}`, `r_w = rank C = 2 − r_b` (configuration-by-configuration theorem) | digital-Alexander note | +| rank-2 event | `A_2 = {r_b = 2}` (black spans both directions), mass `P_2` | repo | +| rank-0 event | `A_0 = {r_b = 0}` (black contractible, white spans both directions), mass `P_0` | repo | +| rank-1 event | `A_1 = {r_b = 1}` (one-direction wrapping), mass `P_1`; **does not appear in `M`** | repo | +| observable | `q = 1[r_b>0] − 1[r_w>0] = r_b − 1`; finite matching function `M_{n,m}(p) = E[q] = P_2 − P_0`; normalized `F = (1+M)/2` | repo; Mertens–Ziff | +| closure functional | Jacobsen's `n_wind = 0`: loops of non-trivial homotopy are removed with weight `n_wind`; this excludes `Z_1D` and forces `s = 0` states to be either **open** or **closed**, never mixed | Jacobsen 2015 §3, (9) | +| transfer blocks | `T̃ = ⊕_{k≥1} T^{(s=2k)} ⊕ T_open ⊕ T_closed`; ordering `Λ_open, Λ_closed > Λ^{(2)} > Λ^{(4)} > …` | Jacobsen 2015 (9), (10) | +| open sector | `Z_2D ~ (Λ_open)^m`: FK cluster spanning (both ways on the cylinder) — the black rank-2 event | Jacobsen 2015 (11) | +| closed sector | `Z_0D ~ (Λ_closed)^m`: dual FK cluster spanning — the white rank-2 / black rank-0 event | Jacobsen 2015 (12) | +| square-site R-matrix | `Ř_i = E_{i+2} E_i + v E_{i+1}`, with `q = 1`, `p = v/(1+v)` | Jacobsen 2015 (32) | +| spin sectors | `μ = 0` untwisted: dominant `Λ_0`, first subleading `Λ_0^{(1)}`; `μ = 1` twisted: `Λ_1`; ordered `Λ_0 > Λ_1 > …`, `Λ_μ = Λ_{q−μ}` | Jacobsen 2015 §9, (56) | +| abstract encoding (contrast) | configuration-indexed diagonal `W_p` with projectors `P_j` onto `r_b = j` gives `M = tr((P_2 − P_0) W_p)` — trivially possible, exponentially large, **not** a row transfer, **not** pTL, **not** a leading-eigenvalue identity | #702 note §2 | + +**Terminology disambiguation.** The phrase "one-pTL sector criterion" is **not** +Jacobsen's and does **not** occur in arXiv:1507.03027 (checked against the full +HTML body). The criterion intended by the ticket is identified here as Jacobsen's +in-algebra statement `P_B = 0 ⇔ Λ_open = Λ_closed` (Eq. 13) inside the periodic +Temperley–Lieb (pTL) algebra, equivalently the spin-representation statement +`P_B = 0 ⇔ Λ_0^{(1)} = Λ_1` (Eq. 57). Both are stated for **finite `n`**, in the +**`m → ∞`** limit. The abstract states the same thing qualitatively: "`T_c(n)` is +determined by equating the largest eigenvalues of two topologically distinct +sectors of the transfer matrix." + +--- + +## 2. Primary-source passages + +### 2.1 Jacobsen 2015 — arXiv:1507.03027, J. Phys. A 48 (2015) 454003 — `PRIMARY_TEXT_READ` + +Read from the arXiv HTML rendering of v1 (full body; 33 pp.). Verbatim: + +- **(4)** `P_B(q,v) = Z_2D − q Z_0D.` Preceding definition: `Z_0D` sums edge + subsets whose clusters all have trivial homotopy on toroidal boundary + conditions; `Z_2D` "corresponds to clusters that wrap both periodic + directions"; `Z_1D` ("wrapping one but not the other periodic direction") does + not appear. +- **(9)** `T̃ = ⊕_{k=1}^{n} T^{(s=2k)} ⊕ T_open ⊕ T_closed.` +- **(10)** `Λ_open, Λ_closed > Λ^{(2)} > Λ^{(4)} > ⋯ > Λ^{(2n)}.` +- **(11)/(12)** `Z_2D ∼ (Λ_open)^m`, `Z_0D ∼ (Λ_closed)^m`. +- **(13)** `P_B(q,v) = 0 ⇔ Λ_open = Λ_closed`, "valid for a basis `B` of size + `n × m`, with `n` finite and `m → ∞`." Preceding sentence: "If (4) is to have a + (positive, unique) zero as a function of `v` … there must exist some + `v_c(n) > 0` so that `Λ_open = Λ_closed`." +- **(22)–(23)** `n = 1` square case: lower block-triangular `T` with blocks + `s = 2` and the two `s = 0` blocks, each 1-dimensional; eigenvalues + `Λ^{(2)} = 4x^2`, `Λ_closed = (n_loop + 2x)^2`, `Λ_open = x^2(2 + n_loop x)^2`. +- **(24)** `Λ_open − Λ_closed = n_loop(x^2 − 1)(n_loop x^2 + 4x + n_loop)`, "is + proportional to the graph polynomial `P_B(q,v) = (v^2 − q)(q + 4v + v^2)` for + the `n × m = 1 × 1` basis. In this case, where all blocks are one-dimensional, + it is obvious … that the relevant roots of `P_B(q,v)` are independent of `m`." + **This is the only place in the source where proportionality is stated, and it + is explicitly restricted to the 1-dimensional-block case.** +- **(32)** square-site R-matrix `Ř_i = E_{i+2} E_i + v E_{i+1}`. +- **(49)** `f_open(n) − f_closed(n) = o(n^{-2})`; **(50)** + `p_c(n) − p_c = O(n^{-4})`, "and moreover the corrections appear to be + `O(n^{-6})`, `O(n^{-8})`, and so on." NOTE: this is the **cylinder** estimator + `p_c(n)` from the open/closed free-energy difference, not the torus matching + root. +- **(51)–(55)** spin representation; **(56)** + `Z_{μ,ν} = c_{μ,ν}(Λ_μ)^m + c_{μ,ν}^{(1)}(Λ_μ^{(1)})^m + …`, ordered + `Λ_μ > Λ_μ^{(1)} > ⋯`, `Λ_0 > Λ_1 > …`. +- **(57)** `P_B(q,v) = 0 ⇔ Λ_0^{(1)} = Λ_1`, "valid for finite `n`, in the limit + `m → ∞`." + +### 2.2 Mertens–Ziff 2016 — arXiv:1603.07289, Phys. Rev. E 94, 062152 — `PRIMARY_TEXT_READ` + +Read from the arXiv HTML rendering of v2 (full body, 8 pp.). Verbatim: + +- **(2)** square matching polynomial `χ_□(p) = p − 2p^2 + p^4`. +- **(4)** `N_L(p) − N̂_L(1−p) − L^2 χ(p) = R_L^x(p) − R̂_L^x(1−p)`, where `x` + runs over wrapping types. **(12)** the cross-wrapping form; **(17)** + `M_L(p) = R^b_L(p) − R̂^b_L(1−p)`; **(20)** "`M_L(p) = R_L^x(p) − R̂_L^x(1−p)`, + `x ∈ {c,b,e,h}` … This is the main result of this paper." +- **(11)** `N_L − N̂_L − (V − E + F_0) = +1 / −1 / 0` according as the black + cross-wraps / the matching cross-wraps / neither. +- **(13)** `χ(p) = L^{-2}(⟨V⟩ − ⟨E⟩ + ⟨F_0⟩)` "is the matching polynomial of + Sykes and Essam." +- **(15)** `M_L(p) = N_L(p) − N̂_L(1−p) − L^2 χ(p)` "the matching function." +- **(21)** Scullard–Jacobsen condition `R^c_L(p) − R^0_L(p) = 0`; the text proves + it is "identical to the right-hand side of (12) being equal to 0", because + `R^0_L(p) = R̂^c_L(1−p)` (no wrapping on the primary = cross-wrapping on the + dual). Abstract: "The criterion that follows is related to the criterion + Scullard and Jacobsen use to find precise approximate thresholds." +- **root.** "The matching function `M_L(p)` has a unique root `p*_L ∈ (0,1)` + which converges to the critical density `p_c` as `L → ∞`. Empirically, the rate + of convergence is `p*_L − p_c ∼ L^{−w}` with `w ≈ 4` [16,17]." They then give + **(39)** `p*_L − p_c ∼ L^{2−x−1/ν}` and state the numerical value + `w = 2 − x − 1/ν = −3.42 − 3/4 = −4.17`, "somewhat larger than the value 4 + suggested by Jacobsen [17]"; the measured slope is `−4.07`. +- **transfer/eigenvalue.** No "difference of leading eigenvalues" statement + occurs in this paper; the only transfer-matrix mentions are methodological. + +### 2.3 Jacobsen 2024 reply — J. Phys. A 57 258002, DOI 10.1088/1751-8121/ad4d33 — `ABSTRACT_ONLY` + +Honest retrieval status: + +- The reply is **not** on arXiv (checked the arXiv author listing and API; only + v1 of 1507.03027 exists). The HAL record `hal-04980206` carries metadata and a + one-sentence abstract only, with no deposited file: *"The authors replies to the + comment made by Yang and Zhou (2024 J. Phys. A: Math. Theor.) on his 2015 paper + entitled 'Critical points of Potts and O(N) models from eigenvalue identities in + periodic Temperley–Lieb algebras' (Jacobsen 2015 J. Phys. A: Math. Theor. 48 + 454003)."* +- The IOP full text is behind a Radware bot gate; the Wayback copy is rate-limited. + Three short **body fragments** were recovered only from the publisher's own + search index and are quoted here as fragments, not as primary body: + "We illustrated the method in three different cases, providing, in particular, + precise numerical values for these estimators `p_c(n)` for site …"; "In their + comment, Yang and Zhou [3] have extended the series to `n = 24`. They also + studied the same model with helical boundary …"; "They also studied the same + model with helical boundary conditions, again giving estimators up to order + `n = 24`. Based on these two …". + +Consequence: the reply's **verdict cannot be inherited**. Nothing below depends +on it. Its fragments are consistent with Jacobsen treating `p_c(n)` as a +finite-size estimator, which is already established from §2.1. + +Supporting (not one of the three named sources): Yang–Zhou 2024 Comment +J. Phys. A 57 258001, DOI 10.1088/1751-8121/ad4d2c — `ABSTRACT_ONLY`. Abstract: +they compute exact critical probabilities `h(n)` for an `n × ∞` helical square +lattice and extend the cylindrical `p_c(n)` to `n = 24`, concluding that +Jacobsen's `p_c = 0.59274605079210(2)` "is incorrect and the corrected value +should be `0.5927460507896(1)`." The body was not retrievable. This is a +numerical disagreement about the 13th decimal of an extrapolation; it does not by +itself bear on the operator bridge, and is recorded only as context. + +--- + +## 3. Strongest equality actually justified at finite `n,m` + +The exact finite statement available is Mertens–Ziff **(20)**: +`M_L(p) = R^x_L(p) − R̂^x_L(1−p)` at every `p` and every periodic size `L`, with +`x` any of cross/both/either/horizontal. Combined with repo theorem +`M_{n,m} = P_2 − P_0`, this identifies the finite torus matching function with a +**signed wrapping-amplitude difference**. It is a probability-root balance, not a +difference of leading eigenvalues. + +Mertens–Ziff **(21)** + `R^0_L = R̂^c_L(1−p)` then identifies the same quantity +with the Scullard–Jacobsen critical polynomial, whose zero is Jacobsen's +`P_B = 0`. So at the level of the **polynomial and its zero**, the chain + +``` +root of M_{n,m} = 0 ⟺ R^c − R̂^c = 0 ⟺ Scullard–Jacobsen P_B = 0 +``` + +is a theorem at finite size (Mertens–Ziff), and Jacobsen 2015 (13) identifies the +`m → ∞` limit of that same `P_B` with `Λ_open = Λ_closed`. What is **not** a +theorem at finite `m` is the replacement of `Z_2D − Z_0D` by `Λ_open − Λ_closed`; +Jacobsen's proportionality (24) is proved only for the `n = 1` case where every +block is 1-dimensional. + +**Coefficient identity against already-committed data (a check, not a proof for +all `n,m`).** The committed exact honest-torus polynomials are +(`notes/probe-exact-controls-new-map-20260907.md`, reproduced by +`scripts/homological_balance/exact_torus_enum.py`): + +``` +L=3: M(p) = −1 + 6p^3 − 18p^7 + 18p^8 − 4p^9 +L=4: M(p) = −1 + 8p^4 + 32p^6 − 64p^7 + 172p^8 − 704p^9 + 1104p^10 + − 608p^11 − 56p^12 + 128p^13 + 16p^14 − 32p^15 + 6p^16 +``` + +with the committed exact values `M(0) = −1`, `M(1) = +1`, `M(1/2) = −21/64` +(L=3) and `−13757/32768` (L=4), `M'(1/2) = 225/64` (L=3), `4209/1024` (L=4), and +unique roots `p_L^H = 0.586511455…` (L=3), `0.590672112…` (L=4). Re-running the +committed enumerator reproduces `dual_fail = 0`, rank-pair counts +`(0,2)/(1,1)/(2,0) = 259/162/91` at L=3, and the same root. These are the +coefficient identities available to check a proposed formula; they do not +establish any statement for all `n,m`. + +--- + +## 4. The `m → ∞` step + +- **Which amplitudes overlap.** In Jacobsen's FK construction the two blocks that + survive are `Z_2D ∼ c_open Λ_open^m` and `Z_0D ∼ c_closed Λ_closed^m` (11)–(12), + and `Z_1D` is removed by `n_wind = 0`. The dominant `Λ_open^m` does **not** + cancel between `Z_2D` and `Z_0D` (unlike the spin form (55), where `Λ_0^m` + cancels and the survivors are `Λ_0^{(1)}` and `Λ_1`). The crossing compared in + (13) is therefore between the two `s = 0` blocks directly. +- **Nonzero overlap.** The intermediate-value argument behind (13) requires the + coefficients `c_open`, `c_closed` to be nonzero as functions of `v` near the + crossing (nonzero top/bottom-slice overlap of the spanning and dual-spanning + sectors). The sources assert this only implicitly; for the square-site + `Ř_i` (32) it is not displayed. +- **Leading growth rates.** Eq. (10) orders `Λ_open, Λ_closed > Λ^{(2)} > …`; + this strict dominance at `q = 1`, `v > 0` is what lets the two `s = 0` + amplitudes govern the limit. Degeneracies (§9: "some of the inequalities might + not be sharp when `q` takes particular values") are hypotheses to be stated, + not conveniences. +- **Passing from probability-root balance to a crossing.** At finite `m`, + `Z_2D − Z_0D = c_open Λ_open^m − c_closed Λ_closed^m + …` is **not** + proportional to `Λ_open − Λ_closed` unless `c_open = c_closed` and the + subleading `s ≥ 2` terms drop; only as `m → ∞` does the zero of the finite-`m` + polynomial converge to the crossing (13). This is precisely the #702 caution, + and it is why the finite-torus `M` must not be swapped for an eigenvalue + difference. +- **Limit order.** Jacobsen is explicit: `n` finite, `m → ∞` first. The repo's + `M_{n,m} = P_2 − P_0` lives at finite `m`. The two limits (`m → ∞` versus + `n → ∞`) do not commute by assumption. +- A failure of one closure (e.g. wrong boundary word) is **not** a no-go for all + operators: #702's abstract diagonal representation already exhibits *an* + operator encoding `M`, and #675's blanket no-go is withdrawn. + +--- + +## 5. Three claims kept separate + +1. **`p_n^TL → p_c` (Jacobsen cylinder estimator).** Committed CSV + `data/jacobsen_2015_square_site_cylinder.csv` (n = 1…21) is the eigenvalue + identity sequence; n=1 is exactly `1/2` (consistent with (24)), n=21 is + `0.592744551481…`, trending to the paper's `0.59274605079210(2)`. Jacobsen + claims `p_c(n) − p_c = O(n^{-4})` from `f_open − f_closed = o(n^{-2})` + ((49)–(50)); the committed first differences are consistent with a leading + `~n^{-4}`. +2. **`p_L^H → p_c` (honest-torus matching root).** Committed exact L=3,4 roots + `0.586511455`, `0.590672112`; the root of `M_L` is unique in `(0,1)` (Sturm). + Mertens–Ziff report the rate only **empirically** (`w ≈ 4`), with their own + derived `2 − x − 1/ν = −4.17` and measured `−4.07`, and note Jacobsen's `4` + is a suggestion. **No matching-root exponent-4 theorem is found in any of the + three named sources.** The rate is left open. +3. **Equality of the two finite estimators or of their leading correction laws.** + They are **not equal at finite size**: at n=3 the cylinder value is + `0.5888806999` and the torus matching root is `0.5865114551` (gap ≈ 2.37e-3); + at n=4, `0.5914171709` vs `0.590672112…` (gap ≈ 7.45e-4). Mertens 2022's + committed `p_med`/`p_cell` columns (`n^{-7/4}` sequences, `ν = 4/3`) are yet + other finite estimators and also differ from both. The arithmetic + `13/4 + 3/4 = 4` is conditional on **two separate** asymptotic inputs + (`M_L(p_c) ∼ L^{-13/4}` and `M'_L(p_c) ∼ L^{3/4}`); it is not proof of either, + and #613 supplies qualitative location only. + +--- + +## 6. One scoped verdict: **conditional cylinder bridge** + +There is a genuine, explicitly definable link, but it is conditional at the +operator level. + +- **Proved (primary text).** Mertens–Ziff (20)/(21) identify the finite + matching-function root with the Scullard–Jacobsen critical-polynomial zero; + Jacobsen 2015 (13)/(57) identify that polynomial's zero — in the `m → ∞`, + fixed-`n` limit — with the crossing of two topologically distinct `s = 0` + sectors of the periodic Temperley–Lieb transfer matrix. +- **Conditional.** The step from the finite honest-torus object + `M_{n,m} = P_2 − P_0` to the eigenvalue crossing requires, and is not supplied + as a theorem by the sources: (i) `q = 1`; (ii) the `n_wind = 0` closure, which + is exactly the projection onto the rank-2/rank-0 pair and the dropping of the + `Z_1D` (rank-1) channel that `M = P_2 − P_0` already omits; (iii) the limit + order `n` finite, `m → ∞`, with the strict dominance (10) and no `q = 1` + degeneracy; (iv) coefficient nondegeneracy `c_open, c_closed ≠ 0` and, for any + *finite-`m`* identification, `c_open = c_closed`, which is proved only for + `n = 1` (24). + +So: **a conditional cylinder bridge**. The polynomial-level chain is explicit; +the finite-operator identification is not, and the matching-root rate is not +established. + +--- + +## 7. One smallest remaining obligation + +**O1 (small exact algebra, no engine, no census).** At `n = 2` — the smallest +circumference whose `s = 0` open/closed blocks are **not** 1-dimensional — +compute exactly, from the square-site `Ř_i` of Jacobsen (32): + +1. the two dominant `s = 0` eigenvalues `Λ_open(v)`, `Λ_closed(v)`; +2. the `m`-coefficients `c_open(v)`, `c_closed(v)` in `Z_2D`, `Z_0D` (56); and +3. test the finite-`m` identity at `q = 1` + `Z_2D − Z_0D = c_2(v) (Λ_open^m − Λ_closed^m)` for all `m ≥ 1`, + equivalently `c_open(v) = c_closed(v)` (or the weaker + `Λ_open − Λ_closed ∝ P_B(q=1,v)` with a nonzero proportionality generalizing + (24)). + +Outcome split: + +- **Holds** → the finite-torus `M_{n,m} = P_2 − P_0` connects to the sector + crossing *explicitly at finite `n,m`*; the bridge upgrades from conditional to + explicit. +- **Fails** (`c_open ≠ c_closed`) → the finite-torus root differs from the + crossing by the coefficient ratio, the bridge is irreducibly a limit + statement, and the limit order must be carried as a stated hypothesis. + +This is the single step none of the three sources supplies, and it is decidable +by hand-sized exact computation. It does **not** decide the matching-root +exponent, which remains open independently. + +--- + +## Provenance + +| source | status | what was read | +|---|---|---| +| Jacobsen 2015, arXiv:1507.03027, J. Phys. A 48 454003 | `PRIMARY_TEXT_READ` | full HTML v1 body; Eqs. (3),(4),(9),(10),(11),(12),(13),(22),(23),(24),(32),(49),(50),(51)–(57) | +| Mertens–Ziff 2016, arXiv:1603.07289, Phys. Rev. E 94 062152 | `PRIMARY_TEXT_READ` | full HTML v2 body; Eqs. (2),(3),(4),(11)–(15),(17),(20),(21),(23),(31),(39)–(41) | +| Jacobsen 2024 Reply, J. Phys. A 57 258002, DOI 10.1088/1751-8121/ad4d33 | `ABSTRACT_ONLY` | HAL metadata + one-sentence abstract; three publisher-index body fragments; full text behind bot gate, not on arXiv | +| Yang–Zhou 2024 Comment, J. Phys. A 57 258001, DOI 10.1088/1751-8121/ad4d2c (supporting) | `ABSTRACT_ONLY` | abstract only | +| Mertens 2022, arXiv:2109.12102, J. Phys. A 55 334002 (committed data only) | not re-read as primary here | definitions of `p_med` (14a), `p_cell` (14b), `p_pol` (26); committed CSV columns | + +No STATUS/ROADMAP edits. No merge. No production. The unique science lives in +this PR. From fc19cc748527249f0ce1c69d7cd2a88a4879427b Mon Sep 17 00:00:00 2001 From: LightChainr Date: Sat, 12 Sep 2026 16:53:59 +0800 Subject: [PATCH 2/2] Complete #681 width-two bridge: exact local transfer, full spectrum and finite-length root shift --- notes/p681-cylinder-sector-bridge-20260912.md | 487 ++++++------------ .../width2-cylinder-exact.json | 28 + scripts/width2_cylinder_exact.py | 143 +++++ tests/test_width2_cylinder_exact.py | 24 + 4 files changed, 366 insertions(+), 316 deletions(-) create mode 100644 results/research-control-20260912/width2-cylinder-exact.json create mode 100644 scripts/width2_cylinder_exact.py create mode 100644 tests/test_width2_cylinder_exact.py diff --git a/notes/p681-cylinder-sector-bridge-20260912.md b/notes/p681-cylinder-sector-bridge-20260912.md index f9d2f042..1a357ac5 100644 --- a/notes/p681-cylinder-sector-bridge-20260912.md +++ b/notes/p681-cylinder-sector-bridge-20260912.md @@ -1,322 +1,177 @@ -# #681 — restricted finite-torus to cylinder-sector map: dictionary, primary passages, one verdict +# #681 reviewed: an exact width-two torus/cylinder bridge -Date: 2026-09-12. Base read: `main@6edf775e` (includes #702–#704). Retrieval/proof -only. No transfer engine, no census, no production run. This note does **not** -enter `docs/STATUS.md` or `docs/ROADMAP.md`. +2026-09-12. Supersedes the first #705 retrieval note's proposed O1. Its useful +primary-source reading is retained below; the first version remains in Git +history. The missing small calculation is now completed, not a new task. -Scope reminder used throughout: `D = r_b − 1` and `M_{n,m} = P_2 − P_0` are already -theorems on honest tori (`notes/digital-alexander-duality-proof.md`, -`notes/exact-foundations-correction-20260912.md`). They are cited, not re-proved. -The unrestricted #675 operator no-go is withdrawn and is **not** cited as a theorem. +## 1. Exact local object, not a tautological configuration-diagonal operator ---- +Take the axis square-site torus with periods (2,0),(0,m), m>=2. It has 2m sites; +every square has four distinct corners. Retain the two periodic edges between +the same two row vertices as different lifted edges, not a collapsed simple +edge. The occupied graph is NN, the complement matching graph NN+NNN. Use the +existing digital-Alexander observable M=P2-P0=E[r_black-1]. -## 1. Typed dictionary +Put x=p(1-p), y=p^2. A row is empty, left-only, right-only or both, with weights +(1-p)^2,x,x,y. On the three NONEMPTY states (left,right,both), define -| object | definition used here | source | -|---|---|---| -| torus size | `(n,m)`: honest periodic square-cell torus, both directions identified; committed exact data at `n = m = L ∈ {3,4}`; the cylinder estimators use circumference `n` and `m → ∞` | repo; Jacobsen 2015 §3 | -| site weights | Bernoulli, product measure on `{0,1}^{nm}`: a configuration of size `k` has weight `p^k (1−p)^{nm−k}`; `v = p/(1−p)` (Potts/FK variable) | Mertens–Ziff (3); Jacobsen 2015 (3) | -| state space | all `2^{nm}` black/white colourings; `B` = black vertex set | repo enum | -| local black law | NN 4-connected induced graph `G_B`, ambient image `A ⊆ H_1(T^2;Q)` | digital-Alexander note | -| local white law | NN **and** NNN (8-connected) induced matching graph, complementary convention; ambient image `C = A^⊥` | digital-Alexander note | -| rank | `r_b = rank A ∈ {0,1,2}`, `r_w = rank C = 2 − r_b` (configuration-by-configuration theorem) | digital-Alexander note | -| rank-2 event | `A_2 = {r_b = 2}` (black spans both directions), mass `P_2` | repo | -| rank-0 event | `A_0 = {r_b = 0}` (black contractible, white spans both directions), mass `P_0` | repo | -| rank-1 event | `A_1 = {r_b = 1}` (one-direction wrapping), mass `P_1`; **does not appear in `M`** | repo | -| observable | `q = 1[r_b>0] − 1[r_w>0] = r_b − 1`; finite matching function `M_{n,m}(p) = E[q] = P_2 − P_0`; normalized `F = (1+M)/2` | repo; Mertens–Ziff | -| closure functional | Jacobsen's `n_wind = 0`: loops of non-trivial homotopy are removed with weight `n_wind`; this excludes `Z_1D` and forces `s = 0` states to be either **open** or **closed**, never mixed | Jacobsen 2015 §3, (9) | -| transfer blocks | `T̃ = ⊕_{k≥1} T^{(s=2k)} ⊕ T_open ⊕ T_closed`; ordering `Λ_open, Λ_closed > Λ^{(2)} > Λ^{(4)} > …` | Jacobsen 2015 (9), (10) | -| open sector | `Z_2D ~ (Λ_open)^m`: FK cluster spanning (both ways on the cylinder) — the black rank-2 event | Jacobsen 2015 (11) | -| closed sector | `Z_0D ~ (Λ_closed)^m`: dual FK cluster spanning — the white rank-2 / black rank-0 event | Jacobsen 2015 (12) | -| square-site R-matrix | `Ř_i = E_{i+2} E_i + v E_{i+1}`, with `q = 1`, `p = v/(1+v)` | Jacobsen 2015 (32) | -| spin sectors | `μ = 0` untwisted: dominant `Λ_0`, first subleading `Λ_0^{(1)}`; `μ = 1` twisted: `Λ_1`; ordered `Λ_0 > Λ_1 > …`, `Λ_μ = Λ_{q−μ}` | Jacobsen 2015 §9, (56) | -| abstract encoding (contrast) | configuration-indexed diagonal `W_p` with projectors `P_j` onto `r_b = j` gives `M = tr((P_2 − P_0) W_p)` — trivially possible, exponentially large, **not** a row transfer, **not** pTL, **not** a leading-eigenvalue identity | #702 note §2 | - -**Terminology disambiguation.** The phrase "one-pTL sector criterion" is **not** -Jacobsen's and does **not** occur in arXiv:1507.03027 (checked against the full -HTML body). The criterion intended by the ticket is identified here as Jacobsen's -in-algebra statement `P_B = 0 ⇔ Λ_open = Λ_closed` (Eq. 13) inside the periodic -Temperley–Lieb (pTL) algebra, equivalently the spin-representation statement -`P_B = 0 ⇔ Λ_0^{(1)} = Λ_1` (Eq. 57). Both are stated for **finite `n`**, in the -**`m → ∞`** limit. The abstract states the same thing qualitatively: "`T_c(n)` is -determined by equating the largest eigenvalues of two topologically distinct -sectors of the transfer matrix." - ---- - -## 2. Primary-source passages - -### 2.1 Jacobsen 2015 — arXiv:1507.03027, J. Phys. A 48 (2015) 454003 — `PRIMARY_TEXT_READ` - -Read from the arXiv HTML rendering of v1 (full body; 33 pp.). Verbatim: - -- **(4)** `P_B(q,v) = Z_2D − q Z_0D.` Preceding definition: `Z_0D` sums edge - subsets whose clusters all have trivial homotopy on toroidal boundary - conditions; `Z_2D` "corresponds to clusters that wrap both periodic - directions"; `Z_1D` ("wrapping one but not the other periodic direction") does - not appear. -- **(9)** `T̃ = ⊕_{k=1}^{n} T^{(s=2k)} ⊕ T_open ⊕ T_closed.` -- **(10)** `Λ_open, Λ_closed > Λ^{(2)} > Λ^{(4)} > ⋯ > Λ^{(2n)}.` -- **(11)/(12)** `Z_2D ∼ (Λ_open)^m`, `Z_0D ∼ (Λ_closed)^m`. -- **(13)** `P_B(q,v) = 0 ⇔ Λ_open = Λ_closed`, "valid for a basis `B` of size - `n × m`, with `n` finite and `m → ∞`." Preceding sentence: "If (4) is to have a - (positive, unique) zero as a function of `v` … there must exist some - `v_c(n) > 0` so that `Λ_open = Λ_closed`." -- **(22)–(23)** `n = 1` square case: lower block-triangular `T` with blocks - `s = 2` and the two `s = 0` blocks, each 1-dimensional; eigenvalues - `Λ^{(2)} = 4x^2`, `Λ_closed = (n_loop + 2x)^2`, `Λ_open = x^2(2 + n_loop x)^2`. -- **(24)** `Λ_open − Λ_closed = n_loop(x^2 − 1)(n_loop x^2 + 4x + n_loop)`, "is - proportional to the graph polynomial `P_B(q,v) = (v^2 − q)(q + 4v + v^2)` for - the `n × m = 1 × 1` basis. In this case, where all blocks are one-dimensional, - it is obvious … that the relevant roots of `P_B(q,v)` are independent of `m`." - **This is the only place in the source where proportionality is stated, and it - is explicitly restricted to the 1-dimensional-block case.** -- **(32)** square-site R-matrix `Ř_i = E_{i+2} E_i + v E_{i+1}`. -- **(49)** `f_open(n) − f_closed(n) = o(n^{-2})`; **(50)** - `p_c(n) − p_c = O(n^{-4})`, "and moreover the corrections appear to be - `O(n^{-6})`, `O(n^{-8})`, and so on." NOTE: this is the **cylinder** estimator - `p_c(n)` from the open/closed free-energy difference, not the torus matching - root. -- **(51)–(55)** spin representation; **(56)** - `Z_{μ,ν} = c_{μ,ν}(Λ_μ)^m + c_{μ,ν}^{(1)}(Λ_μ^{(1)})^m + …`, ordered - `Λ_μ > Λ_μ^{(1)} > ⋯`, `Λ_0 > Λ_1 > …`. -- **(57)** `P_B(q,v) = 0 ⇔ Λ_0^{(1)} = Λ_1`, "valid for finite `n`, in the limit - `m → ∞`." - -### 2.2 Mertens–Ziff 2016 — arXiv:1603.07289, Phys. Rev. E 94, 062152 — `PRIMARY_TEXT_READ` - -Read from the arXiv HTML rendering of v2 (full body, 8 pp.). Verbatim: - -- **(2)** square matching polynomial `χ_□(p) = p − 2p^2 + p^4`. -- **(4)** `N_L(p) − N̂_L(1−p) − L^2 χ(p) = R_L^x(p) − R̂_L^x(1−p)`, where `x` - runs over wrapping types. **(12)** the cross-wrapping form; **(17)** - `M_L(p) = R^b_L(p) − R̂^b_L(1−p)`; **(20)** "`M_L(p) = R_L^x(p) − R̂_L^x(1−p)`, - `x ∈ {c,b,e,h}` … This is the main result of this paper." -- **(11)** `N_L − N̂_L − (V − E + F_0) = +1 / −1 / 0` according as the black - cross-wraps / the matching cross-wraps / neither. -- **(13)** `χ(p) = L^{-2}(⟨V⟩ − ⟨E⟩ + ⟨F_0⟩)` "is the matching polynomial of - Sykes and Essam." -- **(15)** `M_L(p) = N_L(p) − N̂_L(1−p) − L^2 χ(p)` "the matching function." -- **(21)** Scullard–Jacobsen condition `R^c_L(p) − R^0_L(p) = 0`; the text proves - it is "identical to the right-hand side of (12) being equal to 0", because - `R^0_L(p) = R̂^c_L(1−p)` (no wrapping on the primary = cross-wrapping on the - dual). Abstract: "The criterion that follows is related to the criterion - Scullard and Jacobsen use to find precise approximate thresholds." -- **root.** "The matching function `M_L(p)` has a unique root `p*_L ∈ (0,1)` - which converges to the critical density `p_c` as `L → ∞`. Empirically, the rate - of convergence is `p*_L − p_c ∼ L^{−w}` with `w ≈ 4` [16,17]." They then give - **(39)** `p*_L − p_c ∼ L^{2−x−1/ν}` and state the numerical value - `w = 2 − x − 1/ν = −3.42 − 3/4 = −4.17`, "somewhat larger than the value 4 - suggested by Jacobsen [17]"; the measured slope is `−4.07`. -- **transfer/eigenvalue.** No "difference of leading eigenvalues" statement - occurs in this paper; the only transfer-matrix mentions are methodological. - -### 2.3 Jacobsen 2024 reply — J. Phys. A 57 258002, DOI 10.1088/1751-8121/ad4d33 — `ABSTRACT_ONLY` - -Honest retrieval status: - -- The reply is **not** on arXiv (checked the arXiv author listing and API; only - v1 of 1507.03027 exists). The HAL record `hal-04980206` carries metadata and a - one-sentence abstract only, with no deposited file: *"The authors replies to the - comment made by Yang and Zhou (2024 J. Phys. A: Math. Theor.) on his 2015 paper - entitled 'Critical points of Potts and O(N) models from eigenvalue identities in - periodic Temperley–Lieb algebras' (Jacobsen 2015 J. Phys. A: Math. Theor. 48 - 454003)."* -- The IOP full text is behind a Radware bot gate; the Wayback copy is rate-limited. - Three short **body fragments** were recovered only from the publisher's own - search index and are quoted here as fragments, not as primary body: - "We illustrated the method in three different cases, providing, in particular, - precise numerical values for these estimators `p_c(n)` for site …"; "In their - comment, Yang and Zhou [3] have extended the series to `n = 24`. They also - studied the same model with helical boundary …"; "They also studied the same - model with helical boundary conditions, again giving estimators up to order - `n = 24`. Based on these two …". - -Consequence: the reply's **verdict cannot be inherited**. Nothing below depends -on it. Its fragments are consistent with Jacobsen treating `p_c(n)` as a -finite-size estimator, which is already established from §2.1. - -Supporting (not one of the three named sources): Yang–Zhou 2024 Comment -J. Phys. A 57 258001, DOI 10.1088/1751-8121/ad4d2c — `ABSTRACT_ONLY`. Abstract: -they compute exact critical probabilities `h(n)` for an `n × ∞` helical square -lattice and extend the cylindrical `p_c(n)` to `n = 24`, concluding that -Jacobsen's `p_c = 0.59274605079210(2)` "is incorrect and the corrected value -should be `0.5927460507896(1)`." The body was not retrievable. This is a -numerical disagreement about the 13th decimal of an extrapolation; it does not by -itself bear on the operator bridge, and is recorded only as context. - ---- - -## 3. Strongest equality actually justified at finite `n,m` - -The exact finite statement available is Mertens–Ziff **(20)**: -`M_L(p) = R^x_L(p) − R̂^x_L(1−p)` at every `p` and every periodic size `L`, with -`x` any of cross/both/either/horizontal. Combined with repo theorem -`M_{n,m} = P_2 − P_0`, this identifies the finite torus matching function with a -**signed wrapping-amplitude difference**. It is a probability-root balance, not a -difference of leading eigenvalues. - -Mertens–Ziff **(21)** + `R^0_L = R̂^c_L(1−p)` then identifies the same quantity -with the Scullard–Jacobsen critical polynomial, whose zero is Jacobsen's -`P_B = 0`. So at the level of the **polynomial and its zero**, the chain - -``` -root of M_{n,m} = 0 ⟺ R^c − R̂^c = 0 ⟺ Scullard–Jacobsen P_B = 0 -``` - -is a theorem at finite size (Mertens–Ziff), and Jacobsen 2015 (13) identifies the -`m → ∞` limit of that same `P_B` with `Λ_open = Λ_closed`. What is **not** a -theorem at finite `m` is the replacement of `Z_2D − Z_0D` by `Λ_open − Λ_closed`; -Jacobsen's proportionality (24) is proved only for the `n = 1` case where every -block is 1-dimensional. - -**Coefficient identity against already-committed data (a check, not a proof for -all `n,m`).** The committed exact honest-torus polynomials are -(`notes/probe-exact-controls-new-map-20260907.md`, reproduced by -`scripts/homological_balance/exact_torus_enum.py`): - -``` -L=3: M(p) = −1 + 6p^3 − 18p^7 + 18p^8 − 4p^9 -L=4: M(p) = −1 + 8p^4 + 32p^6 − 64p^7 + 172p^8 − 704p^9 + 1104p^10 - − 608p^11 − 56p^12 + 128p^13 + 16p^14 − 32p^15 + 6p^16 -``` - -with the committed exact values `M(0) = −1`, `M(1) = +1`, `M(1/2) = −21/64` -(L=3) and `−13757/32768` (L=4), `M'(1/2) = 225/64` (L=3), `4209/1024` (L=4), and -unique roots `p_L^H = 0.586511455…` (L=3), `0.590672112…` (L=4). Re-running the -committed enumerator reproduces `dual_fail = 0`, rank-pair counts -`(0,2)/(1,1)/(2,0) = 259/162/91` at L=3, and the same root. These are the -coefficient identities available to check a proposed formula; they do not -establish any statement for all `n,m`. - ---- - -## 4. The `m → ∞` step - -- **Which amplitudes overlap.** In Jacobsen's FK construction the two blocks that - survive are `Z_2D ∼ c_open Λ_open^m` and `Z_0D ∼ c_closed Λ_closed^m` (11)–(12), - and `Z_1D` is removed by `n_wind = 0`. The dominant `Λ_open^m` does **not** - cancel between `Z_2D` and `Z_0D` (unlike the spin form (55), where `Λ_0^m` - cancels and the survivors are `Λ_0^{(1)}` and `Λ_1`). The crossing compared in - (13) is therefore between the two `s = 0` blocks directly. -- **Nonzero overlap.** The intermediate-value argument behind (13) requires the - coefficients `c_open`, `c_closed` to be nonzero as functions of `v` near the - crossing (nonzero top/bottom-slice overlap of the spanning and dual-spanning - sectors). The sources assert this only implicitly; for the square-site - `Ř_i` (32) it is not displayed. -- **Leading growth rates.** Eq. (10) orders `Λ_open, Λ_closed > Λ^{(2)} > …`; - this strict dominance at `q = 1`, `v > 0` is what lets the two `s = 0` - amplitudes govern the limit. Degeneracies (§9: "some of the inequalities might - not be sharp when `q` takes particular values") are hypotheses to be stated, - not conveniences. -- **Passing from probability-root balance to a crossing.** At finite `m`, - `Z_2D − Z_0D = c_open Λ_open^m − c_closed Λ_closed^m + …` is **not** - proportional to `Λ_open − Λ_closed` unless `c_open = c_closed` and the - subleading `s ≥ 2` terms drop; only as `m → ∞` does the zero of the finite-`m` - polynomial converge to the crossing (13). This is precisely the #702 caution, - and it is why the finite-torus `M` must not be swapped for an eigenvalue - difference. -- **Limit order.** Jacobsen is explicit: `n` finite, `m → ∞` first. The repo's - `M_{n,m} = P_2 − P_0` lives at finite `m`. The two limits (`m → ∞` versus - `n → ∞`) do not commute by assumption. -- A failure of one closure (e.g. wrong boundary word) is **not** a no-go for all - operators: #702's abstract diagonal representation already exhibits *an* - operator encoding `M`, and #675's blanket no-go is withdrawn. - ---- - -## 5. Three claims kept separate - -1. **`p_n^TL → p_c` (Jacobsen cylinder estimator).** Committed CSV - `data/jacobsen_2015_square_site_cylinder.csv` (n = 1…21) is the eigenvalue - identity sequence; n=1 is exactly `1/2` (consistent with (24)), n=21 is - `0.592744551481…`, trending to the paper's `0.59274605079210(2)`. Jacobsen - claims `p_c(n) − p_c = O(n^{-4})` from `f_open − f_closed = o(n^{-2})` - ((49)–(50)); the committed first differences are consistent with a leading - `~n^{-4}`. -2. **`p_L^H → p_c` (honest-torus matching root).** Committed exact L=3,4 roots - `0.586511455`, `0.590672112`; the root of `M_L` is unique in `(0,1)` (Sturm). - Mertens–Ziff report the rate only **empirically** (`w ≈ 4`), with their own - derived `2 − x − 1/ν = −4.17` and measured `−4.07`, and note Jacobsen's `4` - is a suggestion. **No matching-root exponent-4 theorem is found in any of the - three named sources.** The rate is left open. -3. **Equality of the two finite estimators or of their leading correction laws.** - They are **not equal at finite size**: at n=3 the cylinder value is - `0.5888806999` and the torus matching root is `0.5865114551` (gap ≈ 2.37e-3); - at n=4, `0.5914171709` vs `0.590672112…` (gap ≈ 7.45e-4). Mertens 2022's - committed `p_med`/`p_cell` columns (`n^{-7/4}` sequences, `ν = 4/3`) are yet - other finite estimators and also differ from both. The arithmetic - `13/4 + 3/4 = 4` is conditional on **two separate** asymptotic inputs - (`M_L(p_c) ∼ L^{-13/4}` and `M'_L(p_c) ∼ L^{3/4}`); it is not proof of either, - and #613 supplies qualitative location only. - ---- - -## 6. One scoped verdict: **conditional cylinder bridge** - -There is a genuine, explicitly definable link, but it is conditional at the -operator level. - -- **Proved (primary text).** Mertens–Ziff (20)/(21) identify the finite - matching-function root with the Scullard–Jacobsen critical-polynomial zero; - Jacobsen 2015 (13)/(57) identify that polynomial's zero — in the `m → ∞`, - fixed-`n` limit — with the crossing of two topologically distinct `s = 0` - sectors of the periodic Temperley–Lieb transfer matrix. -- **Conditional.** The step from the finite honest-torus object - `M_{n,m} = P_2 − P_0` to the eigenvalue crossing requires, and is not supplied - as a theorem by the sources: (i) `q = 1`; (ii) the `n_wind = 0` closure, which - is exactly the projection onto the rank-2/rank-0 pair and the dropping of the - `Z_1D` (rank-1) channel that `M = P_2 − P_0` already omits; (iii) the limit - order `n` finite, `m → ∞`, with the strict dominance (10) and no `q = 1` - degeneracy; (iv) coefficient nondegeneracy `c_open, c_closed ≠ 0` and, for any - *finite-`m`* identification, `c_open = c_closed`, which is proved only for - `n = 1` (24). - -So: **a conditional cylinder bridge**. The polynomial-level chain is explicit; -the finite-operator identification is not, and the matching-root rate is not -established. - ---- - -## 7. One smallest remaining obligation - -**O1 (small exact algebra, no engine, no census).** At `n = 2` — the smallest -circumference whose `s = 0` open/closed blocks are **not** 1-dimensional — -compute exactly, from the square-site `Ř_i` of Jacobsen (32): - -1. the two dominant `s = 0` eigenvalues `Λ_open(v)`, `Λ_closed(v)`; -2. the `m`-coefficients `c_open(v)`, `c_closed(v)` in `Z_2D`, `Z_0D` (56); and -3. test the finite-`m` identity at `q = 1` - `Z_2D − Z_0D = c_2(v) (Λ_open^m − Λ_closed^m)` for all `m ≥ 1`, - equivalently `c_open(v) = c_closed(v)` (or the weaker - `Λ_open − Λ_closed ∝ P_B(q=1,v)` with a nonzero proportionality generalizing - (24)). - -Outcome split: - -- **Holds** → the finite-torus `M_{n,m} = P_2 − P_0` connects to the sector - crossing *explicitly at finite `n,m`*; the bridge upgrades from conditional to - explicit. -- **Fails** (`c_open ≠ c_closed`) → the finite-torus root differs from the - crossing by the coefficient ratio, the bridge is irreducibly a limit - statement, and the limit order must be carried as a stated hypothesis. - -This is the single step none of the three sources supplies, and it is decidable -by hand-sized exact computation. It does **not** decide the matching-root -exponent, which remains open independently. - ---- - -## Provenance - -| source | status | what was read | + K = [[1,0,1], [0,1,1], [1,1,1]], + T = K diag(x,x,y) = [[x,0,y], [0,x,y], [x,x,y]]. + +This is a local row transfer. tr(T^m) is the total Bernoulli weight of cyclic +nonempty row words with overlap between every pair of consecutive rows. + +**Lemma (event dictionary).** + + P2 = tr(T^m) - 2*x^m, + P0 = (1-p^2)^m - 2*x^m, + M_{2,m}(p) = tr(T^m) - (1-p^2)^m. (1) + +Proof. Without a fully occupied row there are no horizontal occupied edges. +A nonzero longitudinal cycle then exists only if every row is the same +singleton, left or right. Consequently no horizontal cycle and no longitudinal +cycle has weight [(1-p)^2+2x]^m-2x^m=(1-p^2)^m-2x^m. +If there is a both-occupied row, a transverse cycle is present. A longitudinal +cycle exists exactly when every interface has occupied overlap: an empty row +or adjacent opposite singletons is a cut; conversely overlapping interfaces can +be joined within each full row into a closed longitudinal walk. With no full +row, the two all-singleton words are rank one, so subtract 2x^m from tr(T^m). +The cycles coexist in a component (or directly use intersection), giving rank +2. This proves the configuration classification and hence (1), at every m>=2. +No census is used in the proof. + +For a fugacity convention v=p/(1-p), (1+v)^(2m) M is the corresponding signed +site-count polynomial. Do not confuse this site fugacity with an independent +FK bond variable or change the number of local cells without a geometry map. +The presentation uses normalized Bernoulli weights throughout. + +## 2. The complete spectrum settles the finite-length question + +The antisymmetric row vector has eigenvalue x. On the left/right-symmetric +subspace the transfer is [[x,y],[2x,y]], with characteristic equation + + lambda^2 - p*lambda - p^3(1-p) = 0. + +Thus + + lambda_± = p/2 [1 ± sqrt(1+4p-4p^2)], + M_{2,m} = lambda_+^m + lambda_-^m + x^m - lambda_c^m, + lambda_c = 1-p^2. (2) + +For 00 for EVERY m>=2. Since M is strictly +increasing (the existing monotone-rank argument), its unique interior root +p_{2,m} is strictly below q for every finite m. This gives a particularly clear +failure of finite-root equality despite equal leading coefficients. + +Let h(p)=log(lambda_+/lambda_c), r=x(q)/lambda_c(q)=q/(1+q). Then h'(q)>0 and + + p_{2,m}-q = - r^m/[m h'(q)] + * [1+(-q^2/(1-q^2))^m+O(r^m)]. (3) + +Here r=0.361103080528647... and h'(q)=3.353388815848793.... Divide (2) by +lambda_c^m, expand e^(m h) around q, and use the two uniform subleading ratios +strictly below one. The root displacement is O(r^m/m); differentiating the +subleading terms and the leading exponential changes the relative remainder +by O(r^m). This also proves convergence at fixed width without exchanging limits. + +Selected exact-root diagnostics (rational isolation intervals are in JSON): + +| m | p_{2,m} | (p_{2,m}-q) / [-r^m/(m h'(q))] | |---|---|---| -| Jacobsen 2015, arXiv:1507.03027, J. Phys. A 48 454003 | `PRIMARY_TEXT_READ` | full HTML v1 body; Eqs. (3),(4),(9),(10),(11),(12),(13),(22),(23),(24),(32),(49),(50),(51)–(57) | -| Mertens–Ziff 2016, arXiv:1603.07289, Phys. Rev. E 94 062152 | `PRIMARY_TEXT_READ` | full HTML v2 body; Eqs. (2),(3),(4),(11)–(15),(17),(20),(21),(23),(31),(39)–(41) | -| Jacobsen 2024 Reply, J. Phys. A 57 258002, DOI 10.1088/1751-8121/ad4d33 | `ABSTRACT_ONLY` | HAL metadata + one-sentence abstract; three publisher-index body fragments; full text behind bot gate, not on arXiv | -| Yang–Zhou 2024 Comment, J. Phys. A 57 258001, DOI 10.1088/1751-8121/ad4d2c (supporting) | `ABSTRACT_ONLY` | abstract only | -| Mertens 2022, arXiv:2109.12102, J. Phys. A 55 334002 (committed data only) | not re-read as primary here | definitions of `p_med` (14a), `p_cell` (14b), `p_pol` (26); committed CSV columns | - -No STATUS/ROADMAP edits. No merge. No production. The unique science lives in -this PR. +| 2 | 0.5411961001461969844 | 1.23450 | +| 4 | 0.5638649868188458323 | 1.05138 | +| 8 | 0.5651869150079729083 | 1.00241 | +| 12 | 0.5651975952151489695 | 1.000115 | +| 20 | 0.5651977173624504152 | 1.00000027 | + +These are finite-width diagnostics, NOT estimates or bounds for the infinite +square-site p_c. Fixed width violates the expanding-geometry hypothesis of +#613; taking m->infinity here must not be confused with an all-directions limit. + +## 4. General conditional lemma: what coefficients actually do + +Suppose, at a fixed width near an isolated crossing p0, + + Z_o=c_o(p) lambda_o(p)^m [1+epsilon_o,m(p)], + Z_c=c_c(p) lambda_c(p)^m [1+epsilon_c,m(p)], + +with c_o,c_c positive and C2, simple positive leading eigenvalues, a uniform +spectral gap giving epsilon and its needed derivatives exponentially small, +and h=log(lambda_o/lambda_c), h(p0)=0, h'(p0)!=0. The nearby balance root obeys + + p_m-p0 = log[c_c(p0)/c_o(p0)]/[m h'(p0)] + + O(m^-2 + rho^m/m). + +Nonzero unequal coefficients can create a 1/m displacement without changing +the limiting crossing. Equal coefficients AT the crossing remove that 1/m +term; they do not remove subleading spectra. Width two is the explicit case +where those remaining terms and their coefficient are now known. An all-m +two-mode identity would require cancellation of EVERY other observable spectral +mode (including Jordan-polynomial terms), not merely equality of two prefactors. + +No width-uniform estimate is established here. A general local bridge needs a +specified closure and its full observable spectrum; an absent literature +formula is not a no-go theorem. The fixed-width correction above does not +supply any n^-4 or L^-4 outer-limit theorem. + +## 5. Primary reading retained, with corrections + +Jacobsen, J. Phys. A 48 (2015) 454003, arXiv:1507.03027v1: +https://arxiv.org/html/1507.03027v1 — PRIMARY_TEXT_READ, §§2–4,6.1,8–9. +Eqs. (4),(9),(11)–(13) describe the signed graph polynomial and the fixed-width +cylinder eigenvalue method. Eq. (32) gives the square-site local loop operator. +Table 2 supplies the n=2 comparison above. Eq. (50) is an OBSERVED convergence +law: the text after (50) explicitly says more ingredients are needed to deduce +it from (49). It is not a theorem supplied by that CFT argument. + +The spin-twist Eq. (55) is not a literal q=1 bridge: q=1 has only twist zero, +and its factor (1-1/q) vanishes, leaving 0=0. Work in the FK/loop construction +at q=1 unless an actual continuation is provided. Eq. (24)'s width-one Potts +example is not by itself a theorem for all square-site local operators. + +Mertens–Ziff, PRE 94 (2016) 062152, arXiv:1603.07289v2: +https://arxiv.org/html/1603.07289v2 — PRIMARY_TEXT_READ, §II, Eqs. (20)–(21). +These give the finite matching/event identity and its all-equals-none relation; +the quoted root exponent is empirical. Jacobsen 2024 Reply remains +ABSTRACT_ONLY in the original retrieval; no claim here needs its unavailable body. + +## 6. Executed checks and decision + +`scripts/width2_cylinder_exact.py` derives integer coefficients by the trace +recurrence. An independent lifted-homology traversal enumerated all 5456 +configurations across 2x2,...,2x6 and reproduced EVERY coefficient. It preserves +parallel periodic edges; no row-compatibility code is used by that verifier. +The 2x2 control is -1+4p^2-2p^4. A second integer matrix-power check at p=1/2 +agrees exactly. Three local tests passed. Finite roots carry 100-bisection exact +rational brackets; spectral decimals are explicitly diagnostic. + +Result: `results/research-control-20260912/width2-cylinder-exact.json`. +The suggested smallest #681 calculation is done and its premise corrected. +Do not commission it again. This is a useful local theorem, not a reason to +build a large transfer engine before defining an all-width scientific target. diff --git a/results/research-control-20260912/width2-cylinder-exact.json b/results/research-control-20260912/width2-cylinder-exact.json new file mode 100644 index 00000000..59c36bba --- /dev/null +++ b/results/research-control-20260912/width2-cylinder-exact.json @@ -0,0 +1,28 @@ +{ + "schema": "matching-one.width2-cylinder-exact.v1", + "scope": "axis square-site 2-by-m honest torus, m>=2; row transfer, not an all-width pTL intertwiner", + "cylinder_minimal_polynomial_low_first": [-1,0,2,2], + "cylinder_root_diagnostic": "0.565197717383639396437528013247030816098483976759553827555484", + "cylinder_root_isolation": ["716473225688995647843441073053/1267650600228229401496703205376","358236612844497823921720536527/633825300114114700748351602688"], + "published_n2_agrees_within_1e_minus_40": true, + "hprime_diagnostic": "3.35338881584879266732701434488", + "decay_ratio_diagnostic": "0.361103080528647377634646562159", + "finite_m_defect_at_crossing": "[p(1-p)]^m + lambda_minus^m > 0", + "equal_leading_coefficients": true, + "small_exact_checks": { + "2":{"configurations":16,"coefficient_identity":true,"power_coefficients":[-1,0,4,0,-2],"bernstein_counts":[-1,-4,-2,4,1]}, + "3":{"configurations":64,"coefficient_identity":true,"power_coefficients":[-1,0,3,2,-3],"bernstein_counts":[-1,-6,-12,-6,6,6,1]}, + "4":{"configurations":256,"coefficient_identity":true,"power_coefficients":[-1,0,4,0,-4,0,8,-8,2],"bernstein_counts":[-1,-8,-24,-32,-14,8,16,8,1]}, + "5":{"configurations":1024,"coefficient_identity":true,"power_coefficients":[-1,0,5,0,-10,2,10,10,-25,10],"bernstein_counts":[-1,-10,-40,-80,-80,-30,10,30,30,10,1]}, + "6":{"configurations":4096,"coefficient_identity":true,"power_coefficients":[-1,0,6,0,-15,0,22,0,3,-36,24,0,-2],"bernstein_counts":[-1,-12,-60,-160,-240,-192,-62,12,48,76,48,12,1]} + }, + "finite_roots": { + "2":{"exact_rational_bracket":["686047561191503557021216148973/1267650600228229401496703205376","343023780595751778510608074487/633825300114114700748351602688"],"root_diagnostic":"0.5411961001461969843997232054","root_minus_cylinder":"-0.024001617237442412038","leading_shift":"-0.019442337576693110926","shift_over_leading":"1.23450264880777"}, + "3":{"exact_rational_bracket":["355549303266821127964730592771/633825300114114700748351602688","711098606533642255929461185543/1267650600228229401496703205376"],"root_diagnostic":"0.5609578904515291298145210442","root_minus_cylinder":"-0.004239826932110266623","leading_shift":"-0.0046804586610811728968","shift_over_leading":"0.905857147583668"}, + "4":{"exact_rational_bracket":["357391894494296289553025491317/633825300114114700748351602688","714783788988592579106050982635/1267650600228229401496703205376"],"root_diagnostic":"0.5638649868188458323132883434","root_minus_cylinder":"-0.0013327305647935641242","leading_shift":"-0.0012675960306025498953","shift_over_leading":"1.0513842995864"}, + "6":{"exact_rational_bracket":["179082998271309469420869525275/316912650057057350374175801344","716331993085237877683478101101/1267650600228229401496703205376"],"root_diagnostic":"0.5650863045039923213956181244","root_minus_cylinder":"-0.00011141287964707504191","leading_shift":"-0.00011019249034646421821","shift_over_leading":"1.01107506779068"}, + "8":{"exact_rational_bracket":["358229766025499066655359611415/633825300114114700748351602688","716459532050998133310719222831/1267650600228229401496703205376"],"root_diagnostic":"0.565186915007972908279837917","root_minus_cylinder":"-0.00001080237566648815769","leading_shift":"-0.000010776448265112279807","shift_over_leading":"1.00240593196738"}, + "12":{"exact_rational_bracket":["716473070822035429147772801381/1267650600228229401496703205376","358236535411017714573886400691/633825300114114700748351602688"],"root_diagnostic":"0.5651975952151489694908387443","root_minus_cylinder":"-1.2216849042694668927e-7","leading_shift":"-1.221544134534600044e-7","shift_over_leading":"1.0001152391722"}, + "20":{"exact_rational_bracket":["89559153207766927876597427951/158456325028528675187087900672","716473225662135423012779423609/1267650600228229401496703205376"],"root_diagnostic":"0.5651977173624504151631723659","root_minus_cylinder":"-2.1188981274355647314e-11","leading_shift":"-2.1188975555815298611e-11","shift_over_leading":"1.00000026988281"} + } +} diff --git a/scripts/width2_cylinder_exact.py b/scripts/width2_cylinder_exact.py new file mode 100644 index 00000000..7f98f553 --- /dev/null +++ b/scripts/width2_cylinder_exact.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +"""Exact 2-by-m square-site torus probabilities and their cylinder limit. + +No new percolation production. Bernoulli-polynomial coefficients are integers. +A width-two occupied row makes a transverse cycle; both periodic bonds must +be retained even though their endpoint pairs coincide. m >= 2 is required. +""" +from __future__ import annotations +import argparse +from fractions import Fraction +import json +from math import comb +from pathlib import Path + + +def add(a, b): + out = [0] * max(len(a), len(b)) + for i, v in enumerate(a): out[i] += v + for i, v in enumerate(b): out[i] += v + while len(out)>1 and out[-1]==0: out.pop() + return out + + +def mul(a, b): + out = [0] * (len(a)+len(b)-1) + for i, u in enumerate(a): + for j, v in enumerate(b): out[i+j] += u*v + while len(out)>1 and out[-1]==0: out.pop() + return out + + +def power(a, m): + out = [1] + for _ in range(m): out = mul(out,a) + return out + + +def evaluate(a, p): + out = 0 + for v in reversed(a): out = out*p+v + return out + + +def matching_polynomial(m): + """Integer power coefficients, low degree first, from a 3-state trace.""" + if m < 2: raise ValueError('honest two-by-m torus requires m >= 2') + # Symmetric 2-state block: trace=p, determinant=-p^3(1-p). + # tr(block^m)=p*tr(block^(m-1))+p^3(1-p)*tr(block^(m-2)). + previous, current = [2], [0,1] + for _ in range(2,m+1): + previous,current = current,add(mul([0,1],current),mul([0,0,0,1,-1],previous)) + return add(add(current,power([0,1,-1],m)),[-x for x in power([1,0,-1],m)]) + + +def ambient_rank(mask, m): + """Independent lifted-edge graph traversal; not a row compatibility test.""" + if m < 2: raise ValueError('m >= 2 required') + n = 2*m + positions, span = {}, [] + for root in range(n): + if not (mask>>root)&1 or root in positions: continue + positions[root] = (0,0) + stack = [root] + while stack: + v=stack.pop(); x,y=v%2,v//2; px,py=positions[v] + for dx,dy in ((1,0),(-1,0),(0,1),(0,-1)): + u=((y+dy)%m)*2+(x+dx)%2 + if not (mask>>u)&1: continue + proposed=(px+dx,py+dy) + if u not in positions: + positions[u]=proposed;stack.append(u) + else: + wx,wy=proposed[0]-positions[u][0],proposed[1]-positions[u][1] + if wx%2 or wy%m: raise AssertionError('nonperiodic cycle displacement') + wx,wy=wx//2,wy//m + if wx or wy: + if not span: span.append((wx,wy)) + elif span[0][0]*wy-span[0][1]*wx: return 2 + return len(span) + + +def enumerated_polynomial(m): + """Tiny independent exact census, collapsed by occupation count.""" + n=2*m; bern=[0]*(n+1) + for mask in range(1<1 and poly[-1]==0: poly.pop() + return poly,bern + + +def root_bracket(poly, steps=100): + lo,hi=Fraction(0),Fraction(1) + for _ in range(steps): + mid=(lo+hi)/2 + if evaluate(poly,mid)<0: lo=mid + else: hi=mid + return [str(lo),str(hi)] + + +def report(max_check=6): + from mpmath import mp + with mp.workdps(70): + q=mp.findroot(lambda p:2*p**3+2*p**2-1,('0.55','0.58')) + x=q*(1-q); lc=1-q*q + lp_derivative=(lc+3*q*q-4*q**3)/(2*lc-q) + hprime=lp_derivative/lc+2*q/lc + checks={} + for m in range(2,max_check+1): + got,bern=enumerated_polynomial(m); expected=matching_polynomial(m) + if got!=expected: raise AssertionError(f'coefficient disagreement m={m}') + checks[str(m)]={'configurations':1<<(2*m),'coefficient_identity':True, + 'power_coefficients':expected,'bernstein_counts':bern} + roots={} + for m in (2,3,4,6,8,12,20): + poly=matching_polynomial(m); bracket=root_bracket(poly) + lo,hi=map(Fraction,bracket) + root=(mp.mpf(lo.numerator)/lo.denominator+mp.mpf(hi.numerator)/hi.denominator)/2 + predicted=-(x/lc)**m/(m*hprime) + roots[str(m)]={'exact_rational_bracket':bracket,'root_diagnostic':mp.nstr(root,28), + 'root_minus_cylinder':mp.nstr(root-q,20), + 'leading_shift':mp.nstr(predicted,20), + 'shift_over_leading':mp.nstr((root-q)/predicted,15)} + return {'schema':'matching-one.width2-cylinder-exact.v1', + 'scope':'axis square-site 2-by-m honest torus, m>=2; row transfer, not an all-width pTL intertwiner', + 'cylinder_minimal_polynomial_low_first':[-1,0,2,2], + 'cylinder_root_diagnostic':mp.nstr(q,60), + 'cylinder_root_isolation':root_bracket([-1,0,2,2]), + 'published_n2_agrees_within_1e_minus_40':bool(abs(q-mp.mpf('0.5651977173836393964375280132470308160984')) 0', + 'equal_leading_coefficients':True,'small_exact_checks':checks,'finite_roots':roots} + + +if __name__=='__main__': + ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path);args=ap.parse_args() + text=json.dumps(report(),indent=2,allow_nan=False)+'\n' + if args.out: + args.out.parent.mkdir(parents=True,exist_ok=True) + with args.out.open('x') as f:f.write(text) + else: print(text,end='') diff --git a/tests/test_width2_cylinder_exact.py b/tests/test_width2_cylinder_exact.py new file mode 100644 index 00000000..e6874d67 --- /dev/null +++ b/tests/test_width2_cylinder_exact.py @@ -0,0 +1,24 @@ +import sys +from pathlib import Path +from fractions import Fraction +import unittest +sys.path.insert(0,str(Path(__file__).resolve().parents[1]/'scripts')) +import width2_cylinder_exact as w + +class WidthTwo(unittest.TestCase): + def test_all_coefficients_from_independent_winding(self): + for m in (2,3,4,5): + self.assertEqual(w.matching_polynomial(m),w.enumerated_polynomial(m)[0]) + def test_known_l2_control(self): + self.assertEqual(w.matching_polynomial(2),[-1,0,4,0,-2]) + def test_probability_trace_at_half(self): + # At p=1/2, T=K/4. Check trace directly with integer powers. + k=[[1,0,1],[0,1,1],[1,1,1]] + a=[[int(i==j) for j in range(3)] for i in range(3)] + for m in range(1,8): + a=[[sum(a[i][l]*k[l][j] for l in range(3)) for j in range(3)] for i in range(3)] + if m>=2: + self.assertEqual(w.evaluate(w.matching_polynomial(m),Fraction(1,2)), + Fraction(sum(a[i][i] for i in range(3))-3**m,4**m)) + +if __name__=='__main__':unittest.main()