Skip to content

some cleanup in combinat/sf #40218

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/sage/combinat/sf/abreu_nigro.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@
# https://www.gnu.org/licenses/
# ****************************************************************************

from . import multiplicative
from sage.misc.cachefunc import cached_method

from . import multiplicative


class SymmetricFunctionAlgebra_AbreuNigro(multiplicative.SymmetricFunctionAlgebra_multiplicative):
r"""
Expand Down
1 change: 1 addition & 0 deletions src/sage/combinat/sf/all.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"""
# install the docstring of this module to the containing package
from sage.misc.namespace_package import install_doc

install_doc(__package__, __doc__)

from sage.misc.lazy_import import lazy_import
Expand Down
10 changes: 2 additions & 8 deletions src/sage/combinat/sf/classical.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,12 @@
#
# https://www.gnu.org/licenses/
# ****************************************************************************
from sage.combinat.partition import _Partitions
from sage.rings.integer import Integer
from sage.rings.integer_ring import ZZ
from sage.rings.rational_field import QQ
from sage.combinat.partition import _Partitions


from . import hall_littlewood
from . import sfa
from . import llt
from . import macdonald
from . import jack
from . import orthotriang
from . import hall_littlewood, jack, llt, macdonald, orthotriang, sfa

translate = {'monomial': 'MONOMIAL',
'homogeneous': 'HOMSYM',
Expand Down
8 changes: 5 additions & 3 deletions src/sage/combinat/sf/dual.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@
#
# https://www.gnu.org/licenses/
#*****************************************************************************
from sage.categories.morphism import SetMorphism
from sage.categories.homset import Hom
from sage.matrix.constructor import matrix
import sage.combinat.partition
import sage.data_structures.blas_dict as blas
from sage.categories.homset import Hom
from sage.categories.morphism import SetMorphism
from sage.matrix.constructor import matrix

from . import classical


Expand Down Expand Up @@ -988,6 +989,7 @@ def _repr_(self):

# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override

register_unpickle_override('sage.combinat.sf.dual',
'SymmetricFunctionAlgebraElement_dual',
SymmetricFunctionAlgebra_dual.Element)
12 changes: 8 additions & 4 deletions src/sage/combinat/sf/elementary.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@
#*****************************************************************************
from sage.arith.misc import binomial, factorial
from sage.combinat.partition import Partition
from sage.combinat.sf import multiplicative, classical
from sage.combinat.sf import classical, multiplicative
from sage.misc.misc_c import prod
from sage.rings.infinity import infinity


###################################
# #
# Elementary Symmetric Functions #
Expand Down Expand Up @@ -401,7 +400,9 @@ def get_variable(ring, name):
try:
ring(name)
except TypeError:
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import (
PolynomialRing,
)
return PolynomialRing(ring, name).gen()
else:
raise ValueError("the variable %s is in the base ring, pass it explicitly" % name)
Expand Down Expand Up @@ -498,7 +499,9 @@ def get_variable(ring, name):
try:
ring(name)
except TypeError:
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import (
PolynomialRing,
)
return PolynomialRing(ring, name).gen()
else:
raise ValueError("the variable %s is in the base ring, pass it explicitly" % name)
Expand Down Expand Up @@ -539,6 +542,7 @@ def f(partition):

# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override

register_unpickle_override('sage.combinat.sf.elementary',
'SymmetricFunctionAlgebraElement_elementary',
SymmetricFunctionAlgebra_elementary.Element)
11 changes: 6 additions & 5 deletions src/sage/combinat/sf/hall_littlewood.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@
# http://www.gnu.org/licenses/
#*****************************************************************************

from sage.structure.unique_representation import UniqueRepresentation
from sage.libs.symmetrica.all import hall_littlewood
from . import sfa
import sage.combinat.partition
from sage.matrix.constructor import matrix
from sage.categories.morphism import SetMorphism
from sage.categories.homset import Hom
from sage.categories.morphism import SetMorphism
from sage.libs.symmetrica.all import hall_littlewood
from sage.matrix.constructor import matrix
from sage.rings.rational_field import QQ
from sage.structure.unique_representation import UniqueRepresentation

from . import sfa

# P basis cache
p_to_s_cache = {}
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/sf/hecke.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# https://www.gnu.org/licenses/
# ****************************************************************************

from sage.combinat.partition import _Partitions, Partitions
from sage.combinat.partition import Partitions, _Partitions
from sage.combinat.sf.multiplicative import SymmetricFunctionAlgebra_multiplicative


Expand Down
11 changes: 8 additions & 3 deletions src/sage/combinat/sf/homogeneous.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
####################################
from sage.arith.misc import binomial, factorial
from sage.combinat.partition import Partition
from sage.combinat.sf import multiplicative, classical
from sage.combinat.sf import classical, multiplicative
from sage.misc.misc_c import prod
from sage.rings.infinity import infinity

Expand Down Expand Up @@ -310,7 +310,9 @@ def get_variable(ring, name):
try:
ring(name)
except TypeError:
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import (
PolynomialRing,
)
return PolynomialRing(ring, name).gen()
else:
raise ValueError("the variable %s is in the base ring, pass it explicitly" % name)
Expand Down Expand Up @@ -413,7 +415,9 @@ def get_variable(ring, name):
try:
ring(name)
except TypeError:
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import (
PolynomialRing,
)
return PolynomialRing(ring, name).gen()
else:
raise ValueError("the variable %s is in the base ring, pass it explicitly" % name)
Expand Down Expand Up @@ -453,6 +457,7 @@ def f(partition):

# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override

register_unpickle_override('sage.combinat.sf.homogeneous',
'SymmetricFunctionAlgebraElement_homogeneous',
SymmetricFunctionAlgebra_homogeneous.Element)
17 changes: 9 additions & 8 deletions src/sage/combinat/sf/jack.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@
# https://www.gnu.org/licenses/
# ****************************************************************************

from sage.structure.unique_representation import UniqueRepresentation
import sage.categories.all
from sage.rings.integer import Integer
from sage.rings.rational_field import QQ
from sage.arith.misc import gcd
from sage.arith.functions import lcm
from sage.rings.fraction_field import FractionField_generic
from sage.misc.misc_c import prod
from sage.arith.misc import gcd
from sage.categories.homset import End, Hom
from sage.categories.morphism import SetMorphism
from sage.categories.homset import Hom, End
from sage.rings.fraction_field import FractionField
from sage.misc.misc_c import prod
from sage.rings.fraction_field import FractionField, FractionField_generic
from sage.rings.integer import Integer
from sage.rings.rational_field import QQ
from sage.structure.unique_representation import UniqueRepresentation

from . import sfa

QQt = FractionField(QQ['t'])
Expand Down Expand Up @@ -1415,6 +1415,7 @@ def scalar_zonal(self, x):

# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override

register_unpickle_override('sage.combinat.sf.jack', 'JackPolynomial_qp', JackPolynomials_qp.Element)
register_unpickle_override('sage.combinat.sf.jack', 'JackPolynomial_j', JackPolynomials_j.Element)
register_unpickle_override('sage.combinat.sf.jack', 'JackPolynomial_p', JackPolynomials_p.Element)
Expand Down
17 changes: 11 additions & 6 deletions src/sage/combinat/sf/k_dual.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,23 @@
# https://www.gnu.org/licenses/
# ****************************************************************************

from sage.structure.parent import Parent
from sage.structure.unique_representation import UniqueRepresentation
from sage.categories.graded_hopf_algebras import GradedHopfAlgebras
from sage.combinat.partition import Partition, Partitions, Partitions_all_bounded, PartitionsGreatestLE
from sage.categories.graded_hopf_algebras_with_basis import GradedHopfAlgebrasWithBasis
from sage.categories.realizations import Category_realization_of_parent, Realizations
from sage.combinat.free_module import CombinatorialFreeModule
from sage.categories.realizations import Realizations, Category_realization_of_parent
from sage.combinat.partition import (
Partition,
Partitions,
Partitions_all_bounded,
PartitionsGreatestLE,
)
from sage.cpython.getattr import raw_getattr
from sage.misc.cachefunc import cached_method
from sage.misc.constant_function import ConstantFunction
from sage.categories.graded_hopf_algebras_with_basis import GradedHopfAlgebrasWithBasis
from sage.rings.integer import Integer
from sage.rings.integer_ring import ZZ
from sage.cpython.getattr import raw_getattr
from sage.structure.parent import Parent
from sage.structure.unique_representation import UniqueRepresentation


class KBoundedQuotient(UniqueRepresentation, Parent):
Expand Down
2 changes: 1 addition & 1 deletion src/sage/combinat/sf/kfpoly.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
from sage.combinat.partitions import ZS1_iterator
from sage.combinat.skew_partition import SkewPartitions
from sage.combinat.skew_tableau import SemistandardSkewTableaux
from sage.rings.polynomial.polynomial_ring import polygen
from sage.rings.integer_ring import ZZ
from sage.rings.polynomial.polynomial_ring import polygen


def KostkaFoulkesPolynomial(mu, nu, t=None):
Expand Down
14 changes: 8 additions & 6 deletions src/sage/combinat/sf/llt.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,16 @@
#
# https://www.gnu.org/licenses/
# ****************************************************************************
from sage.structure.unique_representation import UniqueRepresentation
from . import sfa
import sage.combinat.ribbon_tableau as ribbon_tableau
import sage.combinat.skew_partition
from sage.rings.integer_ring import ZZ
from sage.combinat.partition import Partition, Partitions, _Partitions
from sage.categories.morphism import SetMorphism
from sage.categories.homset import Hom
from sage.categories.morphism import SetMorphism
from sage.combinat import ribbon_tableau
from sage.combinat.partition import Partition, Partitions, _Partitions
from sage.rings.integer_ring import ZZ
from sage.rings.rational_field import QQ
from sage.structure.unique_representation import UniqueRepresentation

from . import sfa

# cache for H spin basis
hsp_to_m_cache = {}
Expand Down Expand Up @@ -764,5 +765,6 @@ class Element(LLT_generic.Element):

# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override

register_unpickle_override('sage.combinat.sf.llt', 'LLTElement_spin', LLT_spin.Element)
register_unpickle_override('sage.combinat.sf.llt', 'LLTElement_cospin', LLT_cospin.Element)
15 changes: 9 additions & 6 deletions src/sage/combinat/sf/macdonald.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,19 @@
# http://www.gnu.org/licenses/
#*****************************************************************************

from sage.structure.unique_representation import UniqueRepresentation
from sage.categories.morphism import SetMorphism
import functools

from sage.categories.homset import Hom
from sage.categories.modules_with_basis import ModulesWithBasis
from . import sfa
from sage.categories.morphism import SetMorphism
from sage.combinat.partition import Partitions_n, _Partitions
from sage.matrix.matrix_space import MatrixSpace
from sage.rings.rational_field import QQ
from sage.misc.misc_c import prod
from sage.misc.cachefunc import cached_function
import functools
from sage.misc.misc_c import prod
from sage.rings.rational_field import QQ
from sage.structure.unique_representation import UniqueRepresentation

from . import sfa

# cache in q,t globally and subs locally with q and t values
# these caches are stored in self._self_to_s_cache and self._s_to_self_cache
Expand Down Expand Up @@ -2007,6 +2009,7 @@ def qt_kostka(lam, mu):

# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override

register_unpickle_override('sage.combinat.sf.macdonald', 'MacdonaldPolynomial_h', MacdonaldPolynomials_h.Element)
register_unpickle_override('sage.combinat.sf.macdonald', 'MacdonaldPolynomial_ht', MacdonaldPolynomials_ht.Element)
register_unpickle_override('sage.combinat.sf.macdonald', 'MacdonaldPolynomial_j', MacdonaldPolynomials_j.Element)
Expand Down
14 changes: 8 additions & 6 deletions src/sage/combinat/sf/monomial.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,13 @@
# https://www.gnu.org/licenses/
# ****************************************************************************

from . import classical
import sage.libs.symmetrica.all as symmetrica
from sage.rings.integer import Integer
from sage.rings.infinity import infinity
from sage.arith.misc import binomial, factorial, multinomial
from sage.combinat.partition import _Partitions
from sage.arith.misc import multinomial, factorial, binomial
from sage.rings.infinity import infinity
from sage.rings.integer import Integer

from . import classical


class SymmetricFunctionAlgebra_monomial(classical.SymmetricFunctionAlgebra_classical):
Expand Down Expand Up @@ -486,7 +487,9 @@ def get_variable(ring, name):
try:
ring(name)
except TypeError:
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import (
PolynomialRing,
)
return PolynomialRing(ring, name).gen()
else:
raise ValueError("the variable %s is in the base ring, pass it explicitly" % name)
Expand Down Expand Up @@ -514,5 +517,4 @@ def f(partition):
# Backward compatibility for unpickling
from sage.misc.persist import register_unpickle_override


register_unpickle_override('sage.combinat.sf.monomial', 'SymmetricFunctionAlgebraElement_monomial', SymmetricFunctionAlgebra_monomial.Element)
3 changes: 2 additions & 1 deletion src/sage/combinat/sf/multiplicative.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@
#
# https://www.gnu.org/licenses/
#*****************************************************************************
from . import classical
import sage.combinat.partition

from . import classical


class SymmetricFunctionAlgebra_multiplicative(classical.SymmetricFunctionAlgebra_classical):
r"""
Expand Down
Loading
Loading