1 | initial version |

This is because you're not passing the function appropriately to `find_root`

. Here's how you would do it:

```
sage: find_root(lambda t: xt(t) - 1, 2, 3)
ValueError: negative number cannot be raised to a fractional power
```

Unfortunately, the current root-finding only works with real numbers (see #14991).

With mpmath's root-finding you get the following answer, although the syntax is extremely clumsy at the moment:

```
from sage.libs.mpmath.utils import call
import mpmath
def mpmath_xt(t, prec):
t = ComplexField(prec)(t.real, t.imag)
ft = xt(t).n(prec)
return mpmath.mpc(ft.real(), ft.imag()) - 1
```

Then,

```
sage: call(mpmath.findroot, lambda t: mpmath_xt(t, 100), [2, 3], parent=ComplexField(100))
2.4629947809517837884000550617 + 2.0631855558523985234600213842e-88*I
```

Change 100 in the above to whatever precision you want.

Hope this helps!

2 | No.2 Revision |

This is because you're not passing the function appropriately to `find_root`

. Here's how you would do it:

```
sage: find_root(lambda t: xt(t) - 1, 2, 3)
ValueError: negative number cannot be raised to a fractional power
```

Unfortunately, the current root-finding only works with real numbers (see #14991~~).~~), and `find_root`

is encountering complex numbers.

With mpmath's root-finding you get the following answer, although the syntax is extremely clumsy at the moment:

```
from sage.libs.mpmath.utils import call
import mpmath
def mpmath_xt(t, prec):
t = ComplexField(prec)(t.real, t.imag)
ft = xt(t).n(prec)
return mpmath.mpc(ft.real(), ft.imag()) - 1
```

Then,

```
sage: call(mpmath.findroot, lambda t: mpmath_xt(t, 100), [2, 3], parent=ComplexField(100))
2.4629947809517837884000550617 + 2.0631855558523985234600213842e-88*I
```

Change 100 in the above to whatever precision you want.

Hope this helps!

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.