diff --git a/src/sage/schemes/affine/affine_morphism.py b/src/sage/schemes/affine/affine_morphism.py index 32c2e47e494..9efef46cda3 100644 --- a/src/sage/schemes/affine/affine_morphism.py +++ b/src/sage/schemes/affine/affine_morphism.py @@ -59,7 +59,7 @@ from sage.misc.cachefunc import cached_method from sage.misc.lazy_attribute import lazy_attribute -from sage.arith.all import gcd +from sage.arith.misc import GCD as gcd from sage.rings.integer import Integer from sage.rings.finite_rings.finite_field_constructor import is_PrimeFiniteField diff --git a/src/sage/schemes/elliptic_curves/BSD.py b/src/sage/schemes/elliptic_curves/BSD.py index a9a42ebd84b..b44ef5d9c16 100644 --- a/src/sage/schemes/elliptic_curves/BSD.py +++ b/src/sage/schemes/elliptic_curves/BSD.py @@ -2,7 +2,9 @@ "Birch and Swinnerton-Dyer formulas" from sage.arith.misc import prime_divisors -from sage.rings.all import ZZ, Infinity, QuadraticField +from sage.rings.integer_ring import ZZ +from sage.rings.infinity import Infinity +from sage.rings.number_field.number_field import QuadraticField from sage.functions.other import ceil @@ -480,7 +482,7 @@ def prove_BSD(E, verbosity=0, two_desc='mwrank', proof=None, secs_hi=5, # We do not know BSD(E,p) for even a single p, since it's # an open problem to show that L^r(E,1)/(Reg*Omega) is # rational for any curve with r >= 2. - from sage.sets.all import Primes + from sage.sets.primes import Primes BSD.primes = Primes() if return_BSD: BSD.rank = rank_lower_bd diff --git a/src/sage/schemes/elliptic_curves/cardinality.py b/src/sage/schemes/elliptic_curves/cardinality.py index cc93b9ecf74..345b0e761d4 100644 --- a/src/sage/schemes/elliptic_curves/cardinality.py +++ b/src/sage/schemes/elliptic_curves/cardinality.py @@ -21,7 +21,10 @@ # **************************************************************************** from .constructor import EllipticCurve, EllipticCurve_from_j from sage.schemes.curves.projective_curve import Hasse_bounds -from sage.rings.all import Integer, ZZ, GF, polygen +from sage.rings.integer import Integer +from sage.rings.integer_ring import ZZ +from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF +from sage.rings.polynomial.polynomial_ring import polygen from sage.groups.generic import order_from_bounds diff --git a/src/sage/schemes/elliptic_curves/cm.py b/src/sage/schemes/elliptic_curves/cm.py index 6d56371ce93..9bb1552b68e 100644 --- a/src/sage/schemes/elliptic_curves/cm.py +++ b/src/sage/schemes/elliptic_curves/cm.py @@ -34,12 +34,12 @@ # **************************************************************************** from sage.interfaces.magma import magma -from sage.rings.all import (Integer, - QQ, - ZZ, - IntegerRing, - is_fundamental_discriminant, - PolynomialRing) +from sage.rings.integer import Integer +from sage.rings.rational_field import QQ +from sage.rings.integer_ring import ZZ +from sage.rings.integer_ring import IntegerRing +from sage.rings.number_field.number_field import is_fundamental_discriminant +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing from sage.misc.cachefunc import cached_function @@ -124,7 +124,8 @@ def hilbert_class_polynomial(D, algorithm=None): raise ValueError("%s is not a valid algorithm" % algorithm) from sage.quadratic_forms.binary_qf import BinaryQF_reduced_representatives - from sage.rings.all import RR, ComplexField + from sage.rings.real_mpfr import RR + from sage.rings.complex_mpfr import ComplexField from sage.functions.all import elliptic_j # get all primitive reduced quadratic forms, (necessary to exclude @@ -623,7 +624,8 @@ def is_cm_j_invariant(j, method='new'): True """ # First we check that j is an algebraic number: - from sage.rings.all import NumberFieldElement, NumberField + from sage.rings.number_field.number_field_element import NumberFieldElement + from sage.rings.number_field.number_field import NumberField if not isinstance(j, NumberFieldElement) and j not in QQ: raise NotImplementedError("is_cm_j_invariant() is only implemented for number field elements") diff --git a/src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx b/src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx index 5a265b40c85..4550db78cbd 100644 --- a/src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx +++ b/src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx @@ -19,8 +19,8 @@ from sage.rings.integer_ring import ZZ from sage.rings.polynomial.polynomial_ring import polygen cdef object x_ZZ = polygen(ZZ) from sage.rings.polynomial.real_roots import real_roots -from sage.arith.all import prime_divisors -from sage.all import ntl +from sage.arith.misc import prime_divisors +import sage.libs.ntl.all as ntl from sage.rings.integer cimport Integer from sage.libs.gmp.mpz cimport * diff --git a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py index 68194f600c2..441f45c2e12 100644 --- a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py +++ b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py @@ -2486,7 +2486,7 @@ def __compute_omega_general(self, E, psi, psi_pr, phi, phi_pr): # thesis are wrong, the correct formulas # are coded below - from sage.arith.all import binomial + from sage.arith.misc import binomial for j in range(n - 1): psi_prpr += binomial(j+2, 2) * psi[j+2] * cur_x_pow diff --git a/src/sage/schemes/elliptic_curves/ell_field.py b/src/sage/schemes/elliptic_curves/ell_field.py index 9d342607c7b..b3dc1ffd02c 100644 --- a/src/sage/schemes/elliptic_curves/ell_field.py +++ b/src/sage/schemes/elliptic_curves/ell_field.py @@ -1434,7 +1434,7 @@ def isogenies_prime_degree(self, l=None, max_l=31): raise NotImplementedError("This code could be implemented for QQbar, but has not been yet.") if l is None: - from sage.rings.all import prime_range + from sage.rings.fast_arith import prime_range L = prime_range(max_l + 1) else: try: diff --git a/src/sage/schemes/elliptic_curves/ell_finite_field.py b/src/sage/schemes/elliptic_curves/ell_finite_field.py index 2ab127bcb92..62cd1dd5660 100644 --- a/src/sage/schemes/elliptic_curves/ell_finite_field.py +++ b/src/sage/schemes/elliptic_curves/ell_finite_field.py @@ -23,18 +23,24 @@ # https://www.gnu.org/licenses/ # **************************************************************************** +import sage.groups.generic as generic +from sage.arith.functions import lcm +from sage.arith.misc import binomial, GCD as gcd +from sage.groups.additive_abelian.additive_abelian_wrapper import AdditiveAbelianGroupWrapper +from sage.misc.cachefunc import cached_method +from sage.rings.finite_rings.element_base import is_FiniteFieldElement +from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF +from sage.rings.integer import Integer +from sage.rings.integer_ring import ZZ +from sage.rings.polynomial.polynomial_ring import polygen +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing from sage.schemes.curves.projective_curve import Hasse_bounds -from .ell_field import EllipticCurve_field -from .constructor import EllipticCurve from sage.schemes.hyperelliptic_curves.hyperelliptic_finite_field import HyperellipticCurve_finite_field -from sage.rings.all import Integer, ZZ, PolynomialRing, GF, polygen -from sage.rings.finite_rings.element_base import is_FiniteFieldElement -import sage.groups.generic as generic + from . import ell_point -from sage.arith.all import gcd, lcm, binomial -from sage.misc.cachefunc import cached_method -from sage.groups.additive_abelian.additive_abelian_wrapper import AdditiveAbelianGroupWrapper +from .constructor import EllipticCurve +from .ell_field import EllipticCurve_field class EllipticCurve_finite_field(EllipticCurve_field, HyperellipticCurve_finite_field): diff --git a/src/sage/schemes/elliptic_curves/ell_generic.py b/src/sage/schemes/elliptic_curves/ell_generic.py index d3ca4896b01..76768da4763 100644 --- a/src/sage/schemes/elliptic_curves/ell_generic.py +++ b/src/sage/schemes/elliptic_curves/ell_generic.py @@ -62,7 +62,7 @@ import sage.groups.additive_abelian.additive_abelian_group as groups import sage.groups.generic as generic -from sage.arith.all import lcm +from sage.arith.functions import lcm import sage.rings.all as rings from sage.misc.cachefunc import cached_method from sage.misc.fast_methods import WithEqualityById diff --git a/src/sage/schemes/elliptic_curves/ell_modular_symbols.py b/src/sage/schemes/elliptic_curves/ell_modular_symbols.py index c91a54fdc27..b31f7dfe46c 100644 --- a/src/sage/schemes/elliptic_curves/ell_modular_symbols.py +++ b/src/sage/schemes/elliptic_curves/ell_modular_symbols.py @@ -87,19 +87,22 @@ # http://www.gnu.org/licenses/ #***************************************************************************** -from sage.structure.sage_object import SageObject -from sage.modular.modsym.all import ModularSymbols +from sage.arith.misc import (kronecker as kronecker_symbol, + next_prime, + prime_divisors, + valuation) from sage.databases.cremona import parse_cremona_label - -from sage.arith.all import next_prime, kronecker_symbol, prime_divisors, valuation +from sage.misc.verbose import verbose +from sage.modular.cusps import Cusps +from sage.modular.modsym.all import ModularSymbols from sage.rings.infinity import unsigned_infinity as infinity from sage.rings.integer import Integer -from sage.modular.cusps import Cusps from sage.rings.integer_ring import ZZ from sage.rings.rational_field import QQ -from sage.misc.verbose import verbose +from sage.structure.sage_object import SageObject + +from .constructor import EllipticCurve -from sage.schemes.elliptic_curves.constructor import EllipticCurve oo = Cusps(infinity) zero = Integer(0) diff --git a/src/sage/schemes/elliptic_curves/ell_number_field.py b/src/sage/schemes/elliptic_curves/ell_number_field.py index 3b31f9cf43f..acb392a0773 100644 --- a/src/sage/schemes/elliptic_curves/ell_number_field.py +++ b/src/sage/schemes/elliptic_curves/ell_number_field.py @@ -388,7 +388,7 @@ def height_pairing_matrix(self, points=None, precision=None, normalised=True): RR = RealField() else: RR = RealField(precision) - from sage.matrix.all import MatrixSpace + from sage.matrix.matrix_space import MatrixSpace M = MatrixSpace(RR, r) mat = M() for j in range(r): @@ -3897,7 +3897,7 @@ def saturation(self, points, verbose=False, raise ValueError("points not linearly independent in saturation()") sat_reg = reg - from sage.rings.all import prime_range + from sage.rings.fast_arith import prime_range if full_saturation: if lower_ht_bound is None: # TODO (robertwb): verify this for rank > 1 diff --git a/src/sage/schemes/elliptic_curves/ell_point.py b/src/sage/schemes/elliptic_curves/ell_point.py index 9f0c3799f36..d49bcccd279 100644 --- a/src/sage/schemes/elliptic_curves/ell_point.py +++ b/src/sage/schemes/elliptic_curves/ell_point.py @@ -2833,7 +2833,9 @@ def archimedean_local_height(self, v=None, prec=None, weighted=False): 4.0000000000000000000000000000000000000000000000000000000000 """ from sage.rings.number_field.number_field import refine_embedding - from sage.all import RealField, ComplexField, Infinity + from sage.rings.real_mpfr import RealField + from sage.rings.complex_mpfr import ComplexField + from sage.rings.infinity import Infinity E = self.curve() K = E.base_ring() @@ -3254,7 +3256,9 @@ def elliptic_logarithm(self, embedding=None, precision=100, 0.70448375537782208460499649302 - 0.79246725643650979858266018068*I """ from sage.rings.number_field.number_field import refine_embedding - from sage.rings.all import RealField, ComplexField, QQ + from sage.rings.real_mpfr import RealField + from sage.rings.complex_mpfr import ComplexField + from sage.rings.rational_field import QQ # Check the trivial case: diff --git a/src/sage/schemes/elliptic_curves/ell_rational_field.py b/src/sage/schemes/elliptic_curves/ell_rational_field.py index c2b8436f2a1..f1b7d937748 100644 --- a/src/sage/schemes/elliptic_curves/ell_rational_field.py +++ b/src/sage/schemes/elliptic_curves/ell_rational_field.py @@ -74,13 +74,14 @@ import sage.arith.all as arith import sage.rings.all as rings -from sage.rings.all import ( - PowerSeriesRing, - infinity as oo, - ZZ, QQ, - Integer, - IntegerRing, RealField, - ComplexField, RationalField) +from sage.rings.power_series_ring import PowerSeriesRing +from sage.rings.infinity import Infinity as oo +from sage.rings.integer_ring import ZZ, IntegerRing +from sage.rings.rational_field import QQ +from sage.rings.integer import Integer +from sage.rings.real_mpfr import RealField +from sage.rings.complex_mpfr import ComplexField +from sage.rings.rational_field import RationalField from sage.structure.coerce import py_scalar_to_element from sage.structure.element import Element @@ -3436,7 +3437,7 @@ def Lambda(self, s, prec): sage: E.Lambda(1.4+0.5*I, 50) -0.354172680517... + 0.874518681720...*I """ - from sage.all import pi + from sage.symbolic.constants import pi s = C(s) N = self.conductor() @@ -6013,7 +6014,7 @@ def point_preprocessing(free,tor): roots.remove(e3) e1,e2 = roots - from sage.all import pi + from sage.symbolic.constants import pi e = R(1).exp() pi = R(pi) @@ -7054,7 +7055,7 @@ def elliptic_curve_congruence_graph(curves): Graph on 12 vertices """ from sage.graphs.graph import Graph - from sage.arith.all import lcm + from sage.arith.functions import lcm from sage.rings.fast_arith import prime_range from sage.misc.misc_c import prod G = Graph() diff --git a/src/sage/schemes/elliptic_curves/ell_tate_curve.py b/src/sage/schemes/elliptic_curves/ell_tate_curve.py index 22a4f0a29d0..4b7cd3e82c5 100644 --- a/src/sage/schemes/elliptic_curves/ell_tate_curve.py +++ b/src/sage/schemes/elliptic_curves/ell_tate_curve.py @@ -44,7 +44,7 @@ from sage.rings.padics.factory import Qp from sage.structure.sage_object import SageObject from sage.structure.richcmp import richcmp, richcmp_method -from sage.arith.all import LCM +from sage.arith.functions import lcm as LCM from sage.modular.modform.constructor import EisensteinForms, CuspForms from sage.schemes.elliptic_curves.constructor import EllipticCurve from sage.functions.log import log diff --git a/src/sage/schemes/elliptic_curves/ell_torsion.py b/src/sage/schemes/elliptic_curves/ell_torsion.py index 8a1208569f2..7bfda81486a 100644 --- a/src/sage/schemes/elliptic_curves/ell_torsion.py +++ b/src/sage/schemes/elliptic_curves/ell_torsion.py @@ -26,7 +26,7 @@ # **************************************************************************** from sage.misc.cachefunc import cached_method -from sage.rings.all import RationalField +from sage.rings.rational_field import RationalField import sage.groups.additive_abelian.additive_abelian_wrapper as groups from sage.structure.richcmp import richcmp_method, richcmp diff --git a/src/sage/schemes/elliptic_curves/formal_group.py b/src/sage/schemes/elliptic_curves/formal_group.py index 17019a5794e..591ce2d6f29 100644 --- a/src/sage/schemes/elliptic_curves/formal_group.py +++ b/src/sage/schemes/elliptic_curves/formal_group.py @@ -16,7 +16,7 @@ import sage.misc.misc as misc import sage.rings.all as rings -from sage.rings.all import O +from sage.rings.big_oh import O class EllipticCurveFormalGroup(SageObject): diff --git a/src/sage/schemes/elliptic_curves/gal_reps.py b/src/sage/schemes/elliptic_curves/gal_reps.py index 55d0ac2d352..6a7a7889b6a 100644 --- a/src/sage/schemes/elliptic_curves/gal_reps.py +++ b/src/sage/schemes/elliptic_curves/gal_reps.py @@ -121,7 +121,8 @@ import sage.misc.all as misc from sage.misc.verbose import verbose import sage.rings.all as rings -from sage.rings.all import RealField, GF +from sage.rings.real_mpfr import RealField +from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF from math import sqrt from sage.libs.pari.all import pari diff --git a/src/sage/schemes/elliptic_curves/gal_reps_number_field.py b/src/sage/schemes/elliptic_curves/gal_reps_number_field.py index d484a4a18bd..82127860fd3 100644 --- a/src/sage/schemes/elliptic_curves/gal_reps_number_field.py +++ b/src/sage/schemes/elliptic_curves/gal_reps_number_field.py @@ -45,14 +45,17 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.structure.sage_object import SageObject -from sage.rings.number_field.number_field import NumberField +from sage.arith.misc import legendre_symbol, primes +from sage.misc.functional import cyclotomic_polynomial from sage.modules.free_module import VectorSpace from sage.rings.finite_rings.finite_field_constructor import GF -from sage.misc.functional import cyclotomic_polynomial -from sage.arith.all import legendre_symbol, primes +from sage.rings.infinity import Infinity +from sage.rings.integer import Integer +from sage.rings.integer_ring import ZZ +from sage.rings.number_field.number_field import NumberField +from sage.rings.rational_field import QQ from sage.sets.set import Set -from sage.rings.all import Integer, ZZ, QQ, Infinity +from sage.structure.sage_object import SageObject class GaloisRepresentation(SageObject): diff --git a/src/sage/schemes/elliptic_curves/heegner.py b/src/sage/schemes/elliptic_curves/heegner.py index 298f44fedc6..f9b752f9533 100644 --- a/src/sage/schemes/elliptic_curves/heegner.py +++ b/src/sage/schemes/elliptic_curves/heegner.py @@ -92,30 +92,34 @@ # https://www.gnu.org/licenses/ # **************************************************************************** - -from sage.misc.misc_c import prod -from sage.misc.verbose import verbose -from sage.misc.cachefunc import cached_method - -from sage.structure.sage_object import SageObject -from sage.structure.richcmp import (richcmp_method, richcmp, - richcmp_not_equal, rich_to_bool) - import sage.rings.abc import sage.rings.number_field.number_field_element import sage.rings.number_field.number_field as number_field import sage.rings.all as rings -from sage.rings.all import (ZZ, GF, QQ, CDF, - Integers, RealField, ComplexField, QuadraticField) -from sage.arith.all import (gcd, xgcd, lcm, prime_divisors, factorial, - binomial) + +from sage.arith.functions import lcm +from sage.arith.misc import (binomial, factorial, prime_divisors, + GCD as gcd, XGCD as xgcd) +from sage.matrix.constructor import Matrix as matrix +from sage.matrix.matrix_space import MatrixSpace +from sage.misc.cachefunc import cached_method +from sage.misc.misc_c import prod +from sage.misc.verbose import verbose +from sage.modular.modsym.p1list import P1List +from sage.rings.complex_double import CDF +from sage.rings.complex_mpfr import ComplexField from sage.rings.factorint import factor_trial_division +from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF +from sage.rings.finite_rings.integer_mod_ring import IntegerModRing as Integers +from sage.rings.integer_ring import ZZ +from sage.rings.number_field.number_field import QuadraticField +from sage.rings.rational_field import QQ +from sage.rings.real_mpfr import RealField from sage.quadratic_forms.all import (BinaryQF, BinaryQF_reduced_representatives) -from sage.matrix.all import MatrixSpace, matrix - -from sage.modular.modsym.p1list import P1List - +from sage.structure.sage_object import SageObject +from sage.structure.richcmp import (richcmp_method, richcmp, + richcmp_not_equal, rich_to_bool) ############################################################################### # @@ -6822,7 +6826,7 @@ def heegner_index_bound(self, D=0, prec=5, max_height=None): else: H = 4*h p = 3 - from sage.all import next_prime + from sage.arith.misc import next_prime while True: c = H/(2*p**2) + B if c < max_height: diff --git a/src/sage/schemes/elliptic_curves/height.py b/src/sage/schemes/elliptic_curves/height.py index 06d83bc7759..019dd555941 100644 --- a/src/sage/schemes/elliptic_curves/height.py +++ b/src/sage/schemes/elliptic_curves/height.py @@ -42,7 +42,8 @@ from sage.misc.cachefunc import cached_method from sage.misc.mrange import cartesian_product_iterator -from sage.arith.all import lcm, factorial +from sage.arith.functions import lcm +from sage.arith.misc import factorial from sage.ext.fast_callable import fast_callable from sage.functions.log import log, exp from sage.symbolic.ring import SR diff --git a/src/sage/schemes/elliptic_curves/hom_velusqrt.py b/src/sage/schemes/elliptic_curves/hom_velusqrt.py index 22ae56018a3..0f1101e57d2 100644 --- a/src/sage/schemes/elliptic_curves/hom_velusqrt.py +++ b/src/sage/schemes/elliptic_curves/hom_velusqrt.py @@ -122,21 +122,17 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.structure.sequence import Sequence -from sage.structure.all import coercion_model as cm - from sage.misc.cachefunc import cached_method - from sage.misc.misc_c import prod from sage.rings.generic import ProductTree, prod_with_derivative - -from sage.structure.richcmp import op_EQ - from sage.rings.integer import Integer +from sage.structure.all import coercion_model as cm +from sage.structure.richcmp import op_EQ +from sage.structure.sequence import Sequence -from sage.schemes.elliptic_curves.constructor import EllipticCurve -from sage.schemes.elliptic_curves.ell_finite_field import EllipticCurve_finite_field -from sage.schemes.elliptic_curves.hom import EllipticCurveHom, compare_via_evaluation +from .constructor import EllipticCurve +from .ell_finite_field import EllipticCurve_finite_field +from .hom import EllipticCurveHom, compare_via_evaluation def _choose_IJK(n): @@ -1213,7 +1209,12 @@ def _random_example_for_testing(): sage: 5 <= K.order() True """ - from sage.all import prime_range, choice, randrange, GF, lcm, Mod + from sage.rings.fast_arith import prime_range + from sage.misc.prandom import choice, randrange + from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF + from sage.arith.functions import lcm + from sage.rings.finite_rings.integer_mod import Mod + while True: p = choice(prime_range(2, 100)) e = randrange(1,5) diff --git a/src/sage/schemes/elliptic_curves/isogeny_class.py b/src/sage/schemes/elliptic_curves/isogeny_class.py index e635c77a458..0d50a9863ef 100644 --- a/src/sage/schemes/elliptic_curves/isogeny_class.py +++ b/src/sage/schemes/elliptic_curves/isogeny_class.py @@ -770,7 +770,7 @@ def _compute(self, verbose=False): True """ from sage.schemes.elliptic_curves.ell_curve_isogeny import fill_isogeny_matrix - from sage.matrix.all import MatrixSpace + from sage.matrix.matrix_space import MatrixSpace from sage.sets.set import Set self._maps = None @@ -1055,7 +1055,7 @@ def _compute(self): [0 2 0 0 0 0] """ algorithm = self._algorithm - from sage.matrix.all import MatrixSpace + from sage.matrix.matrix_space import MatrixSpace self._maps = None if algorithm == "database": try: @@ -1183,8 +1183,8 @@ def isogeny_degrees_cm(E, verbose=False): print("CM case, discriminant = %s" % d) from sage.libs.pari.all import pari - from sage.sets.all import Set - from sage.arith.all import kronecker_symbol + from sage.sets.set import Set + from sage.arith.misc import kronecker as kronecker_symbol n = E.base_field().absolute_degree() if not E.has_rational_cm(): diff --git a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py index f5657f2cf19..65cbbc29a35 100644 --- a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py +++ b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py @@ -536,7 +536,7 @@ def _sporadic_Q_data(j): ....: g = E.division_polynomial(ell) ....: assert g % f == 0 """ - from sage.rings.all import RealField + from sage.rings.real_mpfr import RealField from sage.misc.misc_c import prod ell = sporadic_j[j] E = EllipticCurve(j=j).short_weierstrass_model() diff --git a/src/sage/schemes/elliptic_curves/lseries_ell.py b/src/sage/schemes/elliptic_curves/lseries_ell.py index 94b381a2f0c..e1506b17910 100644 --- a/src/sage/schemes/elliptic_curves/lseries_ell.py +++ b/src/sage/schemes/elliptic_curves/lseries_ell.py @@ -23,7 +23,8 @@ #***************************************************************************** from sage.structure.sage_object import SageObject -from sage.rings.all import RealField, RationalField +from sage.rings.real_mpfr import RealField +from sage.rings.rational_field import RationalField from math import sqrt, log, ceil import sage.functions.exp_integral as exp_integral from sage.misc.verbose import verbose diff --git a/src/sage/schemes/elliptic_curves/mod_sym_num.pyx b/src/sage/schemes/elliptic_curves/mod_sym_num.pyx index ea646b7fbe3..369cd98a293 100644 --- a/src/sage/schemes/elliptic_curves/mod_sym_num.pyx +++ b/src/sage/schemes/elliptic_curves/mod_sym_num.pyx @@ -164,18 +164,16 @@ AUTHORS: from cysignals.memory cimport sig_malloc, sig_free, sig_realloc from cysignals.signals cimport sig_check +from sage.arith.misc import euler_phi, kronecker as kronecker_symbol from sage.misc.cachefunc import cached_method - +from sage.misc.misc_c import prod +from sage.misc.verbose import verbose from sage.rings.complex_mpfr cimport ComplexNumber from sage.rings.complex_mpfr import ComplexField -from sage.rings.real_mpfr cimport RealNumber, RealField -from sage.rings.rational cimport Rational from sage.rings.integer cimport Integer +from sage.rings.rational cimport Rational +from sage.rings.real_mpfr cimport RealNumber, RealField -from sage.misc.misc_c import prod -from sage.misc.verbose import verbose -from sage.arith.all import kronecker_symbol -from sage.arith.misc import euler_phi cdef extern from "": double log(double) diff --git a/src/sage/schemes/elliptic_curves/modular_parametrization.py b/src/sage/schemes/elliptic_curves/modular_parametrization.py index dca43dcd191..57a90190fe5 100644 --- a/src/sage/schemes/elliptic_curves/modular_parametrization.py +++ b/src/sage/schemes/elliptic_curves/modular_parametrization.py @@ -44,7 +44,10 @@ from . import heegner -from sage.rings.all import (LaurentSeriesRing, RationalField, ComplexField, QQ) +from sage.rings.laurent_series_ring import LaurentSeriesRing +from sage.rings.rational_field import RationalField +from sage.rings.complex_mpfr import ComplexField +from sage.rings.rational_field import QQ class ModularParameterization: diff --git a/src/sage/schemes/elliptic_curves/padic_lseries.py b/src/sage/schemes/elliptic_curves/padic_lseries.py index ccdc0dcc941..875a4113464 100644 --- a/src/sage/schemes/elliptic_curves/padic_lseries.py +++ b/src/sage/schemes/elliptic_curves/padic_lseries.py @@ -61,27 +61,33 @@ # https://www.gnu.org/licenses/ ###################################################################### -from sage.rings.integer_ring import ZZ -from sage.rings.rational_field import QQ -from sage.rings.padics.factory import Qp -from sage.rings.infinity import infinity -from sage.rings.all import LaurentSeriesRing, PowerSeriesRing, PolynomialRing, Integers - -from sage.rings.integer import Integer -from sage.arith.all import valuation, binomial, kronecker_symbol, gcd, prime_divisors, LCM - -from sage.structure.sage_object import SageObject -from sage.structure.richcmp import richcmp_method, richcmp - -from sage.misc.functional import denominator -from sage.misc.verbose import verbose, get_verbose - -from sage.modules.free_module_element import vector import sage.matrix.all as matrix import sage.schemes.hyperelliptic_curves.monsky_washnitzer + +from sage.arith.functions import lcm as LCM +from sage.arith.misc import (binomial, + GCD as gcd, + prime_divisors, + kronecker as kronecker_symbol, + valuation) from sage.functions.log import log from sage.functions.other import floor from sage.misc.cachefunc import cached_method +from sage.misc.functional import denominator +from sage.misc.verbose import get_verbose, verbose +from sage.modules.free_module_element import vector +from sage.rings.finite_rings.integer_mod_ring import IntegerModRing as Integers +from sage.rings.infinity import infinity +from sage.rings.integer import Integer +from sage.rings.integer_ring import ZZ +from sage.rings.laurent_series_ring import LaurentSeriesRing +from sage.rings.padics.factory import Qp +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing +from sage.rings.power_series_ring import PowerSeriesRing +from sage.rings.rational_field import QQ +from sage.structure.richcmp import richcmp_method, richcmp +from sage.structure.sage_object import SageObject + @richcmp_method class pAdicLseries(SageObject): diff --git a/src/sage/schemes/elliptic_curves/padics.py b/src/sage/schemes/elliptic_curves/padics.py index 96fb8510c12..e4d88113716 100644 --- a/src/sage/schemes/elliptic_curves/padics.py +++ b/src/sage/schemes/elliptic_curves/padics.py @@ -21,25 +21,28 @@ # https://www.gnu.org/licenses/ ###################################################################### +import math -import sage.rings.all as rings -from . import padic_lseries as plseries import sage.arith.all as arith -from sage.rings.all import ( - Qp, Zp, - Integers, - Integer, - O, - PowerSeriesRing, - LaurentSeriesRing, - RationalField) -import math -import sage.misc.misc as misc import sage.matrix.all as matrix -sqrt = math.sqrt -import sage.schemes.hyperelliptic_curves.monsky_washnitzer +import sage.misc.misc as misc +import sage.rings.all as rings import sage.schemes.hyperelliptic_curves.hypellfrob +import sage.schemes.hyperelliptic_curves.monsky_washnitzer + from sage.misc.cachefunc import cached_method +from sage.rings.big_oh import O +from sage.rings.finite_rings.integer_mod_ring import IntegerModRing as Integers +from sage.rings.integer import Integer +from sage.rings.laurent_series_ring import LaurentSeriesRing +from sage.rings.padics.factory import Qp, Zp +from sage.rings.power_series_ring import PowerSeriesRing +from sage.rings.rational_field import RationalField + +from . import padic_lseries as plseries + +sqrt = math.sqrt + def __check_padic_hypotheses(self, p): r""" diff --git a/src/sage/schemes/elliptic_curves/period_lattice.py b/src/sage/schemes/elliptic_curves/period_lattice.py index 7206ea74a7a..7224988fc27 100644 --- a/src/sage/schemes/elliptic_curves/period_lattice.py +++ b/src/sage/schemes/elliptic_curves/period_lattice.py @@ -96,17 +96,22 @@ """ -from sage.modules.free_module import FreeModule_generic_pid -from sage.rings.all import ZZ, QQ, RealField, ComplexField, QQbar, AA import sage.rings.abc + +from sage.libs.pari.all import pari +from sage.misc.cachefunc import cached_method +from sage.modules.free_module import FreeModule_generic_pid +from sage.rings.complex_mpfr import ComplexField from sage.rings.complex_mpfr import ComplexNumber -from sage.rings.real_mpfr import RealNumber as RealNumber -from sage.rings.number_field.number_field import refine_embedding from sage.rings.infinity import Infinity +from sage.rings.integer_ring import ZZ +from sage.rings.number_field.number_field import refine_embedding +from sage.rings.qqbar import AA, QQbar +from sage.rings.rational_field import QQ +from sage.rings.real_mpfr import RealField +from sage.rings.real_mpfr import RealNumber as RealNumber from sage.schemes.elliptic_curves.constructor import EllipticCurve -from sage.misc.cachefunc import cached_method from sage.structure.richcmp import richcmp_method, richcmp, richcmp_not_equal -from sage.libs.pari.all import pari class PeriodLattice(FreeModule_generic_pid): diff --git a/src/sage/schemes/elliptic_curves/saturation.py b/src/sage/schemes/elliptic_curves/saturation.py index 9f5b59ac404..57367c515d4 100644 --- a/src/sage/schemes/elliptic_curves/saturation.py +++ b/src/sage/schemes/elliptic_curves/saturation.py @@ -52,7 +52,7 @@ from sage.rings.finite_rings.finite_field_constructor import GF from sage.rings.integer_ring import ZZ -from sage.arith.all import kronecker_symbol as kro +from sage.arith.misc import kronecker as kro from sage.structure.sage_object import SageObject def reduce_mod_q(x,amodq): diff --git a/src/sage/schemes/elliptic_curves/sha_tate.py b/src/sage/schemes/elliptic_curves/sha_tate.py index bf8eb3e060e..1e4fe251ff6 100644 --- a/src/sage/schemes/elliptic_curves/sha_tate.py +++ b/src/sage/schemes/elliptic_curves/sha_tate.py @@ -80,12 +80,11 @@ # **************************************************************************** from sage.structure.sage_object import SageObject -from sage.rings.all import ( - Integer, - RealField, - RationalField, - RIF, - ZZ) +from sage.rings.integer import Integer +from sage.rings.real_mpfr import RealField +from sage.rings.rational_field import RationalField +from sage.rings.real_mpfi import RIF +from sage.rings.integer_ring import ZZ from sage.functions.log import log from math import sqrt from sage.misc.verbose import verbose diff --git a/src/sage/schemes/elliptic_curves/weierstrass_morphism.py b/src/sage/schemes/elliptic_curves/weierstrass_morphism.py index 6b56e94eba8..4db88f1f7f2 100644 --- a/src/sage/schemes/elliptic_curves/weierstrass_morphism.py +++ b/src/sage/schemes/elliptic_curves/weierstrass_morphism.py @@ -29,7 +29,8 @@ from sage.schemes.elliptic_curves.hom import EllipticCurveHom from sage.structure.richcmp import (richcmp, richcmp_not_equal, op_EQ, op_NE) from sage.structure.sequence import Sequence -from sage.rings.all import Integer, PolynomialRing +from sage.rings.integer import Integer +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing class baseWI(): r""" diff --git a/src/sage/schemes/generic/spec.py b/src/sage/schemes/generic/spec.py index 261bb899d68..fcbda338c59 100644 --- a/src/sage/schemes/generic/spec.py +++ b/src/sage/schemes/generic/spec.py @@ -98,7 +98,8 @@ def __init__(self, base_ring=None): Spec functor from Category of commutative rings to Category of schemes over Rational Field """ - from sage.categories.all import CommutativeRings, Schemes + from sage.categories.commutative_rings import CommutativeRings + from sage.categories.schemes import Schemes if base_ring is None: domain = CommutativeRings() diff --git a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx index c08bb3cfb53..50730d1081f 100644 --- a/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx +++ b/src/sage/schemes/hyperelliptic_curves/hypellfrob.pyx @@ -38,8 +38,9 @@ from libcpp.vector cimport vector from sage.libs.ntl.ntl_ZZ_pContext import ZZ_pContext_factory from sage.libs.ntl.all import ZZ, ZZX from sage.matrix.constructor import Matrix -from sage.rings.all import Qp, O as big_oh -from sage.arith.all import is_prime +from sage.rings.padics.factory import Qp +from sage.rings.big_oh import O as big_oh +from sage.arith.misc import is_prime from sage.libs.ntl.ntl_ZZ_p cimport ntl_ZZ_p from sage.libs.ntl.ntl_ZZ cimport ntl_ZZ diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py index 9f9227cbcf3..ab883076d33 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py @@ -48,8 +48,11 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.rings.all import ZZ, RR, QQ, GF -from sage.arith.all import binomial +from sage.rings.integer_ring import ZZ +from sage.rings.real_mpfr import RR +from sage.rings.rational_field import QQ +from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF +from sage.arith.misc import binomial from sage.rings.power_series_ring import PowerSeriesRing from . import hyperelliptic_generic from sage.schemes.hyperelliptic_curves.hypellfrob import hypellfrob diff --git a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py index a79843c0e99..030d8dab2e7 100644 --- a/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py +++ b/src/sage/schemes/hyperelliptic_curves/hyperelliptic_padic_field.py @@ -12,8 +12,15 @@ # **************************************************************************** -from sage.rings.all import (PowerSeriesRing, PolynomialRing, ZZ, QQ, - pAdicField, GF, RR, RationalField, Infinity) +from sage.rings.power_series_ring import PowerSeriesRing +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing +from sage.rings.integer_ring import ZZ +from sage.rings.rational_field import QQ +from sage.rings.padics.factory import Qp as pAdicField +from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF +from sage.rings.real_mpfr import RR +from sage.rings.rational_field import RationalField +from sage.rings.infinity import Infinity from sage.functions.log import log from sage.modules.free_module import VectorSpace from sage.matrix.constructor import matrix diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py b/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py index e75a071657f..5c7c4b22c5c 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_endomorphism_utils.py @@ -90,10 +90,14 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.rings.all import QQ, ZZ, PolynomialRing, FiniteField, NumberField +from sage.rings.rational_field import QQ +from sage.rings.integer_ring import ZZ +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing +from sage.rings.finite_rings.finite_field_constructor import FiniteField +from sage.rings.number_field.number_field import NumberField from sage.misc.lazy_import import lazy_import from sage.rings.fast_arith import prime_range -from sage.arith.all import gcd +from sage.arith.misc import GCD as gcd lazy_import('sage.interfaces.genus2reduction', ['genus2reduction', 'Genus2reduction']) diff --git a/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py b/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py index c7cdf99a83f..21de152a878 100644 --- a/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py +++ b/src/sage/schemes/hyperelliptic_curves/jacobian_generic.py @@ -8,7 +8,8 @@ # http://www.gnu.org/licenses/ # **************************************************************************** -from sage.rings.all import Integer, QQ +from sage.rings.integer import Integer +from sage.rings.rational_field import QQ from sage.misc.lazy_attribute import lazy_attribute from sage.schemes.jacobians.abstract_jacobian import Jacobian_generic from . import jacobian_homset diff --git a/src/sage/schemes/hyperelliptic_curves/kummer_surface.py b/src/sage/schemes/hyperelliptic_curves/kummer_surface.py index 987099f8d4b..dadf1200f01 100644 --- a/src/sage/schemes/hyperelliptic_curves/kummer_surface.py +++ b/src/sage/schemes/hyperelliptic_curves/kummer_surface.py @@ -12,7 +12,7 @@ from sage.schemes.projective.projective_subscheme\ import AlgebraicScheme_subscheme_projective from sage.categories.homset import Hom -from sage.categories.all import Schemes +from sage.categories.schemes import Schemes # The generic genus 2 curve in Weierstrass form: # diff --git a/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py b/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py index 8118089acdb..6d0d2403ba8 100644 --- a/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py +++ b/src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py @@ -46,7 +46,7 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.arith.all import integer_ceil as ceil +from sage.arith.misc import integer_ceil as ceil from sage.arith.misc import binomial from sage.functions.log import log from sage.matrix.constructor import matrix @@ -58,9 +58,16 @@ from sage.modules.free_module import FreeModule from sage.modules.free_module_element import is_FreeModuleElement from sage.modules.module import Module -from sage.rings.all import (Integers, Integer, PolynomialRing, PowerSeriesRing, - Rationals, Rational, LaurentSeriesRing, QQ, ZZ, - IntegralDomain) +from sage.rings.finite_rings.integer_mod_ring import IntegerModRing as Integers +from sage.rings.integer import Integer +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing +from sage.rings.power_series_ring import PowerSeriesRing +from sage.rings.rational_field import RationalField as Rationals +from sage.rings.rational import Rational +from sage.rings.laurent_series_ring import LaurentSeriesRing +from sage.rings.rational_field import QQ +from sage.rings.integer_ring import ZZ +from sage.rings.ring import IntegralDomain from sage.rings.infinity import Infinity from sage.rings.laurent_series_ring import is_LaurentSeriesRing from sage.rings.padics.all import pAdicField diff --git a/src/sage/schemes/plane_conics/con_rational_field.py b/src/sage/schemes/plane_conics/con_rational_field.py index 9a75336901f..8e14d1e2ba7 100644 --- a/src/sage/schemes/plane_conics/con_rational_field.py +++ b/src/sage/schemes/plane_conics/con_rational_field.py @@ -24,7 +24,9 @@ # https://www.gnu.org/licenses/ # **************************************************************************** -from sage.rings.all import (PolynomialRing, ZZ, QQ) +from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing +from sage.rings.integer_ring import ZZ +from sage.rings.rational_field import QQ import sage.rings.abc @@ -38,7 +40,8 @@ from sage.structure.element import InfinityElement -from sage.arith.all import lcm, hilbert_symbol +from sage.arith.functions import lcm +from sage.arith.misc import hilbert_symbol class ProjectiveConic_rational_field(ProjectiveConic_number_field): diff --git a/src/sage/schemes/plane_conics/con_rational_function_field.py b/src/sage/schemes/plane_conics/con_rational_function_field.py index 0d1d457f085..d90909145e3 100644 --- a/src/sage/schemes/plane_conics/con_rational_function_field.py +++ b/src/sage/schemes/plane_conics/con_rational_function_field.py @@ -42,7 +42,8 @@ from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing from sage.matrix.constructor import diagonal_matrix, matrix, block_matrix from sage.schemes.plane_conics.con_field import ProjectiveConic_field -from sage.arith.all import lcm, gcd +from sage.arith.functions import lcm +from sage.arith.misc import GCD as gcd from sage.modules.free_module_element import vector from sage.rings.fraction_field import is_FractionField diff --git a/src/sage/schemes/projective/proj_bdd_height.py b/src/sage/schemes/projective/proj_bdd_height.py index 9034f2d5352..2f90e1cc1f9 100644 --- a/src/sage/schemes/projective/proj_bdd_height.py +++ b/src/sage/schemes/projective/proj_bdd_height.py @@ -23,9 +23,9 @@ from sage.schemes.projective.projective_space import ProjectiveSpace from sage.rings.rational_field import QQ -from sage.rings.all import RealField +from sage.rings.real_mpfr import RealField from sage.rings.number_field.unit_group import UnitGroup -from sage.arith.all import gcd +from sage.arith.misc import GCD as gcd from sage.matrix.constructor import matrix, column_matrix from sage.libs.pari.all import pari from sage.modules.free_module_element import vector diff --git a/src/sage/schemes/projective/projective_morphism.py b/src/sage/schemes/projective/projective_morphism.py index 87ad986bb06..facc90bb53d 100644 --- a/src/sage/schemes/projective/projective_morphism.py +++ b/src/sage/schemes/projective/projective_morphism.py @@ -62,7 +62,8 @@ # **************************************************************************** import sys -from sage.arith.all import gcd, lcm +from sage.arith.misc import GCD as gcd +from sage.arith.functions import lcm from sage.interfaces.singular import singular from sage.misc.misc_c import prod from sage.misc.cachefunc import cached_method diff --git a/src/sage/schemes/projective/projective_point.py b/src/sage/schemes/projective/projective_point.py index d94d108e5d6..84e8741f739 100644 --- a/src/sage/schemes/projective/projective_point.py +++ b/src/sage/schemes/projective/projective_point.py @@ -40,7 +40,8 @@ from sage.rings.qqbar import number_field_elements_from_algebraics from sage.rings.quotient_ring import QuotientRing_generic from sage.rings.rational_field import QQ -from sage.arith.all import gcd, lcm +from sage.arith.misc import GCD as gcd +from sage.arith.functions import lcm from sage.misc.misc_c import prod from copy import copy diff --git a/src/sage/schemes/toric/library.py b/src/sage/schemes/toric/library.py index c8ecbf6a587..6f3617f22b6 100644 --- a/src/sage/schemes/toric/library.py +++ b/src/sage/schemes/toric/library.py @@ -40,11 +40,12 @@ from sage.structure.sage_object import SageObject -from sage.matrix.all import matrix, identity_matrix +from sage.matrix.constructor import Matrix as matrix +from sage.matrix.special import identity_matrix from sage.geometry.all import Fan, LatticePolytope, ToricLattice from sage.rings.integer_ring import ZZ from sage.rings.rational_field import QQ -from sage.arith.all import gcd +from sage.arith.misc import GCD as gcd from sage.schemes.toric.variety import (DEFAULT_PREFIX, ToricVariety, normalize_names) diff --git a/src/sage/schemes/toric/morphism.py b/src/sage/schemes/toric/morphism.py index c86503bd699..d41c35c5a7b 100644 --- a/src/sage/schemes/toric/morphism.py +++ b/src/sage/schemes/toric/morphism.py @@ -370,7 +370,7 @@ from sage.structure.sequence import Sequence from sage.rings.integer_ring import ZZ -from sage.arith.all import gcd +from sage.arith.misc import GCD as gcd from sage.misc.cachefunc import cached_method from sage.matrix.constructor import matrix, identity_matrix from sage.modules.free_module_element import vector diff --git a/src/sage/schemes/toric/points.py b/src/sage/schemes/toric/points.py index 5da8f26a9c5..1815c4fa6f0 100644 --- a/src/sage/schemes/toric/points.py +++ b/src/sage/schemes/toric/points.py @@ -39,7 +39,7 @@ from sage.misc.misc_c import prod from sage.misc.cachefunc import cached_method -from sage.arith.all import gcd +from sage.arith.misc import GCD as gcd from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing from sage.parallel.decorate import Parallel