2022.10.28 MATH 3600-001 More continued fractions

332 days ago by calkin

What happens when we iterate $x \rightarrow \frac{1}{x-\lfloor x \rfloor}$?

x=random()+pi 
       
type(x) 
       
<type 'sage.symbolic.expression.Expression'>
<type 'sage.symbolic.expression.Expression'>
print(x.n(digits=1)) 
       
3.8
3.8
x=random() type(x) 
       
<type 'float'>
<type 'float'>
type(pi.n()) 
       
<type 'sage.rings.real_mpfr.RealNumber'>
<type 'sage.rings.real_mpfr.RealNumber'>
x=(.1+random()).n(digits=1) 
       
print(x-floor(x)) 
       
0.18
0.18
x=(1.*random()).n(digits=2) for i in srange(30): x=1/(x-floor(x)) print(floor(x),x) 
       
(2, 2.7)
(1, 1.5)
(1, 1.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.7)
(1, 1.5)
(1, 1.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
(2, 2.9)
(1, 1.1)
(10, 10.)
(21, 21.)
r = RealField(1000).random_element(0, 1) print(r) 
       
0.0586925149038079281684385696734265004587731316565534371791685909850392\
588460823077231379482516640360478353457050370974351694817016184480561856\
100363135548125157050161771331905179648060154354739306247862196381589617\
767387239527776010376347413901271414997455700701176786923333323189498291\
757653222135725
0.0586925149038079281684385696734265004587731316565534371791685909850392588460823077231379482516640360478353457050370974351694817016184480561856100363135548125157050161771331905179648060154354739306247862196381589617767387239527776010376347413901271414997455700701176786923333323189498291757653222135725
 
       
1.2039984924
<type 'float'>
1.2039984924
<type 'float'>
type(r) 
       
<type 'sage.rings.real_mpfr.RealNumber'>
<type 'sage.rings.real_mpfr.RealNumber'>

So, let's explore 

x=RealField(1000).random_element(0, 1) counter=0 for i in srange(1000000): x=1/(x-floor(x)) if floor(x)==1: counter+=1 print(counter) 
       
414964
414964
x=RealField(1000).random_element(0, 1) counter=0 for i in srange(1000000): x=1/(x-floor(x)) if floor(x)==2: counter+=1 print(counter) 
       
170214
170214
x=RealField(1000).random_element(0, 1) counter=0 for i in srange(1000000): x=1/(x-floor(x)) if floor(x)==3: counter+=1 print(counter) 
       
93483
93483
x=RealField(1000).random_element(0, 1) counter=0 for i in srange(1000000): x=1/(x-floor(x)) if floor(x)==4: counter+=1 print(counter) 
       
58374
58374
x=RealField(1000).random_element(0, 1) counter=0 for i in srange(1000000): x=1/(x-floor(x)) if floor(x)==5: counter+=1 print(counter) 
       
40531
40531
x=RealField(1000).random_element(0, 1) counter=0 for i in srange(1000000): x=1/(x-floor(x)) if floor(x)==6: counter+=1 print(counter) 
       
29849
29849