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 4077d52de00..e5e61a18d6c 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/37896 for details. True sage: sage.algebras.quatalg.quaternion_algebra.is_QuaternionAlgebra(ZZ) False """ + from sage.misc.superseded import deprecation + deprecation(37896, "the function is_QuaternionAlgebra is deprecated; use 'isinstance(..., QuaternionAlgebra_abstract)' instead") return isinstance(A, QuaternionAlgebra_abstract) 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)