Skip to content

Commit 350979e

Browse files
author
Matthias Koeppe
committed
sage.{crypto,databases,dynamics,lfunctions,quadratic_forms}: Consolidate imports from the same module
1 parent 3d51e7b commit 350979e

20 files changed

+130
-147
lines changed

src/sage/crypto/classical.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@
5555
from sage.rings.integer import Integer
5656
from sage.rings.integer_ring import ZZ
5757
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
58-
from sage.arith.misc import XGCD as xgcd
59-
from sage.arith.misc import inverse_mod
58+
from sage.arith.misc import inverse_mod, XGCD as xgcd
6059
from random import randint
6160
from sage.matrix.matrix_space import MatrixSpace
6261

src/sage/crypto/lwe.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,26 +91,25 @@
9191
- [CGW2013]_
9292
"""
9393

94+
from sage.arith.misc import euler_phi, next_prime
9495
from sage.functions.log import log
9596
from sage.functions.other import floor, ceil
96-
from sage.misc.functional import sqrt
9797
from sage.misc.functional import cyclotomic_polynomial, round
98-
from sage.misc.randstate import set_random_seed
98+
from sage.misc.functional import sqrt
9999
from sage.misc.prandom import randint
100+
from sage.misc.randstate import set_random_seed
100101
from sage.modules.free_module import FreeModule
101102
from sage.modules.free_module_element import random_vector, vector
102103
from sage.numerical.optimize import find_root
103-
from sage.rings.integer_ring import ZZ
104104
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
105+
from sage.rings.integer_ring import ZZ
105106
from sage.rings.real_mpfr import RR
106-
from sage.arith.misc import next_prime
107-
from sage.arith.misc import euler_phi
107+
from sage.stats.distributions.discrete_gaussian_integer import DiscreteGaussianDistributionIntegerSampler
108+
from sage.stats.distributions.discrete_gaussian_polynomial import DiscreteGaussianDistributionPolynomialSampler
108109
from sage.structure.element import parent
109110
from sage.structure.sage_object import SageObject
110111
from sage.symbolic.constants import pi
111112
from sage.symbolic.ring import SR
112-
from sage.stats.distributions.discrete_gaussian_integer import DiscreteGaussianDistributionIntegerSampler
113-
from sage.stats.distributions.discrete_gaussian_polynomial import DiscreteGaussianDistributionPolynomialSampler
114113

115114

116115
class UniformSampler(SageObject):

src/sage/crypto/public_key/blum_goldwasser.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,17 @@
3030

3131
from operator import xor
3232

33-
from sage.crypto.cryptosystem import PublicKeyCryptosystem
34-
from sage.crypto.util import is_blum_prime
35-
from sage.crypto.util import least_significant_bits
36-
from sage.crypto.util import random_blum_prime
33+
from sage.arith.misc import GCD as gcd, power_mod, XGCD as xgcd
3734
from sage.functions.log import log
3835
from sage.functions.other import Function_floor
3936
from sage.monoids.string_monoid import BinaryStrings
40-
from sage.arith.misc import GCD as gcd
41-
from sage.arith.misc import power_mod
42-
from sage.arith.misc import XGCD as xgcd
4337
from sage.rings.finite_rings.integer_mod import Mod as mod
4438
from sage.rings.finite_rings.integer_mod_ring import IntegerModFactory
4539

40+
from .cryptosystem import PublicKeyCryptosystem
41+
from .util import is_blum_prime, least_significant_bits, random_blum_prime
42+
43+
4644
floor = Function_floor()
4745
IntegerModRing = IntegerModFactory("IntegerModRing")
4846

src/sage/crypto/stream.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,16 @@
1212
# http://www.gnu.org/licenses/
1313
#*****************************************************************************
1414

15-
from .cryptosystem import SymmetricKeyCryptosystem
16-
from .stream_cipher import LFSRCipher, ShrinkingGeneratorCipher
17-
18-
from sage.crypto.util import random_blum_prime
15+
from sage.arith.misc import GCD as gcd, power_mod
1916
from sage.monoids.string_monoid import BinaryStrings
20-
from sage.arith.misc import GCD as gcd
21-
from sage.arith.misc import power_mod
2217
from sage.rings.finite_rings.finite_field_constructor import FiniteField
2318
from sage.rings.finite_rings.integer_mod_ring import IntegerModFactory
2419
from sage.rings.polynomial.polynomial_element import Polynomial
2520

21+
from .cryptosystem import SymmetricKeyCryptosystem
22+
from .stream_cipher import LFSRCipher, ShrinkingGeneratorCipher
23+
from .util import random_blum_prime
24+
2625

2726
IntegerModRing = IntegerModFactory("IntegerModRing")
2827

src/sage/crypto/util.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,16 @@
2020
# http://www.gnu.org/licenses/
2121
#*****************************************************************************
2222

23-
from sage.monoids.string_monoid import BinaryStrings
24-
from sage.arith.misc import is_prime
2523
from sage.arith.functions import lcm
26-
from sage.arith.misc import primes
27-
from sage.arith.misc import random_prime
28-
from sage.rings.integer import Integer
24+
from sage.arith.misc import is_prime, primes, random_prime
25+
from sage.misc.lazy_import import lazy_import
26+
from sage.monoids.string_monoid import BinaryStrings
2927
from sage.rings.finite_rings.integer_mod import Mod as mod
28+
from sage.rings.integer import Integer
3029

31-
from sage.misc.lazy_import import lazy_import
3230
lazy_import('sage.arith.misc', ('carmichael_lambda'), deprecation=34719)
3331

32+
3433
def ascii_integer(B):
3534
r"""
3635
Return the ASCII integer corresponding to the binary string ``B``.

