Is it, its real or imaginary part, or magnitude algebraic? Or at least, are these quantities algebraically connected? My wildly recursive exact Hilbert function stacks out after a few convergents, raising the entertaining problem of rewriting it nonrecursively. "$RecursionLimit=Infinity removes any limit on the number of recursion levels. ... On some computer systems, your whole Wolfram Language session may crash if you allow it to use more stack space than the computer system allows. " But Mathematica is apparently unable to warn you where that precipice lurks! Meanwhile, a mild surprise: $RecursionLimit = 9999; In[22]:= Convergents[1/Sqrt[2],16] Out[22]= {0,1,2/3,5/7,12/17,29/41,70/99,169/239,408/577,985/1393,2378/3363,5741/8119,13860/19601,33461/47321,80782/114243,195025/275807} Let's Hilbert these for a succession of rational approximations to Hilbert[1/√2]: In[25]:=Hilbert/@%22 Out[25]={0, 1, 1 + I, 50/63 + (41 I)/63, 14/17 + (12 I)/17, 25/31 + (8 I)/11, 26425/32769 + (2703 I)/3641, 352121381971026539243677635070833214831945620557921683722821936356496290/441711766194596082395824375185729628956870974218904739530401550323154943 + 330867072223470133127042461326599267580738957131033875887852738752365031 I/441711766194596082395824375185729628956870974218904739530401550323154943, 3786557088089533296370/4722366482869645213697 + 3539308315540678808218 I/4722366482869645213697, <big numbers>...) Indeed, OS X Mathematica 10 quietly loses its back end on the very next (17th) convergent. Hilbert just the last four: In[23]:= tim[Hilbert[#]]&/@Take[%22,-4] During evaluation of In[23]:= 0.073786 seconds During evaluation of In[23]:= 14.515494 seconds During evaluation of In[23]:= 0.744485 seconds During evaluation of In[23]:= 50.913754 seconds <multihundred digit complex rationals suppressed> Wait, why did the penultimate one take only 3/4 second? In[24]:= Short/@% Out[24]= {(178756875476641101<<8>>535160091329216180)/(223007451985306231<<8>>272648361505980417)+<<1>>, (12783524938776490<<505>>462752734609543929)/(15948292093020135<<505>>211095044536439369)+<<1>>, 3525337771939/4398046511105+(3296808843473 I)/4398046511105, (66696048809823983<<523>>014863141630402424)/(83206401558341682<<523>>067958436720377525)+<<1>>} The numerator and denominator are comparatively tiny! In fact, the denominator is In[36]:= 2^42+1 Out[36]= 4398046511105 Douglas Adams, are you listening? Yet nothing's numerically strange about the approach to Hilbert[1/√2]: In[33]:= N[%23] Out[33]= {0.801573552 +0.749630877 I,0.801560748 +0.749590554 I,0.801569006 +0.749607544 I,0.801573528 +0.749603288 I} In octal, that 15th convergent and its Hilbert image are In[32]:= BaseForm[{%22[[-2]],%23[[-2]]},8] Out[32]//BaseForm= {Subscript[235616, 8]/Subscript[337103, 8], Subscript[63231640267643, 8]/Subscript[100000000000001, 8]+(Subscript[57763107534321, 8] I)/Subscript[100000000000001, 8]} Many other denominators (of the real parts) alternately exceed and inceed powers of two: Table[Log[2, Denominator[Re[%25[[k]]]] + (-1)^k], {k, 4, 16}] {6, 4, 5, 15, 238, 72, Fail,Fail, 44, 144, Fail, 42,Fail]} The failing denominators approximate powers of 2 divided by small integers, suggesting accidental cancellations. E.g. In[39]:= BaseForm[Denominator[Re[%25[[10]]]],8] Out[39]//BaseForm= Subscript[30303030303030303030303030303030303030303030303030303030303030303, 8] In[41]:= BaseForm[Denominator[Re[%25[[11]]]]+1,8] Out[41]//BaseForm= Subscript[1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 8] In[43]:= BaseForm[Denominator[Re[%25[[14]]]],8] Out[43]//BaseForm= Subscript[1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111, 8] In[44]:= BaseForm[Denominator[Re[%25[[16]]]],8] Out[44]//BaseForm= Subscript[512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265005127726500512772650051277265, 8] Note that these 2ish denominators are not artifacts of bigfloat truncation, nor continued fraction truncation, nor are they properties of sqrt 2. It's just that Hilbert likes to make 2ish denominators. The irregular sizes correspond to the irregular periods of decimal (or whatever) expansions of rationals. Interestingly, inverse Hilbert also likes 2ish denominators. Using Julian's Clear[unbert]; unbert[z_] := piecewiserecursivefractal[z, Identity, If[0 <= Re[#] <= 1 && 0 <= Im[#] <= 1, Range[4], {}] &, {1 - 2*#/I &, 2*# - I &, 2*# - I - 1 &, (# - 1)*2/I &}, {(1 - #)/4 &, (# + 1)/4 &, (# + 2)/4 &, 1 - #/4 &}] in turn using his miraculous piecewiserecursivefractal[x_, f_, which_, iters_, fns_] := piecewiserecursivefractal[x, g_, which, iters, fns] = ((piecewiserecursivefractal[x, h_, which, iters, fns] := Block[{y}, y /. Solve[f[y] == h[y], y]]); Union @@ ((fns[[#]] /@piecewiserecursivefractal[iters[[#]][x], Composition[f, fns[[#]]], which, iters, fns]) & /@which[x])) In[51]:= $RecursionLimit=6666;unbert/@{1/89,1/97,1/89+I/97,I/89+1/97,89/97} Out[51]= {{959/4194303},{396685311379875009944667/1760625833650318613189865563}, <big>,<big>, {280122039752001/281474976710657}} Testing: In[52]:= Hilbert[#[[1]]]&/@%//tim 26.544898 Seconds,5 terms Out[52]= {1/89,1/97,1/89+I/97,1/97+I/89,89/97} The octal denominators: In[53]:= BaseForm[Denominator[%51],8] Out[53]//BaseForm= {{Subscript[17777777, 8]},{Subscript[1330133013301330133013301330133,8]}, {Subscript[470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047,8]}, {Subscript[470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047004700470047,8]}, {Subscript[10000000000000001, 8]}} --rwg (Sorry for the discourteous length. Indeed, GEICO has just sent me a Courtesy Renewal Notice.)