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
82 changes: 82 additions & 0 deletions notes/p593-phaseA-rlinear-definition-20260913.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# p593 Phase A — pinning down the definition of `r_linear` (2026-09-13)

Issue: #593. Context: the #599 probe measured block-Hankel / McMillan orders of
9/8, 4/5, 2/2 at widths 4..6 for the P398 projected-memory object, while the
rank tables in #593/#588 report `r_linear` = 10, 26, 72. Phase A asks which
candidate definition of `r_linear` reproduces 10/26/72, and whether the probe
numbers contradict the reported ones.

## Method

All quantities computed at `eta = 0` from the repository's own exact generator
(`p398_intervention_transport.Generator`, widths 4..8), with integer-valued
readouts and exact elimination over the Mersenne prime 2147483647 (the
repository's `RANK_PRIME`; no pivot tolerance anywhere). Script:
`scripts/p593_phaseA_rlinear_candidates.py`; raw output:
`results/p593-phaseA-rlinear/raw/candidates.json`.

## Result table

| quantity | w=4 | w=5 | w=6 | w=7 | w=8 |
|---|---|---|---|---|---|
| states | 14 | 42 | 132 | 429 | 1430 |
| **C1: joint Krylov `dim span{G0^k f}`, D0 seeds** | **10** | **26** | **72** | **218** | **689** |
| C1 variant: seeds + constant `1` | 10 | 26 | 72 | 218 | 689 |
| C1 variant: D2 dictionary seeds (8 readouts) | 10 | 42 | 76 | 415 | 750 |
| C1 variant: `k >= 1` only (drop the seeds) | 9 | 25 | 71 | 217 | 688 |
| C1 variant: Krylov under `H` instead of `G0` | 10 | 22 | 76 | 214 | 750 |
| C1 variant: floating-point Krylov | 10 | 27 | 81 | – | – |
| C2: coarsest exact lumping vs `G0` only (block count) | 10 | 26 | 76 | 232 | 750 |
| C2: coarsest exact lumping vs `G0` and `H` jointly | 10 | 26 | 76 | 232 | 750 |
| C2: distinct D0 readout value-tuples | 8 | 12 | 18 | 24 | 32 |
| C3: rank `G0` mod p | 13 | 41 | 131 | 428 | 1429 |
| C3: rank `H` mod p | 13 | 32 | 130 | 392 | 1429 |
| C3: rank `J` / rank `D` mod p | 13 | 41 | 131 | 428 | 1429 |
| C3: distinct rows of `G0` | 14 | 42 | 132 | 429 | 1430 |
| repository `observable_reachable_dimension` (cross-check) | 10 | 26 | 72 | 218 | not run (budget) |

## Conclusion

**Candidate 1 is pinned, exactly and only.** `r_linear` is the joint Krylov
dimension

```text
r_linear = dim span{ G0^k f : k >= 0, f in {blocks, singletons, wrap} }
```

computed by exact elimination over the prime 2147483647. It reproduces
10/26/72 at widths 4..6 and 218 at width 7, and agrees digit-for-digit with
`rank_notions.D0_additive_local_counts.r_linear` stored in
`results/p398-intervention-transport/latest.json`.

- **Candidate 2 (lumping degrees of freedom) is falsified**: the coarsest
exact strong lumping gives 76/232/750 at widths 6..8 — that is `r_positive`,
not `r_linear`. (It coincides with `r_linear` only at widths 4 and 5.)
- **Candidate 3 (pencil ranks / combinatorial structures) is falsified**:
every pencil rank is `size - 1` or near it, and no combinatorial count
matches.
- The #599 probe numbers 9/8, 4/5, 2/2 are **not** a competing measurement of
`r_linear`; they are block-Hankel / McMillan orders of the *projected
memory kernel* on the frozen rank-6 span — a strictly smaller and different
object (its `k >= 1`-flavoured count at width 4 is 9, which is the probe's
block-Hankel value, but the sequence diverges immediately at width 5).

## New value produced

- **True `r_linear` at width 8 = 689** (Krylov depth 621). The repository
entry was budget-truncated (`>= 150`, `LINEAR_RANK_BUDGET_ABOVE`); the
exact elimination at full budget is now affordable and the number is a
certified lower bound on the rational rank.

## Notes

- The floating-point Krylov variant overestimates (27 at width 5, 81 at
width 6 against true 26/72), reproducing the failure mode the ticket
documents for float Gram-Schmidt.
- `dim span{G0^k f}` with the constant function added to the seeds is
unchanged at every width: `1` is already in the Krylov span of the D0
readouts.
- Full-budget `r_linear` at widths 9 and 10 is computed in Phase B
(`results/p593-width9-10-memory-degree/`).

Full Matching-One repository CI has not been run for this commit.
30 changes: 30 additions & 0 deletions results/p593-phaseA-rlinear/REPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# p593 Phase A — r_linear definition pinned (raw: candidates.json)

- date: 2026-09-13
- issue: 593 (Phase A)
- question: which candidate definition of `r_linear` reproduces 10/26/72 at widths 4..6?
- answer: the joint Krylov dimension `dim span{G0^k f : k >= 0, f in D0 readouts}` under exact elimination mod 2147483647; candidates 2 (lumping) and 3 (pencil ranks) are falsified.
- new value: true `r_linear` at width 8 = 689 (repository had budget-truncated `>= 150`).

## Commands

```bash
cd scripts
python p593_phaseA_rlinear_candidates.py
```

## Environment

- Python 3.13 (managed env), numpy 2.5.2, scipy 1.18.1
- repository generator/codec code unchanged; all arithmetic exact over Z/2147483647
- no frozen configuration was substituted: seeds, readouts, dictionary nesting and the prime are the repository's own declarations

## Verdict per candidate

| candidate | definition | verdict |
|---|---|---|
| 1 | joint Krylov over D0 seeds, exact mod-p | **matches 10/26/72/218 exactly** |
| 2 | linear lumping (coarsest exact strong lumping block count) | gives 76/232/750 at widths 6..8 = `r_positive`, not `r_linear` |
| 3 | pencil ranks (G0, H, J, D mod p; row patterns; value tuples) | no match at any width |

Full Matching-One repository CI has not been run for this commit.
2 changes: 2 additions & 0 deletions results/p593-phaseA-rlinear/commands.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd scripts && python p593_phaseA_rlinear_candidates.py
# output -> raw/candidates.json (stdout lines, one JSON object per width)
12 changes: 12 additions & 0 deletions results/p593-phaseA-rlinear/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"issue": 593,
"phase": "A",
"date": "2026-09-13",
"topic": "r_linear definition",
"conclusion": "r_linear = dim span{G0^k f : k>=0, f in D0 readouts}, exact elimination mod 2147483647; candidates 2 and 3 falsified; true r_linear(8) = 689",
"widths": [4, 5, 6, 7, 8],
"prime": 2147483647,
"artifacts": ["raw/candidates.json"],
"scripts": ["scripts/p593_phaseA_rlinear_candidates.py"],
"ci_status": "Full Matching-One repository CI has not been run for this commit."
}
104 changes: 104 additions & 0 deletions results/p593-phaseA-rlinear/raw/candidates.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
[
{
"width": 4,
"size": 14,
"c1_krylov_D0": 10,
"c1_krylov_D0_depth": 5,
"c1_krylov_D0_plus_constant": 10,
"c1_krylov_D2": 10,
"c1_krylov_D0_kge1": 9,
"c1_krylov_D0_with_H": 10,
"c1_float_krylov_D0": 10,
"repo_observable_reachable_dimension": 10,
"c2_lumping_G0_only": 10,
"c2_lumping_G0_and_H_joint": 10,
"c2_distinct_readout_tuples": 8,
"c3_rank_G0_mod_p": 13,
"c3_rank_H_mod_p": 13,
"c3_rank_J_mod_p": 13,
"c3_rank_D_mod_p": 13,
"c3_distinct_rows_G0": 14,
"seconds": 0.0
},
{
"width": 5,
"size": 42,
"c1_krylov_D0": 26,
"c1_krylov_D0_depth": 17,
"c1_krylov_D0_plus_constant": 26,
"c1_krylov_D2": 42,
"c1_krylov_D0_kge1": 25,
"c1_krylov_D0_with_H": 22,
"c1_float_krylov_D0": 27,
"repo_observable_reachable_dimension": 26,
"c2_lumping_G0_only": 26,
"c2_lumping_G0_and_H_joint": 26,
"c2_distinct_readout_tuples": 12,
"c3_rank_G0_mod_p": 41,
"c3_rank_H_mod_p": 32,
"c3_rank_J_mod_p": 41,
"c3_rank_D_mod_p": 41,
"c3_distinct_rows_G0": 42,
"seconds": 0.0
},
{
"width": 6,
"size": 132,
"c1_krylov_D0": 72,
"c1_krylov_D0_depth": 53,
"c1_krylov_D0_plus_constant": 72,
"c1_krylov_D2": 76,
"c1_krylov_D0_kge1": 71,
"c1_krylov_D0_with_H": 76,
"c1_float_krylov_D0": 81,
"repo_observable_reachable_dimension": 72,
"c2_lumping_G0_only": 76,
"c2_lumping_G0_and_H_joint": 76,
"c2_distinct_readout_tuples": 18,
"c3_rank_G0_mod_p": 131,
"c3_rank_H_mod_p": 130,
"c3_rank_J_mod_p": 131,
"c3_rank_D_mod_p": 131,
"c3_distinct_rows_G0": 132,
"seconds": 0.3
},
{
"width": 7,
"size": 429,
"c1_krylov_D0": 218,
"c1_krylov_D0_depth": 184,
"c1_krylov_D0_plus_constant": 218,
"c1_krylov_D2": 415,
"c1_krylov_D0_kge1": 217,
"c1_krylov_D0_with_H": 214,
"repo_observable_reachable_dimension": 218,
"c2_lumping_G0_only": 232,
"c2_lumping_G0_and_H_joint": 232,
"c2_distinct_readout_tuples": 24,
"c3_rank_G0_mod_p": 428,
"c3_rank_H_mod_p": 392,
"c3_rank_J_mod_p": 428,
"c3_rank_D_mod_p": 428,
"c3_distinct_rows_G0": 429,
"seconds": 7.7
},
{
"width": 8,
"size": 1430,
"c1_krylov_D0": 689,
"c1_krylov_D0_depth": 621,
"c1_krylov_D0_plus_constant": 689,
"c1_krylov_D2": 750,
"c1_krylov_D0_kge1": 688,
"c1_krylov_D0_with_H": 750,
"c2_lumping_G0_only": 750,
"c2_lumping_G0_and_H_joint": 750,
"c2_distinct_readout_tuples": 32,
"c3_rank_G0_mod_p": 1429,
"c3_rank_H_mod_p": 1429,
"c3_rank_J_mod_p": 1429,
"c3_rank_D_mod_p": 1429,
"c3_distinct_rows_G0": 1430,
"seconds": 167.8
}
]
Loading
Loading