src/sage/dynamics/arithmetic_dynamics/endPN_automorphism_group.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,23 @@
2222
from copy import copy, deepcopy
2323
from itertools import permutations, combinations, product
2424

25+
from sage.arith.functions import lcm
26+
from sage.arith.misc import CRT, divisors, GCD as gcd, is_square
27+
from sage.combinat.permutation import Arrangements
2528
from sage.combinat.subset import Subsets
26-
from sage.misc.functional import sqrt
2729
from sage.matrix.constructor import matrix
28-
from sage.structure.element import is_Matrix
30+
from sage.misc.functional import sqrt
2931
from sage.misc.misc_c import prod
32+
from sage.parallel.use_fork import p_iter_fork
3033
from sage.rings.finite_rings.finite_field_constructor import GF
3134
from sage.rings.finite_rings.integer_mod_ring import Integers
3235
from sage.rings.integer_ring import ZZ
3336
from sage.rings.number_field.number_field import NumberField
34-
from sage.arith.misc import GCD as gcd
35-
from sage.arith.functions import lcm
36-
from sage.arith.misc import CRT
37-
from sage.arith.misc import is_square
38-
from sage.arith.misc import divisors
3937
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
4038
from sage.rings.rational_field import QQ
4139
from sage.sets.primes import Primes
4240
from sage.sets.set import Set
43-
from sage.combinat.permutation import Arrangements
44-
from sage.parallel.use_fork import p_iter_fork
41+
from sage.structure.element import is_Matrix
4542

4643

4744
def automorphism_group_QQ_fixedpoints(rational_function, return_functions=False, iso_type=False):

src/sage/dynamics/arithmetic_dynamics/projective_ds.py

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -52,29 +52,29 @@ class initialization directly.
5252
# https://www.gnu.org/licenses/
5353
# ****************************************************************************
5454

