# periodic-determinant - Rigorous zeros of the periodic-point determinant `D(s) = det(I - L_s)` of a continued fraction transfer operator, after [Jenkinson and Pollicott 2018](https://arxiv.org/abs/1611.09276): the coefficients `delta_n(s)` of `det(I - z L_s)` computed exactly from the closed walks of length `n <= P`, the tail `sum_(n > P) delta_n` bounded by their Euler bound on approximation numbers, all arithmetic in `mpmath.iv` interval arithmetic. - The operator is `(L_s F)_u(z) = sum_(u -a-> v) (z + a)^(-2s) F_v(1/(z + a))` over a finite deterministic labelled graph, on `H^2(D)` per state, `D` the disc of rational centre `c` and radius `r`; one state is `L_(A,s)`. The contraction `h` is `max_a max(abs(T_a(c - r) - c), abs(T_a(c + r) - c))/r`, exact in rationals. - The weights are conjugated by `g(z) = (z + beta)^(-2s)`: `w_a(z) = ((z + beta)/(beta (z + a) + 1))^(2s)`, whose modulus on the circle is bounded by interval arithmetic on arcs; the determinant is unchanged and the constant drops, which is what makes complex `s` reachable. The disc and `beta` are chosen by a float grid minimising the tail; the certificate never uses the grid's numbers. - A trace class is a (period, trace) pair: a closed walk with labels `a_1 ... a_n` contributes `mu^(-2s)/(1 - (-1)^n mu^(-2))`, `mu` the larger root of `x^2 - t x + (-1)^n`, `t` the trace of `[[0,1],[1,a_1]] ... [[0,1],[1,a_n]]`, enumerated in `numpy` integers; `delta_n` follow by Newton's identities. - `zero` certifies the zero `s_1` of `D` at `A = {1,2}` by a Krawczyk test on the printed box itself, rounded outward: the Euler tail at the centre, a Cauchy tail on the derivative at radius `0.001`, the image of the box strictly inside it; every arc asserts the real parts of `z + a`, `z + beta` and `beta (z + a) + 1` positive. It then prints interval upper bounds on the constant `K` of Jenkinson and Pollicott's (47) on their own disc at `dim E_2` and at `s_1`, unconjugated and conjugated. - `control` certifies `dim E_A` for `A = {1,2}`, `{1,3}`, `{2,3}`, `{1,2,3}` and checks each bracket against Jenkinson and Pollicott 2018 Theorem 1 and Pollicott and Vytnova 2022 Table 3, read at source. - `orphans` takes every width-4 orphan with `rho > 1` and the named code `54`, builds the graph of `lab/py/question-mark` verb `graph`, keeps the strongly connected components with a branch, minimises each by follower language, and certifies each component's pressure zero; rows with a cofinite edge on a cycle are listed and skipped. The collocation reading of the same sibling, truncated at twelve digits, is printed beside the bracket, and the generator asserts that it is the bracket truncated at twelve digits or lies inside the bracket, printing the count of each: `11` and `1`. - A real zero is certified at `s- < s+` by two facts at each end: the winding number of the truncated `det(I - z L_s)` around `abs(z) = 2`, the tail at radius `2` excluded on every arc, equals the period `p` of the graph (the count sums float angle steps between arc endpoints, sound because each arc's enclosure lies in an open half-plane that the float endpoints are asserted to share, so each step is the true one in `(-pi, pi)`), and `D(s-) + tail < 0 < D(s+) - tail`; together they give `lambda_0(s-) > 1 > lambda_0(s+)` for the leading eigenvalue. ## RUN - `uv run python mrlyprod/research/lab/py/periodic-determinant/determinant.py zero`, `15` seconds. - `uv run python mrlyprod/research/lab/py/periodic-determinant/determinant.py control`, `31` seconds, `{1,2,3}` at periods to `13`. - `uv run python mrlyprod/research/lab/py/periodic-determinant/determinant.py orphans`, `45` seconds, periods to `22` capped by `4 * 10^6` walks. - `uv run python mrlyprod/research/lab/py/periodic-determinant/determinant.py all`, `83` seconds. - `--period 18` (the `zero` and `control` truncation, `orphans` takes it plus `4`), `--arcs 2000` and `--modes 40` are the dials. - Prints only, writes nothing, reads one sibling, `lab/py/question-mark/question.py`, for the orphan graphs and their collocation readings. ## WITNESSES - The certificate paragraph of [apollonian](../../../notes/apollonian.md), `## The horocycle`. - The finite orphans paragraph and table of [beneath](../../../notes/beneath.md), `### Every rule is a graph-directed continued fraction set`, the table printed by `orphans`, every `h` and tail rounded up. - `zero`: `16189` trace classes to period `18`, disc `7/10`, `4/5`, `beta = 9/5`, `h = 29/56`, `K <= 5.73393` at `s_1`, tail at most `4.95e-40`, derivative tail at most `5.08e-37`, printed box half-widths `3.5e-39` and `4.0e-39`; exactly one zero of `D` with `Re s` in `[0.457015235230560657361880338944633917910, 0.457015235230560657361880338944633917917]` and `Im s` in `[6.958882679527224185470967589885884480867, 6.958882679527224185470967589885884480875]`; the constant on the Jenkinson-Pollicott disc at most `4.098461` unconjugated and `2.406247` at `beta = 33/20` at `dim E_2`, `5123.603` and `6.847291` at `s_1` at `beta = 9/5`, every bound rounded up. - `control`: `dim E_2` in `[0.5312805062772051416244686473684717854930591089, 0.5312805062772051416244686473684717854930591092]`, containing the Jenkinson-Pollicott interval; `{1,3}`, `{2,3}`, `{1,2,3}` within `1e-20` of Pollicott-Vytnova, `{2,3}` bracketed to `3e-60`. - `orphans`: `12` rows certified, the `8` cofinite rows `54699, 55275, 59799, 60375, 60855, 61431, 63903, 64479` listed; every minimal graph has `1` or `2` states; code `31710` reaches only `[0.57451176, 0.57451180]` at period `14`, its graph growing at `2.73` per letter.