We're trying to find a number, like e^3, or probably easier, e^4 (from coth
2), that
we can prove nonHurwitz. We are tantalized by the apparent breakdown of
finite state when we subject the c.f. for coth 2 (with fractional terms
1/2,3/2,5/2,...)
to a homographic function, vs the simple, repetitive behavior when we
process
coth 1/n (with terms n,3n,5n,...). In the latter case, finite state can be
proven by
simple matrix identities. E.g., the process of simply doubling
(={{2,0},{0,1}},
representing (2#+0)/(0#+1)) coth 1 = 1,3,5,... produces exactly five
outputs for
every three inputs via the identity
2 0 1 + 6 k 1 3 + 6 k 1
( ).( ) . ( ) .
0 1 1 0 1 0
5 + 6 k 1 2 + 12 k 1 1 + 3 k 1
( ) = ( ) . ( ) .
1 0 1 0 1 0
1 1 1 1 2 + 3 k 1 2 0
( ).( ).( ) . ( )
1 0 1 0 1 0 0 1
I.e., input 6k+1,6k+3,6k+5 and output 12k+2,3k+1,1,1,3k+2
restoring the {{2,0},{0,1}} state, so
twice 1,3,5,7,..., = 2,1,1,1,2,14,4,1,1,5,26,7,1,1,8,... .
Left and right multiplying the equation by {{1,0},{0,2}} (= halving)
produces the
matrix proof of the reverse process: Five inputs produce three outputs,
where
we cancel the 2s in {{2,0},{0,2}} to get the identity matrix, which we
erase.
Every homographic function of a Hurwitz c.f. will produce one of these
matrix
equations.
Here is the actual computation of 2 coth 1.
In[356]:= Column[{#[[1]],Differences[#[[2,1]]]}&@
Reap[Nest[st,{{{2*#+1,1},{1,0}}&,0,{{2,0},{0,1}}},32]]]
st takes a state vector containing the function for the nth input matrix,
the
current value of n, the (2x2) state matrix (initially, the function we wish
to apply
to the c.f.), and the output c.f. so far. For each output, it also Sows
the current n.
After 32 (input or output) steps, we have the current state vector and a
list of
how many inputs preceded each output:
Out[356]= {{{2 #1+1,1},{1,0}}&,12,{{2,0},{0,1}},
2,1,1,1,2,14,4,1,1,5,26,7,1,1,8,38,10,1,1,11}
{1,0,0,0,2,1,0,0,0,2,1,0,0,0,2,1,0,0,0}
We see that the state matrix has returned to {{2,1},{1,0}}, and the I/O
behavior
is repetitive: read one, output four, read two, output 1.
The actual update function is
Clear[st]; st[{f_, n_, M_?MatrixQ, cf___}] :=
Block[{xy = Divide @@ (M.{{1, 1}, {1, 0}}), t},
If[Floor@xy[[1]] == (t = Floor@xy[[2]]),
Join[{f, Sow[n]}, {{{0, 1}, {1, -t}}.M, Sequence @@ {cf, t}}],
xy = M.f[n]; {f, n + 1, xy/GCD @@ Join @@ xy, cf}]]
Now let's allow fractional terms. To keep the state matrix canonical, we
can scale
the input matrices to be integers, e.g. {{1/2,1},{1,0}} -> {{1,2},{2,0}}.
This will scale
the state matrix determinant by -4 instead if -1, clearly blowing
finite-state, but for
the possibility of later scaling out common factors from the state matrix.
The only change to the stepper is to replace Divide @@ (M.{{1, 1}, {1, 0}})
by
Divide @@M, reflecting that we can no longer rely on the unread tail of the
c.f.
to exceed 1. This will typically introduce a one term latency which will
mildly
conceal state repetition.
Let's compute 2 coth 1 as the identity function of 1*2,3/2,5*2,7/2,...
instead of
doubling 1,3,5,... as before.
In[366]:= Column[{#[[1]],Differences[#[[2,1]]]}&@
Reap[Nest[st2,{{{2^(-1)^#*(2*#+1),1},{1,0}}&,0,{{1,0},{0,1}}},35]]]
Out[366]= {{{2^(-1)^#1 (2 #1+1),1},{1,0}}&,14,{{27,2},{2,0}},
2,1,1,1,2,14,4,1,1,5,26,7,1,1,8,38,10,1,1,11,50}
{1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1}
It's still finite state (modulo a term of latency, and a temporary
determinant of -4).
But now let's try something ridiculously simple:
In[372]:= FromContinuedFraction[{{1/2}}]
Out[372]= 1/4 (1+Sqrt[17])
In[373]:= ContinuedFraction[%]
Out[373]= {1,{3,1,1}}
I.e., let's extract the strictly periodic 1,3,1,1,3,1,1,... (why didn't it
say {{1,3,1}}?)
from 1/2,1/2,1/2,... . (And why won't it allow
FromContinuedFraction[{{x}}]?
Or {{1,1,0}}?)
Anyway, here's the bad news:
In[376]:= Column[{#[[1]],Differences[#[[2,1]]]}&@
Reap[Nest[st2,{{{1/2,1},{1,0}}&,0,{{1,0},{0,1}}},69]]]
Out[376]= {{{1/2,1},{1,0}}&,52,
{{6370761842645543,5705560984788822},
{5040360126932101,1330401715713442}},
1,3,1,1,3,1,1,3,1,1,3,1,1,3,1,1,3}
{4,5,0,4,3,0,6,3,0,4,5,0,4,5,0,4}
It's not finite state! (Note the huge matrix.) The input and output are
repetitive,
but their timings are not. Instead we have a very interesting quinary
pattern,
which becomes ternary under the mapping {4,5,0}->a, {4,3,0}->b, {6,3,0}->c:
In[377]:= TableForm[Partition[Partition[Differences[#[[2,1]]]&@
Reap[Nest[st2,{{{1/2,1},{1,0}}&,0,{{1,0},{0,1}}},1093]],3]
/.{{4,5,0}->a,{4,3,0}->b,{6,3,0}->c},15]]
Out[377]//TableForm=
a b c a a b c a b c c a b c a
a b c a a b c a b c c a b c a
a b c a b c c a b c c a b c a
a b c a b c c a b c c a b c a
a b c a b c c a b c a a b c a
a b c a b c c a b c a a b c a
This means that obvious misbehavior of the matrix processing coth 2
does not guarantee misbehavior of its c.f., = (e^4+1)/(e^4-1).
Yet this is anything but random. Is it fractal, or does it draw one under
some interpretation?
A less degenerate example is computing coth 1 from (2#+1)/(0#+1),
where #:=0 + ContinuedFractionK[k, k, {k,∞}]=1/(e-1) :
In[378]:= Column[{#[[1]],Differences[#[[2,1]]]}&@
Reap[Nest[st,{{{#,#+1},{1,0}}&,0,{{2,1},{0,1}}},69]]]
Out[378]= {{{#1,#1+1},{1,0}}&,49,
{{2206943012448662116158774811288656,2206950077348678728346652963751377},
{26920936494950091431033190362544,26369778840455766330813469539023}},
2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78}
{3,3,2,2,3,2,2,3,2,2,3,2,2,3,1,3,3,1,3}
The output intervals are crazy, yet the terms are not.
What is it about processing 1/2,3/2,5/2,... that assures crazy
sizes, not just crazy intervals?:
In[387]:= Column[{#[[1]],Differences[#[[2,1]]]}&@
Reap[Nest[st,{{{#+1/2,1},{1,0}}&,0,{{1,0},{0,1}}},666]]]
Out[387]= {{{#1+1/2,1},{1,0}}&,155,
{{326309420948894846183209753068665518244757108833,
-1309845084617830597650227042950849295187806558},
{183300788310157256605231207606976793305330479468,
5656683762988769057687299987446265732036054360}},
1,26,1,3,1,42,2,3,1,28,5,1,4,3,1,6,12,1,40,1,9,1,8,2,1,1,2,1,3,5,4,1,1,5,1,5,
8,1,2,1,1,2,16,1,3,2,6,4,4,14,3,2,1,2,3,1,2,1,18,4,1,1,1,32,1,4,2,6,6,4,2,1,
1,3,2,1,4,1,1,8,1,2,1,9,8,1,2,4,1,19,1,3,3,2,11,1,62,2,2,2,6,21,3,7,1,1,7,23,
1,19,1,4,1,1,1,1,5,2,13,2,7,25,6,2,3,36,3,1,9,2,379,2,5,1,1,3,1,1,1,36,26,1,22,
1,1,5,1,1,2,1,1,13,2,1,3,4,1,2,7,1,2,1,1,330,1,1,4,3,5,10,1,31,2,27,3,1,1,2,56,
3,3,4,153,1,1,1,1,2,2,1,1,1,18,2,4,3,1,10,1,8,3,20,2,14,4,1,50,5,1,2,1,16,3,3,
28,1,1,3,1,1,7,2,2,8,2,7,1,1,1,3,9,4,1,1,2,1,1,3,3,2,1,3,197,63,1,6,14,5,6,1,1,1,
2,6,11,3,7,7,2,3,13,1,1,1,4,1,1,2,2,1,1,2,2,14,1,4,3,1,17,4,1,2,1,11,1,5,1,11,2,2,
1,2,1,1,2,1,3,3,2,2,2,1,1,9,2,1,2,1,2,1,1,6,4,1,16,2,2,1,3,1,14,1,1,2,3,1,1,2,5,1,
104,3,6,1,1,1,10,2,39,1,2,1,8,4,2,1,13,1,2,17,575,1,1,4,87,1,9,1,8,1,1,2,6,6,1,2,
1,1,6,1,1,16,12,1,1,5,4,1,76,2,3,8,1,128,2,2,4,1,2,1,2,4,1,3,3,2,2,1,3,2,1,1,2,2,31,
4,2,1,4,1,4,1,2,2,2,2,5,3,2,1,3,3,355,1,1,9,2,2,1,1,3,19,72,11,2,2,2,1,23,1,2,31,2,
7,1,1,2,5,1,2,35,1,1,1,7,1,10,1,3,3,4,5,21,1,1,1,2,2,1,7,1,1,19,4,1,8,2,2,1,2,34,1,
59,4,1,2,4,28,1,1,1,1,1,3,3,4,1,13,45,1,11,1,5,1,9,1,3,1,3,3,1}
{2,0,2,0,1,0,1,0,1,1,0,1,1,0,1,0,0,2,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,
0,1,0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,
1,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,1,0,
1,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,2,0,0,0,1,0,1,0,0,0,
1,1,0,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,0,
1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,
0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,
0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,1,0,
0,0,0,1,0,2,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,
0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,2,0,0,0,0,1,0,0,0,
1,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,
0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0}
2 is getting rare. Are there finitely many? Are the 0 bursts bounded? If
not, could that make a proof? We'd triumph by showing unbounded
1 bursts in the *output* sequence. Or even unbounded bursts < any fixed
constant. And we only need to prove nonHurwitz for *any*
(a e^4 + b)/(c e^4 + d), a,b,c,d rational.
(Desi insults notwithstanding.)
--rwg
(Apologies: In[378] is confusing because ConfinuedFractionK uses
{{0,num},{1,den}}
style matrices, but st uses {{den,num},{0,1}}.)
On Sun, Oct 7, 2012 at 2:12 PM, Bill Gosper <billgosper(a)gmail.com> wrote:
> The quasiperiod for the continued fraction of e ~ 2.718 can be written as
> the three
> polynomials {1,2k,1}, "modulo rotation and translation", e.g. {2k-2,1,1}.
> It can also
> be "inflated" by a factor of 2 or 3 or ..., e.g
> {1,4k,1,1,4k+2,1} or {1,6k,1,1,6k+2,1,1,6k+4,1} or ... .
>
> If I heard him right, Julian has proved that given the Hurwitz # x
> :={P0(k),P1(k),...},
> there is an inflation factor Δ ≤ (ad-bc)^4 such that the quasiperiod of
> y:=(ax+b)/(cx+d) can be written by inflating x by Δ and then replacing each
> polynomial Pi with an even number of constant polynomials, followed by a
> polynomial with the same degree as Pi. In particular, linear terms cannot
> arise
> from nonlinear terms. The resulting CF of y may often be "deflated" to
> have
> a shorter quasiperiod than x.
> --rwg
> One use of this theorem is to detect the possibility or impossibility of
> finding a
> homographic transformation shortening a long quasiperiod.
>
> For some reason, Julian disavows calling this a "structure theorem". It
> can
> probably be extended to cover exponential (e.g.) as well as polynomial
> terms.
>