From e31d848bf51347327496ba14f85a4103e057b4a0 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 28 Apr 2024 21:25:04 -0700 Subject: [PATCH 1/3] src/sage/combinat/sf/sfa.py: Deprecate is_SymmetricFunctionAlgebra --- src/sage/combinat/sf/sfa.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sage/combinat/sf/sfa.py b/src/sage/combinat/sf/sfa.py index d2d9d6385e5..aab1cf6d2bb 100644 --- a/src/sage/combinat/sf/sfa.py +++ b/src/sage/combinat/sf/sfa.py @@ -246,6 +246,10 @@ def is_SymmetricFunctionAlgebra(x): sage: from sage.combinat.sf.sfa import is_SymmetricFunctionAlgebra sage: is_SymmetricFunctionAlgebra(5) + doctest:warning... + DeprecationWarning: the function is_SymmetricFunctionAlgebra is deprecated; + use 'isinstance(..., SymmetricFunctionAlgebra_generic)' instead + See https://github.com/sagemath/sage/issues/37896 for details. False sage: is_SymmetricFunctionAlgebra(ZZ) False @@ -258,6 +262,8 @@ def is_SymmetricFunctionAlgebra(x): sage: is_SymmetricFunctionAlgebra(SymmetricFunctions(FractionField(QQ['q','t'])).macdonald().P()) True """ + from sage.misc.superseded import deprecation + deprecation(37896, "the function is_SymmetricFunctionAlgebra is deprecated; use 'isinstance(..., SymmetricFunctionAlgebra_generic)' instead") return isinstance(x, SymmetricFunctionAlgebra_generic) From 6de7904e94fe43baec5a0327a906ba288d5d7fc4 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 28 Apr 2024 21:29:22 -0700 Subject: [PATCH 2/3] src/sage/algebras/quatalg/quaternion_algebra.py: Deprecate is_QuaternionAlgebra --- src/sage/algebras/quatalg/quaternion_algebra.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sage/algebras/quatalg/quaternion_algebra.py b/src/sage/algebras/quatalg/quaternion_algebra.py index 4077d52de00..9d81d293556 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra.py +++ b/src/sage/algebras/quatalg/quaternion_algebra.py @@ -307,10 +307,16 @@ def is_QuaternionAlgebra(A): EXAMPLES:: sage: sage.algebras.quatalg.quaternion_algebra.is_QuaternionAlgebra(QuaternionAlgebra(QQ,-1,-1)) + doctest:warning... + DeprecationWarning: the function is_QuaternionAlgebra is deprecated; + use 'isinstance(..., QuaternionAlgebra_abstract)' instead + See https://github.com/sagemath/sage/issues/37895 for details. True sage: sage.algebras.quatalg.quaternion_algebra.is_QuaternionAlgebra(ZZ) False """ + from sage.misc.superseded import deprecation + deprecation(37895, "the function is_QuaternionAlgebra is deprecated; use 'isinstance(..., QuaternionAlgebra_abstract)' instead") return isinstance(A, QuaternionAlgebra_abstract) From 4a3ffbdb9336f168ab5e36736ec631b4608ba972 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 28 Apr 2024 21:40:53 -0700 Subject: [PATCH 3/3] src/sage/algebras/free_algebra.py: Deprecate is_FreeAlgebra --- src/sage/algebras/free_algebra.py | 8 +++++++- src/sage/algebras/free_algebra_quotient.py | 7 +++++-- src/sage/algebras/quatalg/quaternion_algebra.py | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/sage/algebras/free_algebra.py b/src/sage/algebras/free_algebra.py index e84a6b03f24..9564869df42 100644 --- a/src/sage/algebras/free_algebra.py +++ b/src/sage/algebras/free_algebra.py @@ -376,6 +376,10 @@ def is_FreeAlgebra(x) -> bool: sage: from sage.algebras.free_algebra import is_FreeAlgebra sage: is_FreeAlgebra(5) + doctest:warning... + DeprecationWarning: the function is_FreeAlgebra is deprecated; + use 'isinstance(..., (FreeAlgebra_generic, FreeAlgebra_letterplace))' instead + See https://github.com/sagemath/sage/issues/37896 for details. False sage: is_FreeAlgebra(ZZ) False @@ -387,6 +391,8 @@ def is_FreeAlgebra(x) -> bool: ....: degrees=list(range(1,11)))) True """ + from sage.misc.superseded import deprecation + deprecation(37896, "the function is_FreeAlgebra is deprecated; use 'isinstance(..., (FreeAlgebra_generic, FreeAlgebra_letterplace))' instead") return isinstance(x, (FreeAlgebra_generic, FreeAlgebra_letterplace)) @@ -742,7 +748,7 @@ def _coerce_map_from_(self, R): return True # free algebras in the same variable over any base that coerces in: - if is_FreeAlgebra(R): + if isinstance(R, (FreeAlgebra_generic, FreeAlgebra_letterplace)): if R.variable_names() == self.variable_names(): return self.base_ring().has_coerce_map_from(R.base_ring()) if isinstance(R, PBWBasisOfFreeAlgebra): diff --git a/src/sage/algebras/free_algebra_quotient.py b/src/sage/algebras/free_algebra_quotient.py index 94be310a0b1..df19a18e3e8 100644 --- a/src/sage/algebras/free_algebra_quotient.py +++ b/src/sage/algebras/free_algebra_quotient.py @@ -60,13 +60,16 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.algebras.free_algebra import is_FreeAlgebra +from sage.algebras.free_algebra import FreeAlgebra_generic from sage.algebras.free_algebra_quotient_element import FreeAlgebraQuotientElement from sage.categories.algebras import Algebras +from sage.misc.lazy_import import lazy_import from sage.modules.free_module import FreeModule from sage.structure.unique_representation import UniqueRepresentation from sage.structure.parent import Parent +lazy_import('sage.algebras.letterplace.free_algebra_letterplace', 'FreeAlgebra_letterplace') + class FreeAlgebraQuotient(UniqueRepresentation, Parent): @staticmethod @@ -153,7 +156,7 @@ def __init__(self, A, mons, mats, names): sage: TestSuite(H2).run() """ - if not is_FreeAlgebra(A): + if not isinstance(A, (FreeAlgebra_generic, FreeAlgebra_letterplace)): raise TypeError("argument A must be a free algebra") R = A.base_ring() n = A.ngens() diff --git a/src/sage/algebras/quatalg/quaternion_algebra.py b/src/sage/algebras/quatalg/quaternion_algebra.py index 9d81d293556..e5e61a18d6c 100644 --- a/src/sage/algebras/quatalg/quaternion_algebra.py +++ b/src/sage/algebras/quatalg/quaternion_algebra.py @@ -310,13 +310,13 @@ def is_QuaternionAlgebra(A): doctest:warning... DeprecationWarning: the function is_QuaternionAlgebra is deprecated; use 'isinstance(..., QuaternionAlgebra_abstract)' instead - See https://github.com/sagemath/sage/issues/37895 for details. + See https://github.com/sagemath/sage/issues/37896 for details. True sage: sage.algebras.quatalg.quaternion_algebra.is_QuaternionAlgebra(ZZ) False """ from sage.misc.superseded import deprecation - deprecation(37895, "the function is_QuaternionAlgebra is deprecated; use 'isinstance(..., QuaternionAlgebra_abstract)' instead") + deprecation(37896, "the function is_QuaternionAlgebra is deprecated; use 'isinstance(..., QuaternionAlgebra_abstract)' instead") return isinstance(A, QuaternionAlgebra_abstract)