Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit f76fe41

Browse files
author
Matthias Koeppe
committed
src/sage/modular: Remove imports from sage.rings.all and .all of other namespace packages
1 parent 12be2d9 commit f76fe41

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+627
-509
lines changed

src/sage/modular/abvar/abvar.py

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,53 @@
2929
# (at your option) any later version.
3030
# https://www.gnu.org/licenses/
3131
# ****************************************************************************
32+
3233
from copy import copy
3334
from random import randrange
3435

36+
from sage.arith.functions import lcm as LCM
37+
from sage.arith.misc import divisors, next_prime, is_prime
38+
from sage.categories.modular_abelian_varieties import ModularAbelianVarieties
39+
from sage.matrix.constructor import matrix
40+
from sage.matrix.special import block_diagonal_matrix, identity_matrix
3541
from sage.misc.lazy_import import lazy_import
36-
37-
from sage.categories.all import ModularAbelianVarieties
38-
from sage.structure.sequence import Sequence, Sequence_generic
39-
from sage.structure.richcmp import (richcmp_method, richcmp_not_equal,
40-
rich_to_bool)
41-
from sage.structure.parent import Parent
42-
from .morphism import HeckeOperator, Morphism, DegeneracyMap
43-
from .torsion_subgroup import RationalTorsionSubgroup, QQbarTorsionSubgroup
44-
from .finite_subgroup import (FiniteSubgroup_lattice, FiniteSubgroup,
45-
TorsionPoint)
46-
from .cuspidal_subgroup import (CuspidalSubgroup, RationalCuspidalSubgroup,
47-
RationalCuspSubgroup)
48-
from sage.rings.all import ZZ, QQ, QQbar, Integer
49-
from sage.arith.all import LCM, divisors, prime_range, next_prime
50-
from sage.rings.ring import is_Ring
51-
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
52-
from sage.rings.infinity import infinity
53-
from sage.modules.free_module import is_FreeModule
54-
from sage.modular.arithgroup.all import (is_CongruenceSubgroup, is_Gamma0,
55-
is_Gamma1, is_GammaH)
56-
from sage.modular.modsym.all import ModularSymbols
57-
from sage.modular.modsym.space import ModularSymbolsSpace
42+
from sage.misc.misc_c import prod
43+
from sage.modular.arithgroup.congroup_gamma0 import is_Gamma0
44+
from sage.modular.arithgroup.congroup_gamma1 import is_Gamma1
45+
from sage.modular.arithgroup.congroup_gammaH import is_GammaH
46+
from sage.modular.arithgroup.congroup_generic import is_CongruenceSubgroup
5847
from sage.modular.modform.constructor import Newform
59-
from sage.matrix.all import matrix, block_diagonal_matrix, identity_matrix
48+
from sage.modular.modsym.modsym import ModularSymbols
49+
from sage.modular.modsym.space import ModularSymbolsSpace
50+
from sage.modular.quatalg.brandt import BrandtModule
51+
from sage.modules.free_module import is_FreeModule
6052
from sage.modules.free_module_element import vector
61-
from sage.misc.misc_c import prod
62-
from sage.arith.misc import is_prime
53+
from sage.rings.fast_arith import prime_range
54+
from sage.rings.infinity import infinity
55+
from sage.rings.integer import Integer
56+
from sage.rings.integer_ring import ZZ
57+
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
58+
from sage.rings.qqbar import QQbar
59+
from sage.rings.rational_field import QQ
60+
from sage.rings.ring import is_Ring
6361
from sage.schemes.elliptic_curves.constructor import EllipticCurve
6462
from sage.sets.primes import Primes
65-
66-
from . import homspace
67-
from . import lseries
63+
from sage.structure.parent import Parent
64+
from sage.structure.richcmp import richcmp_method, richcmp_not_equal, rich_to_bool
65+
from sage.structure.sequence import Sequence, Sequence_generic
6866

6967
lazy_import('sage.databases.cremona',
7068
['cremona_letter_code', 'CremonaDatabase'])
7169

70+
from . import homspace
71+
from . import lseries
72+
from .morphism import HeckeOperator, Morphism, DegeneracyMap
73+
from .torsion_subgroup import RationalTorsionSubgroup, QQbarTorsionSubgroup
74+
from .finite_subgroup import (FiniteSubgroup_lattice, FiniteSubgroup,
75+
TorsionPoint)
76+
from .cuspidal_subgroup import (CuspidalSubgroup, RationalCuspidalSubgroup,
77+
RationalCuspSubgroup)
78+
7279

