Skip to content

Commit 875628d

Browse files
author
Release Manager
committed
sagemathgh-38096: `sage.combinat`, `sage.games`: Use more `lazy_import` in all.py files <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> This helps with the modularization, but is also desirable for reducing the start-up time of Sage. - Cherry-picked from sagemath#37900 Related: sagemath#35520 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38096 Reported by: Matthias Köppe Reviewer(s): Kwankyu Lee
2 parents 4d6b879 + d84e10a commit 875628d

File tree

7 files changed

+40
-16
lines changed

7 files changed

+40
-16
lines changed

src/sage/categories/weyl_groups.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -572,9 +572,10 @@ def stanley_symmetric_function(self):
572572
573573
- [Pon2010]_
574574
"""
575-
import sage.combinat.sf
576575
from sage.rings.rational_field import QQ
577-
m = sage.combinat.sf.sf.SymmetricFunctions(QQ).monomial()
576+
from sage.combinat.sf.sf import SymmetricFunctions
577+
578+
m = SymmetricFunctions(QQ).monomial()
578579
return m.from_polynomial_exp(self.stanley_symmetric_function_as_polynomial())
579580

580581
@cached_in_parent_method

src/sage/combinat/ncsf_qsym/all.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,10 @@
1111
from sage.misc.namespace_package import install_doc
1212
install_doc(__package__, __doc__)
1313

14-
from sage.combinat.ncsf_qsym.qsym import QuasiSymmetricFunctions
15-
from sage.combinat.ncsf_qsym.ncsf import NonCommutativeSymmetricFunctions
14+
from sage.misc.lazy_import import lazy_import
15+
16+
lazy_import('sage.combinat.ncsf_qsym.qsym', 'QuasiSymmetricFunctions')
17+
lazy_import('sage.combinat.ncsf_qsym.ncsf', 'NonCommutativeSymmetricFunctions')
18+
19+
del install_doc
20+
del lazy_import

src/sage/combinat/ncsym/all.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,10 @@
1111
from sage.misc.namespace_package import install_doc
1212
install_doc(__package__, __doc__)
1313

14-
from sage.combinat.ncsym.ncsym import SymmetricFunctionsNonCommutingVariables
15-
from sage.combinat.ncsym.dual import SymmetricFunctionsNonCommutingVariablesDual
14+
from sage.misc.lazy_import import lazy_import
15+
16+
lazy_import('sage.combinat.ncsym.ncsym', 'SymmetricFunctionsNonCommutingVariables')
17+
lazy_import('sage.combinat.ncsym.dual', 'SymmetricFunctionsNonCommutingVariablesDual')
18+
19+
del install_doc
20+
del lazy_import

src/sage/combinat/root_system/all.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@
122122
from sage.misc.lazy_import import lazy_import
123123

124124
from sage.combinat.root_system.cartan_type import CartanType
125-
from sage.combinat.root_system.dynkin_diagram import DynkinDiagram
126-
from sage.combinat.root_system.cartan_matrix import CartanMatrix
127-
from sage.combinat.root_system.coxeter_matrix import CoxeterMatrix
125+
lazy_import('sage.combinat.root_system.dynkin_diagram', 'DynkinDiagram')
126+
lazy_import('sage.combinat.root_system.cartan_matrix', 'CartanMatrix')
127+
lazy_import('sage.combinat.root_system.coxeter_matrix', 'CoxeterMatrix')
128128
from sage.combinat.root_system.coxeter_type import CoxeterType
129129
from sage.combinat.root_system.root_system import RootSystem, WeylDim
130130
lazy_import('sage.combinat.root_system.weyl_group', ['WeylGroup',
@@ -138,5 +138,9 @@
138138
'WeightRing'])
139139
from sage.combinat.root_system.branching_rules import BranchingRule, branching_rule_from_plethysm, branching_rule
140140

141-
lazy_import('sage.combinat.root_system.non_symmetric_macdonald_polynomials', 'NonSymmetricMacdonaldPolynomials')
142-
lazy_import('sage.combinat.root_system.integrable_representations', 'IntegrableRepresentation')
141+
lazy_import('sage.combinat.root_system.non_symmetric_macdonald_polynomials',
142+
'NonSymmetricMacdonaldPolynomials')
143+
lazy_import('sage.combinat.root_system.integrable_representations',
144+
'IntegrableRepresentation')
145+
del lazy_import
146+
del install_doc

src/sage/combinat/words/all.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,16 @@
4343
from sage.misc.namespace_package import install_doc
4444
install_doc(__package__, __doc__)
4545

46+
from sage.misc.lazy_import import lazy_import
47+
4648
from sage.combinat.words.alphabet import Alphabet, build_alphabet
4749
from sage.combinat.words.morphism import WordMorphism
48-
from sage.combinat.words.paths import WordPaths
50+
lazy_import('sage.combinat.words.paths', 'WordPaths')
4951
from sage.combinat.words.word import Word
5052
from sage.combinat.words.word_options import WordOptions
5153
from sage.combinat.words.word_generators import words
5254
from sage.combinat.words.words import Words, FiniteWords, InfiniteWords
5355
from sage.combinat.words.lyndon_word import LyndonWord, LyndonWords, StandardBracketedLyndonWords
56+
57+
del install_doc
58+
del lazy_import

src/sage/games/all.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
1-
from sage.games.sudoku import Sudoku, sudoku
2-
from sage.games.hexad import Minimog
1+
2+
from sage.misc.lazy_import import lazy_import
3+
4+
lazy_import('sage.games.sudoku', ['Sudoku', 'sudoku'])
5+
lazy_import('sage.games.hexad', ['Minimog'])
6+
del lazy_import

src/sage/structure/parent.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -2143,7 +2143,7 @@ cdef class Parent(sage.structure.category_object.CategoryObject):
21432143
21442144
sage: # needs sage.combinat sage.modules
21452145
sage: R = QQ['q,t'].fraction_field()
2146-
sage: Sym = sage.combinat.sf.sf.SymmetricFunctions(R)
2146+
sage: Sym = SymmetricFunctions(R)
21472147
sage: H = Sym.macdonald().H()
21482148
sage: P = Sym.macdonald().P()
21492149
sage: m = Sym.monomial()
@@ -2180,7 +2180,7 @@ cdef class Parent(sage.structure.category_object.CategoryObject):
21802180
21812181
sage: # needs sage.combinat sage.modules
21822182
sage: R = QQ['q,t'].fraction_field()
2183-
sage: Sym = sage.combinat.sf.sf.SymmetricFunctions(R)
2183+
sage: Sym = SymmetricFunctions(R)
21842184
sage: P = Sym.macdonald().P()
21852185
sage: Ht = Sym.macdonald().Ht()
21862186
sage: Ht._internal_coerce_map_from(P)

0 commit comments

Comments
 (0)