OFFSET
0,4
COMMENTS
a(n) = numerator of Integral_{t=0..1} h_n(t) dt, where h_0 = 1, h_1 = T(h_0), h_2 = T(h_1), ...:[0,1]->[0,1], the operator T is given by T(g)(x) := Integral_{y=x..1} g^*(y) dy / Integral_{y=0..1} g(y) dy and g^*(y) := sup g^{-1}[y,1] (pseudo-inverse).
Geometrically speaking, T rotates by 90 degrees before integrating, which is why we call h_0, h_1, h_2,... the canonical stribolic iterates (from Greek stribo=turn/twist).
Alternatively, a(n) can be calculated from the polynomial q_n := h_n ° ... ° h_1. Cf. alternative formula below.
The sequence (a(n)/A369991(n)) is strictly decreasing and converges to the stribolic constant kappa=A369988.
We observe that a(n) and a(n+1) are coprime for n = 0..22 with the sole exception of gcd(a(5),a(6)) = 7.
LINKS
Roland Miyamoto, Table of n, a(n) for n = 0..14
Roland Miyamoto, Table of n, a(n) for n = 0..23
Roland Miyamoto, Polynomial parametrisation of the canonical iterates to the solution of -gamma*g' = g^{-1}, arXiv:2402.06618 [math.CO], 2024.
FORMULA
a(0)=1, a(n) is the numerator of kappa_n := Integral_{t=0..1} h_n(t) dt where h_1(x):=1-x and h_{n+1}(x) := Integral_{t=x..1} h_n^*(t) dt / kappa_n for n=1,2,...; here, h_n^* denotes the compositional inverse of h_n.
Alternatively, the rational sequence (kappa_n) := (a(n)/A369991(n)) and the two polynomial sequences (q_n), (Q_n) together are determined by the following equations for n=1,2,...: kappa_0=1, q_0=X, q_1=1-X, Q_n(0)=0, Q_n' = q_n'*q_{n-1}, kappa_n = (-1)^n * Q_n(1), q_{n+1} = (n+1) mod 2 - Q_n / kappa_n.
EXAMPLE
h_2(x) = (1-x)^2, h_2^*(x) = 1 - sqrt(x) = -h_3'(x)/3, h_3(x) = 1 - 3x + 2x^(3/2), hence Integral_{t=0..1} h_2(t) dt = 1/3 and Integral_{t=0..1} h_3(t) dt = 3/10. Therefore a(2)=1 and a(3)=3.
PROG
(Python)
from functools import cache; from sympy.abc import x
@cache
def kappa(n): return (1-(n%2)*2) * Q(n).subs(x, 1) if n else 1
@cache
def Q(n): return (q(n).diff() * q(n-1)).integrate()
@cache
def q(n): return (1-x if n==1 else n%2-Q(n-1)/kappa(n-1)) if n else x
def numer(c): return c.numerator() if c%1 else c
print([numer(kappa(n)) for n in range(15)])
CROSSREFS
KEYWORD
nonn,frac
AUTHOR
Roland Miyamoto, Feb 07 2024
STATUS
approved