55-
from sage.arith.misc import is_prime
55+
from copy import copy
56+
from itertools import count, product
57+
58+
import sage.rings.abc
59+
60+
from sage.arith.functions import lcm
61+
from sage.arith.misc import binomial, GCD as gcd, is_prime, moebius, next_prime, primes
5662
from sage.calculus.functions import jacobian
5763
from sage.categories.fields import Fields
64+
from sage.categories.finite_fields import FiniteFields
5865
from sage.categories.function_fields import FunctionFields
59-
from sage.categories.number_fields import NumberFields
6066
from sage.categories.homset import End
61-
from sage.dynamics.arithmetic_dynamics.generic_ds import DynamicalSystem
62-
from sage.misc.functional import sqrt
67+
from sage.categories.number_fields import NumberFields
6368
from sage.functions.other import ceil
6469
from sage.libs.pari.all import PariError
6570
from sage.matrix.constructor import matrix, identity_matrix
6671
from sage.misc.cachefunc import cached_method
6772
from sage.misc.classcall_metaclass import typecall
73+
from sage.misc.functional import sqrt
6874
from sage.misc.mrange import xmrange
6975
from sage.modules.free_module_element import vector
70-
from sage.rings.integer import Integer
71-
from sage.arith.misc import GCD as gcd
72-
from sage.arith.functions import lcm
73-
from sage.arith.misc import next_prime
74-
from sage.arith.misc import binomial
75-
from sage.arith.misc import primes
76-
from sage.arith.misc import moebius
77-
from sage.categories.finite_fields import FiniteFields
76+
from sage.parallel.ncpus import ncpus
77+
from sage.parallel.use_fork import p_iter_fork
7878
from sage.rings.algebraic_closure_finite_field import AlgebraicClosureFiniteField_generic
7979
from sage.rings.complex_mpfr import ComplexField
8080
from sage.rings.finite_rings.finite_field_base import FiniteField
@@ -83,6 +83,7 @@ class initialization directly.
8383
from sage.rings.fraction_field import (FractionField, is_FractionField, FractionField_1poly_field)
8484
from sage.rings.fraction_field_element import is_FractionFieldElement, FractionFieldElement
8585
from sage.rings.function_field.function_field import is_FunctionField
86+
from sage.rings.integer import Integer
8687
from sage.rings.integer_ring import ZZ
8788
from sage.rings.polynomial.flatten import FlatteningMorphism, UnflatteningMorphism
8889
from sage.rings.morphism import RingHomomorphism_im_gens
@@ -94,31 +95,27 @@ class initialization directly.
9495
from sage.rings.qqbar import QQbar, number_field_elements_from_algebraics
9596
from sage.rings.quotient_ring import QuotientRing_generic
9697
from sage.rings.rational_field import QQ
97-
import sage.rings.abc
9898
from sage.rings.real_mpfr import RealField
9999
from sage.schemes.generic.morphism import SchemeMorphism_polynomial
100-
from sage.schemes.projective.projective_subscheme import AlgebraicScheme_subscheme_projective
100+
from sage.schemes.product_projective.space import is_ProductProjectiveSpaces
101101
from sage.schemes.projective.projective_morphism import (
102102
SchemeMorphism_polynomial_projective_space,
103103
SchemeMorphism_polynomial_projective_space_field,
104104
SchemeMorphism_polynomial_projective_space_finite_field)
105-
from sage.schemes.projective.projective_space import (ProjectiveSpace,
106-
is_ProjectiveSpace)
107-
from sage.schemes.product_projective.space import is_ProductProjectiveSpaces
105+
from sage.schemes.projective.projective_space import ProjectiveSpace, is_ProjectiveSpace
106+
from sage.schemes.projective.projective_subscheme import AlgebraicScheme_subscheme_projective
108107
from sage.structure.element import get_coercion_model
109108
from sage.symbolic.constants import e
110-
from copy import copy
111-
from sage.parallel.ncpus import ncpus
112-
from sage.parallel.use_fork import p_iter_fork
113-
from sage.dynamics.arithmetic_dynamics.projective_ds_helper import (_fast_possible_periods,_all_periodic_points)
114-
from itertools import count, product
109+
115110
from .endPN_automorphism_group import (
116111
automorphism_group_QQ_CRT,
117112
automorphism_group_QQ_fixedpoints,
118113
conjugating_set_helper,
119114
conjugating_set_initializer,
120115
is_conjugate_helper)
121116
from .endPN_automorphism_group import automorphism_group_FF
117+
from .generic_ds import DynamicalSystem
118+
from .projective_ds_helper import _fast_possible_periods, _all_periodic_points
122119

