 
 
 
7.2.7  Continued fraction representation of a real
Any real number a can be written as a continued fraction: 
, which is often abbreviated
[a0;a1,a2,a3,…].
The dfc command writes a
real number as a continued fraction.
- 
dfc takes one mandatory argument and one optional
argument:
- 
a, a real number.
- Optionally, n an integer or epsilon, a positive
real number.
 
- dfc(a) returns the list of the continued fraction
representation of a with precision epsilon, which is
given by Section 2.5.7, item 2.5.7.
- dfc(a,epsilon) returns the list of the
continued fraction representation which approximates a or
evalf(a) with the specified precision epsilon.
- dfc(a,n) returns the list of the continued fraction
representation of a of order n.
Remarks.
- 
The convert command
with the option confrac
(see Section 10.1.10) has a similar functionality: in that case the
value of epsilon is the value defined in the CAS
configuration and the answer may be stored in an optional third
argument.
- If the last element of the result is a list, the representation is
ultimately periodic, and the last element is the period. It means
that the real is a root of an equation of order 2 with integer
coefficients. So If dfc(a)=[a0,a1,a2,[b0,b1]] then:
- If the last element of the result is not an integer, it
represents a remainder r.
For example, if dfc(a) is equal to [a0,a1,a2,r], then:
Be aware that this remainder has lost most of its accuracy.
Examples
or:
|  | | |  | ⎡ ⎣
 | 1,2,2,2,2,2,2,2,2,2,2,2,2 | ⎤ ⎦
 | 
 |  |  |  |  |  |  |  |  |  |  | 
 | 
| convert(sqrt(2),confrac,'dev') | 
With epsilon=1e−9 in the CAS configuration, we obtain:
|  | | |  | ⎡ ⎣
 | 1,2,2,2,2,2,2,2,2,2,2,2,2 | ⎤ ⎦
 | 
 |  |  |  |  |  |  |  |  |  |  | 
 | 
and [1,2,2,2,2,2,2,2,2,2,2,2,2] is stored in dev.
Input to verify:
| 1+1/(2+1/(3+1/(4+1/(5+7/43)))) | 
| convert(9976/6961,confrac,'l') | 
With epsilon=1e−9 in the CAS configuration, we obtain:
and [1,2,3,4,5,6,7] is stored in l.
|  | | |  | ⎡ ⎢
 ⎢
 ⎣
 | 3,7,15,1,292, | | −113 π +355 |  |  |  | 33102 π −103993 | 
 | ⎤ ⎥
 ⎥
 ⎦
 | 
 |  |  |  |  |  |  |  |  |  |  | 
 | 
If floats are hardware floats, e.g. for Digits=12, we obtain:
|  | | |  | ⎡ ⎣
 | 3,7,15,1,292,1.57581843574 | ⎤ ⎦
 | 
 |  |  |  |  |  |  |  |  |  |  | 
 | 
or:
or, with epsilon=1e−9 in the CAS configuration:
and [3,7,15,1,292] is stored in ll.
 
 
