Skip to content

Commit 999d106

Browse files
author
Matthias Koeppe
committed
sage.modular: Work around lazy_import limitations
1 parent fdb6c66 commit 999d106

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

src/sage/modular/abvar/abvar.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767

6868
lazy_import('sage.databases.cremona',
6969
['cremona_letter_code', 'CremonaDatabase'])
70-
lazy_import('sage.rings.qqbar', 'QQbar')
7170

7271

7372
from . import homspace
@@ -802,7 +801,7 @@ def _Hom_(self, B, cat=None):
802801
if K == L:
803802
F = K
804803
elif isinstance(K, sage.rings.abc.AlgebraicField) or isinstance(L, sage.rings.abc.AlgebraicField):
805-
F = QQbar
804+
from sage.rings.qqbar import QQbar as F
806805
else:
807806
# TODO -- improve this
808807
raise ValueError("please specify a category")
@@ -1000,7 +999,7 @@ def intersection(self, other):
1000999
for v in V.coordinate_module(S).basis()]
10011000

10021001
if A.dimension() > 0:
1003-
finitegroup_base_field = QQbar
1002+
from sage.rings.qqbar import QQbar as finitegroup_base_field
10041003
else:
10051004
finitegroup_base_field = self.base_field()
10061005
G = self.finite_subgroup(gens, field_of_definition=finitegroup_base_field)
@@ -3129,7 +3128,7 @@ def finite_subgroup(self, X, field_of_definition=None, check=True):
31293128
raise ValueError("X must be a subgroup of self.")
31303129

31313130
if field_of_definition is None:
3132-
field_of_definition = QQbar
3131+
from sage.rings.qqbar import QQbar as field_of_definition
31333132

31343133
return FiniteSubgroup_lattice(
31353134
self, X, field_of_definition=field_of_definition, check=check)

src/sage/modular/abvar/finite_subgroup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,6 @@
113113
from sage.misc.misc_c import prod
114114
from sage.structure.element import coercion_model
115115

116-
lazy_import('sage.rings.qqbar', 'QQbar')
117-
118116

119117
@richcmp_method
120118
class FiniteSubgroup(Module):
@@ -754,6 +752,8 @@ def subgroup(self, gens):
754752
sage: H == G.subgroup([[1/11,0,0,0]])
755753
True
756754
"""
755+
from sage.rings.qqbar import QQbar
756+
757757
if not isinstance(gens, (tuple, list)):
758758
raise TypeError("gens must be a list or tuple")
759759
A = self.abelian_variety()
@@ -846,7 +846,7 @@ def __init__(self, abvar, lattice, field_of_definition=None, check=True):
846846
Finite subgroup with invariants [15] over QQbar of Abelian variety J0(11) of dimension 1
847847
"""
848848
if field_of_definition is None:
849-
field_of_definition = QQbar
849+
from sage.rings.qqbar import QQbar as field_of_definition
850850
if check:
851851
from .abvar import is_ModularAbelianVariety
852852
if not is_FreeModule(lattice) or lattice.base_ring() != ZZ:

src/sage/modular/arithgroup/arithgroup_generic.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -885,20 +885,21 @@ def index(self):
885885

886886
def generalised_level(self):
887887
r"""
888-
Return the generalised level of self, i.e. the least common multiple of
888+
Return the generalised level of ``self``, i.e., the least common multiple of
889889
the widths of all cusps.
890890
891-
If self is *even*, Wohlfart's theorem tells us that this is equal to
892-
the (conventional) level of self when self is a congruence subgroup.
893-
This can fail if self is odd, but the actual level is at most twice the
891+
If ``self`` is *even*, Wohlfart's theorem tells us that this is equal to
892+
the (conventional) level of ``self`` when ``self`` is a congruence subgroup.
893+
This can fail if ``self`` is odd, but the actual level is at most twice the
894894
generalised level. See the paper by Kiming, Schuett and Verrill for
895895
more examples.
896896
897897
EXAMPLES::
898898
899899
sage: Gamma0(18).generalised_level()
900900
18
901-
sage: sage.modular.arithgroup.arithgroup_perm.HsuExample18().generalised_level()
901+
sage: from sage.modular.arithgroup.arithgroup_perm import HsuExample18
902+
sage: HsuExample18().generalised_level()
902903
24
903904
904905
In the following example, the actual level is twice the generalised

src/sage/modular/modform_hecketriangle/hecke_triangle_group_element.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from sage.rings.infinity import infinity
2626
from sage.rings.cc import CC
2727

28-
lazy_import('sage.rings.qqbar', ['AA', 'QQbar'])
28+
lazy_import('sage.rings.qqbar', 'AA')
2929

3030
from sage.groups.matrix_gps.group_element import MatrixGroupElement_generic
3131
from sage.geometry.hyperbolic_space.hyperbolic_interface import HyperbolicPlane
@@ -774,6 +774,8 @@ def _primitive_block_decomposition_data(self):
774774
if self.parent().n() == infinity:
775775
raise NotImplementedError
776776

777+
from sage.rings.qqbar import QQbar
778+
777779
emb = self.root_extension_embedding(QQbar)
778780
p = self.fixed_points()[0]
779781
embp = emb(p)

src/sage/modular/modsym/heilbronn.pyx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ cdef class Heilbronn:
111111
112112
EXAMPLES::
113113
114-
sage: H = sage.modular.modsym.heilbronn.Heilbronn()
114+
sage: from sage.modular.modsym.heilbronn import Heilbronn
115+
sage: H = Heilbronn()
115116
sage: H._initialize_list()
116117
Traceback (most recent call last):
117118
...
@@ -343,6 +344,7 @@ cdef class HeilbronnCremona(Heilbronn):
343344
344345
EXAMPLES::
345346
347+
sage: from sage.modular.modsym.heilbronn import HeilbronnCremona
346348
sage: H = HeilbronnCremona.__new__(HeilbronnCremona)
347349
sage: H.p = 5
348350
sage: H
@@ -457,6 +459,7 @@ cdef class HeilbronnMerel(Heilbronn):
457459
458460
EXAMPLES::
459461
462+
sage: from sage.modular.modsym.heilbronn import HeilbronnMerel
460463
sage: H = HeilbronnMerel.__new__(HeilbronnMerel)
461464
sage: H.n = 5
462465
sage: H

0 commit comments

Comments
 (0)