|
29 | 29 | # (at your option) any later version. |
30 | 30 | # https://www.gnu.org/licenses/ |
31 | 31 | # **************************************************************************** |
| 32 | + |
32 | 33 | from copy import copy |
33 | 34 | from random import randrange |
34 | 35 |
|
| 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 |
35 | 41 | 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 |
58 | 47 | 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 |
60 | 52 | 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 |
63 | 61 | from sage.schemes.elliptic_curves.constructor import EllipticCurve |
64 | 62 | 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 |
68 | 66 |
|
69 | 67 | lazy_import('sage.databases.cremona', |
70 | 68 | ['cremona_letter_code', 'CremonaDatabase']) |
71 | 69 |
|
| 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 | + |
72 | 79 |
|
73 | 80 | def is_ModularAbelianVariety(x) -> bool: |
74 | 81 | """ |
@@ -4929,7 +4936,6 @@ def brandt_module(self, p): |
4929 | 4936 | if self.level().valuation(p) != 1: |
4930 | 4937 | raise ValueError("p must exactly divide the level") |
4931 | 4938 | M = self.level() / p |
4932 | | - from sage.modular.all import BrandtModule |
4933 | 4939 | V = BrandtModule(p, M) |
4934 | 4940 | # now cut out version of self in B |
4935 | 4941 | S = self.modular_symbols(sign=1) |
|
0 commit comments