1 | initial version |

Thanks for your report. The problem comes from the fact that you can not create quadratic field with very large D

```
sage: QuadraticField(4**1000+1)
Traceback (most recent call last):
...
ValueError: Cannot convert NaN or infinity to Pari float
```

I opened the ticket #23459 to track the issue.

2 | No.2 Revision |

Thanks for your report. The problem comes from the fact that you can not create quadratic field with very large D

```
sage: QuadraticField(4**1000+1)
Traceback (most recent call last):
...
ValueError: Cannot convert NaN or infinity to Pari float
```

I opened the ticket #23459 to track the issue.

EDIT: in the mean time you can use the following modification of `value`

that I adapted from the `.value()`

method of the continued fraction

```
def periodic_cf_value(cf):
from sage.rings.continued_fraction import last_two_convergents
if cf._x1 and cf._x1[0] < 0:
return -(-cf).value()
if cf._x2[0] is Infinity:
return cf._rational_()
# determine the equation for the purely periodic cont. frac. determined
# by self._x2
p0,q0,p1,q1 = last_two_convergents(cf._x2)
# now x is one of the root of the equation
# q1 x^2 + (q0 - p1) x - p0 = 0
D = (q0-p1)**2 + 4*q1*p0
x = ((p1 - q0) + sqrt(D)) / (2*q1)
# we add the preperiod
p0,q0,p1,q1 = last_two_convergents(cf._x1)
return (p1*x + p0) / (q1*x + q0)
```

With the above function you can do with your list l

```
sage: x = continued_fraction(l)
sage: v = periodic_cf_value(x)
```

However, the number obtained is a symbolic number not that easy to work with

```
sage: parent(v)
Symbolic Ring
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.