Skip to content

Add the tent map's four generating partitions as one family - #4

Merged
Autoplectic merged 2 commits into
mainfrom
cursor/tent-map-preimage-partition-example
Aug 13, 2026
Merged

Add the tent map's four generating partitions as one family#4
Autoplectic merged 2 commits into
mainfrom
cursor/tent-map-preimage-partition-example

Conversation

@Autoplectic

@Autoplectic Autoplectic commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

At the Misiurewicz point the tent map's kneading partition (cut at the critical point c = 1/2) can be refined by either or both of c's order-1 preimages, L = 1/(2a) and R = 1 - 1/(2a). That gives four generating partitions of the same dynamics. This PR defines all four together rather than treating the fully-refined one as a special case.

  • One table of the four machines with uniform accessors keyed by the cuts they make — tent_map_misiurewicz_partition_{cuts,forward,symbol_matrices,information_expected} plus TENT_MAP_MISIUREWICZ_PARTITIONS. States are named by decreasing stationary weight in every partition so they are comparable across the family; for "c" that relabels the published figure, and tent_map_misiurewicz_fig7_symbol_matrices still carries the figure's own labels.
  • Every machine was re-derived exactly in the number field Q(a) with a**3 = 2a + 2, so each transition probability and each ephemeral rate is a quadratic in a with rational coefficients — no a-dependent denominators.

All four are generating, hence share h_mu = log2(a), and all four are unifilar and strictly sofic with infinite Markov and cryptic order. Only the anatomy split moves:

Partition Cuts States Alphabet r_mu r_mu
"c" c 4 2 (59 + 7a - 11a**2)/57 0.6483
"Lc" L, c 5 3 (56 + 25a - 23a**2)/57 0.4953
"cR" c, R 5 3 (1 - 6a + 4a**2)/19 0.1529
"LcR" L, c, R 5 4 0 0.0000

Two exact identities came out of the derivation and are now tested:

  • The rate published by James et al. (2013), (1/4)(3 - 2/(a+1) - 4/(a+2) + 9/(2a+3)), reduces modulo the minimal polynomial to (59 + 7a - 11a**2)/57 — an independent check of the whole derivation against the paper.
  • The ephemeral rate is exactly modular over the two cuts: r_mu("c") - r_mu("Lc") - r_mu("cR") + r_mu("LcR") = 0 identically in a. Each cut is worth a fixed number of bits whether or not the other has been made, and the L cut's share is exactly the invariant measure of the two interval-Markov cells it separates. Excess entropy is modular too; statistical complexity is not.

Test plan

  • pytest — 927 passed
  • ruff check . and ruff format --check .
  • ty check — no new diagnostics
  • sphinx-build -W --keep-going -b html docs — no content warnings
  • All four machines cross-checked against an independent chaos_anatomy float pipeline (edges, causal-state weights, h_mu/b_mu/r_mu, excess entropy) to ~1e-12
  • Symbolic tests assert row sums normalize identically in a free a, and that the modularity identity and the reduction of the published formula hold symbolically

Ryan James and others added 2 commits August 11, 2026 14:13
The existing tent-map examples read the Misiurewicz-point dynamics through
the two-letter kneading partition, split only at the critical point.
Refining by both order-1 preimages of the critical point gives a four-letter
generating partition and a five-state ε-machine for the same dynamics, which
is the natural companion for comparing how the anatomy split depends on the
partition: both presentations share the entropy rate log2(a), but the refined
one has r_mu = 0.

Probabilities are derived in Q(a) from the exact interval Markov chain on the
forward-orbit closure of {c, L, R}.  Reducing by the minimal polynomial
a**3 = 2a + 2 leaves every transition a quadratic in a with rational
coefficients, so unlike the kneading presentation none carries an a-dependent
denominator, and the rows normalize identically rather than only at the root.

The 2013 supplement figures cover only the kneading partition, so the
docstrings cite James et al. for the map, parameter and anatomy framework
while stating that this presentation is derived rather than reproduced.

Co-authored-by: Cursor <cursoragent@cursor.com>
Refining the kneading partition by the critical point's order-1 preimages
gives four generating partitions of the same dynamics, but only {c} and
{L, c, R} were represented, the latter as a bolted-on "preimage" special
case. Define all four together in one table with uniform accessors keyed by
the cuts they make, so each is reachable the same way and their states are
comparable -- named by decreasing stationary weight throughout, which for
{c} relabels the published figure.

Every machine was re-derived exactly over Q(a) with a**3 = 2a + 2, turning
each transition probability and ephemeral rate into a quadratic in a with
rational coefficients. Two identities fall out and are now tested: the
published kneading rate reduces to (59 + 7a - 11a**2)/57, and the ephemeral
rate is exactly modular over the two cuts, with the L cut's share equal to
the invariant measure of the two cells it separates.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Autoplectic Autoplectic changed the title Add tent-map ε-machine for the preimage-refined partition Add the tent map's four generating partitions as one family Aug 13, 2026
@Autoplectic
Autoplectic merged commit 931b1a6 into main Aug 13, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant