Dear Marcel,
It is a pity that this does not work more directly. Here is a work around
to achieve what you want to do
sage: exp = sympify("CRootOf(x**5 + x + 1, 0)")
sage: sage_poly = QQ['x'](list(map(QQ, reversed(exp.poly.rep.rep))))
sage: sage_approx = RIF(exp.n()) + RIF(-1e-30, 1e-30)
sage: QQbar.polynomial_root(sage_poly, sage_approx)
-0.7548776662466928?
This will be fixed in https://github.com/sagemath/sage/pull/35414 and
hopefully included in the next sage version.
Vincent
Le vendredi 31 mars 2023 à 15:00:34 UTC+2, Marcel Moosbrugger a écrit :
> I am trying to convert "complex_root_of" expressions to algebraic numbers
> (elements in the field QQbar). However, I get a "ValueError" with the
> message "to many values to unpack".
>
> A minimal example would be:
>
> from sage.all import *
> from sympy import sympify
>
> exp1 = sympify("CRootOf(x**2 + 1, 0)")._sage_()
> exp2 = sympify("CRootOf(x**2 + 1, 1)")._sage_()
> print(exp1)
> print(exp2)
> exp1 = QQbar(exp1)
> exp2 = QQbar(exp2)
> print(exp1)
> print(exp2)
>
> The context I am working in is: I have a tool that is currently written in
> python and sympy. I am trying to use the output of that tool to do some
> further computation using sage, and the output of the first tool may
> contain CRootOf expressions.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-support/c4602f36-3cec-44e2-81a5-67dc38a50230n%40googlegroups.com.