From 551b3eb9818a2ff7b21dbcf430a56778a402cf65 Mon Sep 17 00:00:00 2001 From: nbruin Date: Tue, 6 Aug 2024 13:39:08 -0700 Subject: [PATCH 1/3] choose special name in absFactorize --- 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 c52a609e62a..4bbe281e8bf 100644 --- a/src/sage/rings/qqbar.py +++ b/src/sage/rings/qqbar.py @@ -981,7 +981,7 @@ def _factor_multivariate_polynomial(self, f, proof=True): else: norm_f = numfield_f - R = norm_f._singular_().absFactorize() + R = norm_f._singular_().absFactorize('"_SAGE_ALGEBRAIC_"') singular.setring(R) L = singular('absolute_factors') From 42ae7697a05543353870c95b785df89313968d85 Mon Sep 17 00:00:00 2001 From: nbruin Date: Tue, 6 Aug 2024 14:21:43 -0700 Subject: [PATCH 2/3] no underscore at start of name --- 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 4bbe281e8bf..a630479b44d 100644 --- a/src/sage/rings/qqbar.py +++ b/src/sage/rings/qqbar.py @@ -981,7 +981,7 @@ def _factor_multivariate_polynomial(self, f, proof=True): else: norm_f = numfield_f - R = norm_f._singular_().absFactorize('"_SAGE_ALGEBRAIC_"') + R = norm_f._singular_().absFactorize('"SAGE_ALGEBRAIC"') singular.setring(R) L = singular('absolute_factors') From 3b267f88b8b08b6c35384171b9c9c4aa6a66f58b Mon Sep 17 00:00:00 2001 From: nbruin Date: Tue, 6 Aug 2024 14:34:48 -0700 Subject: [PATCH 3/3] add doctest --- src/sage/rings/qqbar.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/sage/rings/qqbar.py b/src/sage/rings/qqbar.py index a630479b44d..5d2f2ca2216 100644 --- a/src/sage/rings/qqbar.py +++ b/src/sage/rings/qqbar.py @@ -927,6 +927,15 @@ def _factor_multivariate_polynomial(self, f, proof=True): sage: # needs sage.libs.singular sage: AA['x','y'](1).factor() # indirect doctest 1 + + Test :issue:`#33327`:: + + sage: # needs sage.libs.singular + sage: S. = QQbar[] + sage: p = a^2 + 7*c^2 + sage: factor(p) + (a + (-2.645751311064591?*I)*c) * (a + 2.645751311064591?*I*c) + """ from sage.interfaces.singular import singular from sage.structure.factorization import Factorization