7380
def is_ModularAbelianVariety(x) -> bool:
7481
"""
@@ -4929,7 +4936,6 @@ def brandt_module(self, p):
49294936
if self.level().valuation(p) != 1:
49304937
raise ValueError("p must exactly divide the level")
49314938
M = self.level() / p
4932-
from sage.modular.all import BrandtModule
49334939
V = BrandtModule(p, M)
49344940
# now cut out version of self in B
49354941
S = self.modular_symbols(sign=1)

src/sage/modular/abvar/cuspidal_subgroup.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,14 @@
6969
# http://www.gnu.org/licenses/
7070
#*****************************************************************************
7171

72-
from .finite_subgroup import FiniteSubgroup
73-
from sage.rings.all import infinity, QQ, ZZ
74-
from sage.matrix.all import matrix
72+
from sage.matrix.constructor import matrix
7573
from sage.modular.arithgroup.all import is_Gamma0
7674
from sage.modular.cusps import Cusp
75+
from sage.rings.infinity import infinity
76+
from sage.rings.integer_ring import ZZ
77+
from sage.rings.rational_field import QQ
78+
79+
from .finite_subgroup import FiniteSubgroup
7780

7881

7982
class CuspidalSubgroup_generic(FiniteSubgroup):

src/sage/modular/abvar/finite_subgroup.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,11 @@
103103
from sage.structure.gens_py import abelian_iterator
104104
from sage.structure.sequence import Sequence
105105
from sage.structure.richcmp import richcmp_method, richcmp
106-
from sage.rings.all import QQ, ZZ, QQbar, Integer
107-
from sage.arith.all import lcm
106+
from sage.rings.integer import Integer
107+
from sage.rings.integer_ring import ZZ
108+
from sage.rings.qqbar import QQbar
109+
from sage.rings.rational_field import QQ
110+
from sage.arith.functions import lcm
108111
from sage.misc.misc_c import prod
109112
from sage.structure.element import coercion_model
110113

src/sage/modular/abvar/homology.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@
5050
# https://www.gnu.org/licenses/
5151
# ****************************************************************************
5252

53+
from sage.modular.hecke.module import HeckeModule_free_module
54+
from sage.rings.integer import Integer
55+
from sage.rings.integer_ring import ZZ
56+
from sage.rings.rational_field import QQ
57+
from sage.rings.ring import CommutativeRing
5358
from sage.structure.richcmp import richcmp_method, richcmp, richcmp_not_equal
54-
from sage.modular.hecke.all import HeckeModule_free_module
55-
from sage.rings.all import Integer, ZZ, QQ, CommutativeRing
5659

5760
# TODO: we will probably also need homology that is *not* a Hecke module.
5861

src/sage/modular/abvar/torsion_subgroup.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,19 @@
8888
# http://www.gnu.org/licenses/
8989
#*****************************************************************************
9090

91-
from sage.structure.richcmp import richcmp_method, richcmp
91+
from sage.arith.misc import divisors, gcd
92+
from sage.misc.misc_c import prod
9293
from sage.modular.abvar.torsion_point import TorsionPoint
93-
from sage.modules.module import Module
94-
from .finite_subgroup import FiniteSubgroup
95-
from sage.rings.all import ZZ, QQ
96-
from sage.sets.primes import Primes
97-
from sage.modular.arithgroup.all import is_Gamma0, is_Gamma1
98-
from sage.all import divisors, gcd, prime_range
99-
from sage.modular.dirichlet import DirichletGroup
100-
from sage.misc.misc_c import prod
94+
from sage.modular.arithgroup.all import is_Gamma0, is_Gamma1
95+
from sage.modular.dirichlet import DirichletGroup
96+
from sage.modules.module import Module
97+
from sage.rings.fast_arith import prime_range
98+
from sage.rings.integer_ring import ZZ
99+
from sage.rings.rational_field import QQ
100+
from sage.sets.primes import Primes
101+
from sage.structure.richcmp import richcmp_method, richcmp
102+
103+
from .finite_subgroup import FiniteSubgroup
101104

102105

103106
@richcmp_method

src/sage/modular/arithgroup/arithgroup_generic.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from sage.groups.old import Group
1717
from sage.categories.groups import Groups
1818
from sage.rings.integer_ring import ZZ
19-
from sage.arith.all import lcm
19+
from sage.arith.functions import lcm
2020
from sage.misc.cachefunc import cached_method
2121
from copy import copy # for making copies of lists of cusps
2222
from sage.modular.modsym.p1list import lift_to_sl2z

src/sage/modular/arithgroup/arithgroup_perm.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,18 @@
9898
#
9999
################################################################################
100100

101+
from sage.arith.functions import lcm
102+
from sage.arith.misc import CRT_basis
103+
from sage.groups.perm_gps.constructor import PermutationGroupElement as PermutationConstructor
104+
from sage.groups.perm_gps.permgroup import PermutationGroup
105+
from sage.groups.perm_gps.permgroup_element import PermutationGroupElement
106+
from sage.misc.cachefunc import cached_method
107+
from sage.misc.misc_c import prod
108+
from sage.rings.integer_ring import ZZ
109+
101110
from .all import SL2Z
102111
from .arithgroup_generic import ArithmeticSubgroup
103-
from sage.rings.integer_ring import ZZ
104-
from sage.misc.cachefunc import cached_method
105-
import sage.arith.all as arith
106112

107-
from sage.groups.perm_gps.permgroup_element import PermutationGroupElement
108-
from sage.groups.perm_gps.constructor import PermutationGroupElement as PermutationConstructor
109113

110114
Idm = SL2Z([1,0,0,1]) # identity
111115

@@ -206,8 +210,7 @@ def eval_sl2z_word(w):
206210
[ 66 -59]
207211
[ 47 -42]
208212
"""
209-
from sage.all import prod
210-
mat = [Lm,Rm]
213+
mat = [Lm, Rm]
211214
w0 = Idm
212215
w1 = w
213216
return w0 * prod((mat[a[0]]**a[1] for a in w1), Idm)
@@ -243,7 +246,6 @@ def word_of_perms(w, p1, p2):
243246
G = G2
244247
p1 = G(p1)
245248
else:
246-
from sage.groups.perm_gps.all import PermutationGroup
247249
G = PermutationGroup([p1,p2])
248250
p1 = G(p1)
249251
p2 = G(p2)
@@ -431,8 +433,6 @@ def ArithmeticSubgroup_Permutation(
431433

432434
# Check transitivity. This is the most expensive check, so we do it
433435
# last.
434-
from sage.groups.perm_gps.all import PermutationGroup
435-
436436
G = PermutationGroup(gens)
437437
if not G.is_transitive():
438438
raise ValueError("Permutations do not generate a transitive group")
@@ -676,7 +676,6 @@ def perm_group(self):
676676
sage: ap.HsuExample10().perm_group()
677677
Permutation Group with generators [(1,2)(3,4)(5,6)(7,8)(9,10), (1,8,3)(2,4,6)(5,7,10), (1,4)(2,5,9,10,8)(3,7,6), (1,7,9,10,6)(2,3)(4,5,8)]
678678
"""
679-
from sage.groups.perm_gps.all import PermutationGroup
680679
# we set canonicalize to False as otherwise PermutationGroup changes the
681680
# order of the generators.
682681
return PermutationGroup([self.S2(), self.S3(), self.L(), self.R()], canonicalize=False)
@@ -1288,7 +1287,7 @@ def generalised_level(self):
12881287
sage: G.generalised_level()
12891288
3
12901289
"""
1291-
return arith.lcm(self.cusp_widths())
1290+
return lcm(self.cusp_widths())
12921291

12931292
def congruence_closure(self):
12941293
r"""
@@ -1477,7 +1476,7 @@ def is_congruence(self):
14771476
# e>1, m>1
14781477
onehalf = ZZ(2).inverse_mod(m) # i.e. 2^(-1) mod m
14791478
onefifth = ZZ(5).inverse_mod(e) # i.e. 5^(-1) mod e
1480-
c,d = arith.CRT_basis([m, e])
1479+
c, d = CRT_basis([m, e])
14811480
# c=0 mod e, c=1 mod m; d=1 mod e, d=0 mod m
14821481
a = L**c
14831482
b = R**c

src/sage/modular/arithgroup/congroup_gamma.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,21 @@
1010
# http://www.gnu.org/licenses/
1111
#*****************************************************************************
1212

13-
from .congroup_generic import CongruenceSubgroup
14-
from sage.misc.misc_c import prod
15-
from sage.rings.all import ZZ, Zmod, QQ
16-
from sage.rings.integer import GCD_list
13+
from sage.arith.misc import gcd
1714
from sage.groups.matrix_gps.finitely_generated import MatrixGroup
1815
from sage.matrix.constructor import matrix
16+
from sage.misc.misc_c import prod
1917
from sage.modular.cusps import Cusp
20-
from sage.arith.all import gcd
18+
from sage.rings.finite_rings.integer_mod_ring import Zmod
19+
from sage.rings.integer import GCD_list
20+
from sage.rings.integer_ring import ZZ
21+
from sage.rings.rational_field import QQ
2122
from sage.structure.richcmp import richcmp_method, richcmp
2223

24+
from .congroup_generic import CongruenceSubgroup
2325
from .congroup_sl2z import SL2Z
2426

27+
2528
_gamma_cache = {}
2629
def Gamma_constructor(N):
2730
r"""

src/sage/modular/arithgroup/congroup_gamma0.py

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,17 @@
1010
# http://www.gnu.org/licenses/
1111
#*****************************************************************************
1212

13-
from .congroup_gammaH import GammaH_class
14-
from .congroup_gamma1 import is_Gamma1
15-
from sage.modular.modsym.p1list import lift_to_sl2z
16-
from .congroup_generic import CongruenceSubgroup
17-
18-
from sage.modular.cusps import Cusp
13+
from sage.arith.misc import kronecker_symbol, divisors, euler_phi, gcd, moebius
1914
from sage.misc.cachefunc import cached_method
20-
from sage.rings.all import IntegerModRing, ZZ
21-
from sage.arith.all import kronecker_symbol
2215
from sage.misc.misc_c import prod
23-
import sage.modular.modsym.p1list
24-
import sage.arith.all as arith
16+
from sage.modular.cusps import Cusp
17+
from sage.modular.modsym.p1list import lift_to_sl2z, P1List
18+
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
19+
from sage.rings.integer_ring import ZZ
20+
21+
from .congroup_gamma1 import is_Gamma1
22+
from .congroup_gammaH import GammaH_class
23+
from .congroup_generic import CongruenceSubgroup
2524

2625

2726
def is_Gamma0(x):
@@ -211,7 +210,6 @@ def _list_of_elements_in_H(self):
211210
"""
212211
N = self.level()
213212
if N != 1:
214-
gcd = arith.gcd
215213
H = [x for x in range(1, N) if gcd(x, N) == 1]
216214
else:
217215
H = [1]
@@ -321,7 +319,7 @@ def coset_reps(self):
321319
if N == 1: # P1List isn't very happy working modulo 1
322320
yield SL2Z([1,0,0,1])
323321
else:
324-
for z in sage.modular.modsym.p1list.P1List(N):
322+
for z in P1List(N):
325323
yield SL2Z(lift_to_sl2z(z[0], z[1], N))
326324

327325
@cached_method
@@ -455,8 +453,8 @@ def _find_cusps(self):
455453
N = self.level()
456454
s = []
457455

458-
for d in arith.divisors(N):
459-
w = arith.gcd(d, N//d)
456+
for d in divisors(N):
457+
w = gcd(d, N//d)
460458
if w == 1:
461459
if d == 1:
462460
s.append(Cusp(1,0))
@@ -466,8 +464,8 @@ def _find_cusps(self):
466464
s.append(Cusp(1,d))
467465
else:
468466
for a in range(1, w):
469-
if arith.gcd(a, w) == 1:
470-
while arith.gcd(a, d//w) != 1:
467+
if gcd(a, w) == 1:
468+
while gcd(a, d//w) != 1:
471469
a += w
472470
s.append(Cusp(a,d))
473471
return sorted(s)
@@ -484,7 +482,7 @@ def ncusps(self):
484482
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
485483
"""
486484
n = self.level()
487-
return sum([arith.euler_phi(arith.gcd(d,n//d)) for d in n.divisors()])
485+
return sum([euler_phi(gcd(d,n//d)) for d in n.divisors()])
488486

489487

490488
def nu2(self):
@@ -595,7 +593,6 @@ def dimension_new_cusp_forms(self, k=2, p=0):
595593
sage: all(Gamma0(N).dimension_new_cusp_forms(2)==100 for N in L)
596594
True
597595
"""
598-
from sage.arith.all import moebius
599596
from sage.functions.other import floor
600597

601598
N = self.level()

src/sage/modular/arithgroup/congroup_gamma1.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from sage.misc.misc_c import prod
1818
from .congroup_gammaH import GammaH_class, is_GammaH, GammaH_constructor
1919
from sage.rings.integer_ring import ZZ
20-
from sage.arith.all import euler_phi as phi, moebius, divisors
20+
from sage.arith.misc import euler_phi as phi, moebius, divisors
2121
from sage.modular.dirichlet import DirichletGroup
2222

2323

0 commit comments

Comments
 (0)