123120

124121
class DynamicalSystem_projective(SchemeMorphism_polynomial_projective_space,

src/sage/lfunctions/zero_sums.pyx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,21 @@ AUTHORS:
1818
# https://www.gnu.org/licenses/
1919
# ****************************************************************************
2020

21-
from sage.structure.sage_object cimport SageObject
22-
from sage.rings.integer_ring import ZZ
23-
from sage.rings.real_double import RDF
24-
from sage.rings.complex_double import CDF
25-
from sage.rings.infinity import PlusInfinity
26-
from sage.arith.misc import prime_powers
27-
from sage.arith.misc import next_prime
21+
from sage.arith.misc import next_prime, prime_powers
2822
from sage.functions.log import log, exp
2923
from sage.functions.other import real, imag
30-
from sage.symbolic.constants import pi, euler_gamma
24+
from sage.libs.flint.ulong_extras cimport n_is_prime
3125
from sage.libs.pari.all import pari
3226
from sage.misc.verbose import verbose
3327
from sage.parallel.decorate import parallel
3428
from sage.parallel.ncpus import ncpus as num_cpus
35-
from sage.libs.flint.ulong_extras cimport n_is_prime
29+
from sage.rings.complex_double import CDF
30+
from sage.rings.infinity import PlusInfinity
31+
from sage.rings.integer_ring import ZZ
32+
from sage.rings.real_double import RDF
33+
from sage.structure.sage_object cimport SageObject
34+
from sage.symbolic.constants import euler_gamma, pi
35+
3636

3737
cdef extern from "<math.h>":
3838
double c_exp "exp"(double)

src/sage/quadratic_forms/count_local_2.pyx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,11 @@ r"""
22
Optimized counting of congruence solutions
33
"""
44

5-
from sage.arith.misc import valuation
6-
from sage.arith.misc import kronecker as kronecker_symbol
7-
from sage.arith.misc import is_prime
5+
from sage.arith.misc import is_prime, kronecker as kronecker_symbol, valuation
6+
from sage.rings.finite_rings.integer_mod cimport IntegerMod_gmp
87
from sage.rings.finite_rings.integer_mod import Mod
98
from sage.rings.finite_rings.integer_mod_ring import IntegerModRing
10-
119
from sage.rings.integer_ring import ZZ
12-
13-
from sage.rings.finite_rings.integer_mod cimport IntegerMod_gmp
1410
from sage.sets.set import Set
1511

1612

src/sage/quadratic_forms/quadratic_form__equivalence_testing.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55
66
- Anna Haensch (2014-12-01): added test for rational isometry
77
"""
8-
from sage.arith.misc import hilbert_symbol
9-
from sage.arith.misc import prime_divisors
10-
from sage.arith.misc import is_prime
11-
from sage.arith.misc import valuation
12-
from sage.arith.misc import GCD
13-
from sage.arith.misc import legendre_symbol
8+
9+
from sage.arith.misc import (hilbert_symbol,
10+
GCD,
11+
is_prime,
12+
legendre_symbol,
13+
prime_divisors,
14+
valuation)
1415
from sage.rings.integer_ring import ZZ
1516
from sage.rings.rational_field import QQ
1617

17-
from sage.quadratic_forms.quadratic_form import is_QuadraticForm
18+
from .quadratic_form import is_QuadraticForm
1819

1920

2021
##############################################################################

0 commit comments

Comments
 (0)