From dbb3cbecb469e0a1d538a38e17f57e03fc9bfa68 Mon Sep 17 00:00:00 2001 From: RuchitJagodara Date: Thu, 21 Dec 2023 16:43:55 +0530 Subject: [PATCH 1/3] Simplify the expression before converting it to algebraic number This commit changes the _algebraic_ function of Expression class to simplify the expression with simplify_full() function before converting it to algebraic number. --- src/sage/symbolic/expression.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx index 9d86a81b24b..6be5c2d5457 100644 --- a/src/sage/symbolic/expression.pyx +++ b/src/sage/symbolic/expression.pyx @@ -2040,7 +2040,7 @@ cdef class Expression(Expression_abc): 0 """ from sage.symbolic.expression_conversions import algebraic - return algebraic(self, field) + return algebraic(self.simplify_full(), field) def __hash__(self): r""" From 30b120a310f67e7bdfd24a642f7fb08a51d02730 Mon Sep 17 00:00:00 2001 From: RuchitJagodara Date: Thu, 21 Dec 2023 16:48:05 +0530 Subject: [PATCH 2/3] Added a doctest Added the doctest for _element_constructor_() function of AlgebraicField class. --- src/sage/rings/qqbar.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/sage/rings/qqbar.py b/src/sage/rings/qqbar.py index 5fc675ffd83..9b5605e8d15 100644 --- a/src/sage/rings/qqbar.py +++ b/src/sage/rings/qqbar.py @@ -1646,6 +1646,16 @@ def _element_constructor_(self, x): True sage: pi in QQbar # needs sage.symbolic False + + TESTS:: + + Check if :trac:`12745` is fixed:: + + sage: x = exp(2*I*pi/7) + exp(-2*I*pi/7) + sage: QQbar(x) in AA + True + sage: AA(x) + 1.246979603717467? """ if isinstance(x, AlgebraicNumber): return x From 52a00ba9119789c8b4c5fbcdb079dcdd3ce8c9bb Mon Sep 17 00:00:00 2001 From: RuchitJagodara Date: Thu, 21 Dec 2023 17:04:35 +0530 Subject: [PATCH 3/3] Corrected a linting error --- src/sage/rings/qqbar.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/rings/qqbar.py b/src/sage/rings/qqbar.py index 9b5605e8d15..f9d30f99531 100644 --- a/src/sage/rings/qqbar.py +++ b/src/sage/rings/qqbar.py @@ -1647,7 +1647,7 @@ def _element_constructor_(self, x): sage: pi in QQbar # needs sage.symbolic False - TESTS:: + TESTS: Check if :trac:`12745` is fixed::