Skip to content

Commit a45062c

Browse files
author
Release Manager
committed
sagemathgh-36666: Replace relative imports by absolute ones in `sage.{algebras,arith,categories,cpython,data_structures,misc,modular,rings,sat,symbolic}` <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> <!-- Why is this change required? What problem does it solve? --> Final chunk of the cherry-pick from sagemath#35095 for sagemath#36228, see also sagemath#36572 (comment) This PR overlaps with sagemath#36572, sagemath#36588, sagemath#36589, but it does not touch `.all*` files (no changes there are needed for sagemath#36228), thus avoiding conflicts with sagemath#35095 (see also sagemath#36524 (comment)) <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [ ] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36666 Reported by: Matthias Köppe Reviewer(s): David Coudert, John H. Palmieri
2 parents 2051800 + b2222c3 commit a45062c

Some content is hidden

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

48 files changed

+170
-170
lines changed

src/sage/algebras/quatalg/quaternion_algebra_cython.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ from sage.matrix.matrix_space import MatrixSpace
3535
from sage.matrix.matrix_integer_dense cimport Matrix_integer_dense
3636
from sage.matrix.matrix_rational_dense cimport Matrix_rational_dense
3737

38-
from .quaternion_algebra_element cimport QuaternionAlgebraElement_rational_field
38+
from sage.algebras.quatalg.quaternion_algebra_element cimport QuaternionAlgebraElement_rational_field
3939

4040
from sage.libs.gmp.mpz cimport mpz_t, mpz_lcm, mpz_init, mpz_set, mpz_clear, mpz_init_set, mpz_mul, mpz_fdiv_q, mpz_cmp_si
4141

src/sage/categories/action.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ cdef class Action(Functor):
9191
:class:`Action` itself, but other classes may use it
9292
"""
9393
def __init__(self, G, S, is_left=True, op=None):
94-
from .groupoid import Groupoid
94+
from sage.categories.groupoid import Groupoid
9595
Functor.__init__(self, Groupoid(G), category(S))
9696
self.G = G
9797
self.US = ref(S)

src/sage/categories/morphism.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ cdef class CallMorphism(Morphism):
467467
cdef class IdentityMorphism(Morphism):
468468

469469
def __init__(self, parent):
470-
from .homset import Homset, Hom
470+
from sage.categories.homset import Homset, Hom
471471
if not isinstance(parent, Homset):
472472
parent = Hom(parent, parent)
473473
Morphism.__init__(self, parent)

src/sage/cpython/getattr.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Variants of getattr()
44

55
from cpython.object cimport PyObject, PyTypeObject, Py_TYPE, descrgetfunc
66

7-
from .string cimport bytes_to_str
7+
from sage.cpython.string cimport bytes_to_str
88

99
cdef extern from "Python.h":
1010
r"""

src/sage/cpython/wrapperdescr.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Pure Python classes have normal methods, not slot wrappers::
3030
# https://www.gnu.org/licenses/
3131
# ****************************************************************************
3232

33-
from .string import bytes_to_str
33+
from sage.cpython.string import bytes_to_str
3434

3535

3636
def wrapperdescr_call(slotwrapper, self, *args, **kwds):

src/sage/misc/cachefunc.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .function_mangling cimport ArgumentFixer
1+
from sage.misc.function_mangling cimport ArgumentFixer
22

33
cpdef dict_key(o) noexcept
44
cpdef cache_key(o) noexcept

src/sage/misc/lazy_import.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ import os
6666
import pickle
6767
from warnings import warn
6868
import inspect
69-
from . import sageinspect
69+
from sage.misc import sageinspect
7070

7171

7272
# LazyImport.__repr__ uses try... except FeatureNotPresentError.
@@ -1137,7 +1137,7 @@ def save_cache_file():
11371137
sage: sage.misc.lazy_import.save_cache_file()
11381138
"""
11391139
from sage.misc.temporary_file import atomic_write
1140-
from .lazy_import_cache import get_cache_file
1140+
from sage.misc.lazy_import_cache import get_cache_file
11411141

11421142
global star_imports
11431143
if star_imports is None:
@@ -1180,7 +1180,7 @@ def get_star_imports(module_name):
11801180
"""
11811181
global star_imports
11821182
if star_imports is None:
1183-
from .lazy_import_cache import get_cache_file
1183+
from sage.misc.lazy_import_cache import get_cache_file
11841184
star_imports = {}
11851185
try:
11861186
with open(get_cache_file(), "rb") as cache_file:

src/sage/misc/persist.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import bz2
4242
comp = zlib
4343
comp_other = bz2
4444

45-
from .sage_unittest import TestSuite
45+
from sage.misc.sage_unittest import TestSuite
4646

4747

4848
# We define two global dictionaries `already_pickled` and
@@ -1237,7 +1237,7 @@ def db(name):
12371237
12381238
The database directory is ``$HOME/.sage/db``.
12391239
"""
1240-
from .misc import SAGE_DB
1240+
from sage.misc.misc import SAGE_DB
12411241
return load('%s/%s'%(SAGE_DB,name))
12421242
12431243
@@ -1250,5 +1250,5 @@ def db_save(x, name=None):
12501250
try:
12511251
x.db(name)
12521252
except AttributeError:
1253-
from .misc import SAGE_DB
1253+
from sage.misc.misc import SAGE_DB
12541254
save(x, '%s/%s'%(SAGE_DB,name))

src/sage/misc/sage_timeit_class.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The ``timeit`` command
66
This uses the function :func:`~sage.misc.sage_timeit.sage_timeit`.
77
"""
88

9-
from . import sage_timeit
9+
from sage.misc import sage_timeit
1010

1111

1212
class SageTimeit:

src/sage/modular/modsym/heilbronn.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ cdef extern from "<math.h>":
3434
float roundf(float x)
3535

3636
cimport sage.modular.modsym.p1list as p1list
37-
from . import p1list
37+
from sage.modular.modsym import p1list
3838
cdef p1list.export export
3939
export = p1list.export()
4040

41-
from .apply cimport Apply
41+
from sage.modular.modsym.apply cimport Apply
4242
cdef Apply PolyApply= Apply()
4343

4444
from sage.matrix.matrix_rational_dense cimport Matrix_rational_dense

src/sage/modular/pollack_stevens/dist.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ from sage.rings.infinity import Infinity
4444

4545
#from sage.libs.flint.ulong_extras cimport *
4646

47-
from .sigma0 import Sigma0
47+
from sage.modular.pollack_stevens.sigma0 import Sigma0
4848

4949
cdef long overflow = 1 << (4 * sizeof(long) - 1)
5050
cdef long underflow = -overflow

src/sage/rings/complex_double.pyx

+16-16
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ cdef class ComplexDoubleField_class(sage.rings.abc.ComplexDoubleField):
213213
sage: CDF.characteristic()
214214
0
215215
"""
216-
from .integer import Integer
216+
from sage.rings.integer import Integer
217217
return Integer(0)
218218

219219
def random_element(self, double xmin=-1, double xmax=1, double ymin=-1, double ymax=1):
@@ -351,7 +351,7 @@ cdef class ComplexDoubleField_class(sage.rings.abc.ComplexDoubleField):
351351
sage: CDF((1,2)) # indirect doctest
352352
1.0 + 2.0*I
353353
"""
354-
from . import complex_mpfr
354+
from sage.rings import complex_mpfr
355355
if isinstance(x, ComplexDoubleElement):
356356
return x
357357
elif isinstance(x, tuple):
@@ -417,10 +417,10 @@ cdef class ComplexDoubleField_class(sage.rings.abc.ComplexDoubleField):
417417
"""
418418
if S is int or S is float:
419419
return FloatToCDF(S)
420-
from .rational_field import QQ
421-
from .real_lazy import RLF
422-
from .real_mpfr import RR
423-
from .cc import CC
420+
from sage.rings.rational_field import QQ
421+
from sage.rings.real_lazy import RLF
422+
from sage.rings.real_mpfr import RR
423+
from sage.rings.cc import CC
424424

425425
if S is ZZ or S is QQ or S is RDF or S is RLF:
426426
return FloatToCDF(S)
@@ -502,7 +502,7 @@ cdef class ComplexDoubleField_class(sage.rings.abc.ComplexDoubleField):
502502
if prec == 53:
503503
return self
504504
else:
505-
from .complex_mpfr import ComplexField
505+
from sage.rings.complex_mpfr import ComplexField
506506
return ComplexField(prec)
507507

508508

@@ -621,7 +621,7 @@ cdef class ComplexDoubleField_class(sage.rings.abc.ComplexDoubleField):
621621
...
622622
ValueError: n must be a positive integer
623623
"""
624-
from .integer import Integer
624+
from sage.rings.integer import Integer
625625
try:
626626
n = Integer(n)
627627
except TypeError:
@@ -968,7 +968,7 @@ cdef class ComplexDoubleElement(FieldElement):
968968
True
969969
"""
970970
# Sending to another computer algebra system is slow anyway, right?
971-
from .complex_mpfr import ComplexField
971+
from sage.rings.complex_mpfr import ComplexField
972972
return ComplexField()(self)._interface_init_(I)
973973

974974
def _mathematica_init_(self):
@@ -980,7 +980,7 @@ cdef class ComplexDoubleElement(FieldElement):
980980
sage: mathematica(CDF(1e-25, 1e25)) # optional - mathematica
981981
1.*^-25 + 1.*^25*I
982982
"""
983-
from .complex_mpfr import ComplexField
983+
from sage.rings.complex_mpfr import ComplexField
984984
return ComplexField()(self)._mathematica_init_()
985985

986986
def _maxima_init_(self, I=None):
@@ -995,7 +995,7 @@ cdef class ComplexDoubleElement(FieldElement):
995995
sage: CDF(.5 + I)._maxima_init_() # needs sage.symbolic
996996
'0.50000000000000000 + 1.0000000000000000*%i'
997997
"""
998-
from .complex_mpfr import ComplexField
998+
from sage.rings.complex_mpfr import ComplexField
999999
return ComplexField()(self)._maxima_init_(I)
10001000

10011001
def _sympy_(self):
@@ -1097,7 +1097,7 @@ cdef class ComplexDoubleElement(FieldElement):
10971097
sage: format(CDF(0, 0), '+#.4')
10981098
'+0.000'
10991099
"""
1100-
from .complex_mpfr import _format_complex_number
1100+
from sage.rings.complex_mpfr import _format_complex_number
11011101
return _format_complex_number(GSL_REAL(self._complex),
11021102
GSL_IMAG(self._complex),
11031103
format_spec)
@@ -2382,12 +2382,12 @@ cdef class ComplexDoubleElement(FieldElement):
23822382
"""
23832383
if not GSL_IMAG(self._complex):
23842384
if GSL_REAL(self._complex) == 0:
2385-
from .infinity import unsigned_infinity
2385+
from sage.rings.infinity import unsigned_infinity
23862386
return unsigned_infinity
23872387
try:
2388-
from .integer import Integer
2388+
from sage.rings.integer import Integer
23892389
if Integer(GSL_REAL(self._complex)) < 0:
2390-
from .cc import CC
2390+
from sage.rings.cc import CC
23912391
return CC(self).gamma()
23922392
except TypeError:
23932393
pass
@@ -2429,7 +2429,7 @@ cdef class ComplexDoubleElement(FieldElement):
24292429
Infinity
24302430
"""
24312431
if GSL_REAL(self._complex) == 1 and GSL_IMAG(self._complex) == 0:
2432-
from .infinity import unsigned_infinity
2432+
from sage.rings.infinity import unsigned_infinity
24332433
return unsigned_infinity
24342434

24352435
global complex_double_element_zeta

src/sage/rings/complex_interval.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1914,7 +1914,7 @@ cdef class ComplexIntervalFieldElement(FieldElement):
19141914
0.500000000000000? + 3.39927010637040?*I
19151915
"""
19161916
if not self:
1917-
from .real_mpfi import RIF
1917+
from sage.rings.real_mpfi import RIF
19181918
return RIF(0).log()
19191919
re = abs(self).log()
19201920
im = self.argument()
@@ -2291,6 +2291,6 @@ def create_ComplexIntervalFieldElement(s_real, s_imag=None, int pad=0, min_prec=
22912291
#else:
22922292
# bits = max(int(math.log(base,2)*len(s_imag)),int(math.log(base,2)*len(s_imag)))
22932293

2294-
from .complex_interval_field import ComplexIntervalField
2294+
from sage.rings.complex_interval_field import ComplexIntervalField
22952295
C = ComplexIntervalField(prec=max(bits+pad, min_prec))
22962296
return ComplexIntervalFieldElement(C, s_real, s_imag)

src/sage/rings/complex_mpc.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ def late_import():
105105
import sage.rings.qqbar
106106
AA = sage.rings.qqbar.AA
107107
QQbar = sage.rings.qqbar.QQbar
108-
from .real_lazy import CLF, RLF
109-
from .complex_double import CDF
108+
from sage.rings.real_lazy import CLF, RLF
109+
from sage.rings.complex_double import CDF
110110

111111
_mpfr_rounding_modes = ['RNDN', 'RNDZ', 'RNDU', 'RNDD']
112112

src/sage/rings/complex_mpfr.pyx

+4-4
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ def late_import():
102102
QQbar = sage.rings.qqbar.QQbar
103103
import sage.symbolic.ring
104104
SR = sage.symbolic.ring.SR
105-
from .real_lazy import CLF, RLF
106-
from .complex_double import CDF
105+
from sage.rings.real_lazy import CLF, RLF
106+
from sage.rings.complex_double import CDF
107107

108108
cdef object numpy_complex_interface = {'typestr': '=c16'}
109109
cdef object numpy_object_interface = {'typestr': '|O'}
@@ -372,7 +372,7 @@ class ComplexField_class(sage.rings.abc.ComplexField):
372372
try:
373373
return self.__real_field
374374
except AttributeError:
375-
from .real_mpfr import RealField
375+
from sage.rings.real_mpfr import RealField
376376
self.__real_field = RealField(self._prec)
377377
return self.__real_field
378378

@@ -2931,7 +2931,7 @@ cdef class ComplexNumber(sage.structure.element.FieldElement):
29312931
if base is None:
29322932
return ComplexNumber(self._parent, rho.log(), theta)
29332933
else:
2934-
from .real_mpfr import RealField
2934+
from sage.rings.real_mpfr import RealField
29352935
return ComplexNumber(self._parent, rho.log()/RealNumber(RealField(self.prec()),base).log(), theta/RealNumber(RealField(self.prec()),base).log())
29362936

29372937
def additive_order(self):

src/sage/rings/finite_rings/finite_field_base.pyx

+6-6
Original file line numberDiff line numberDiff line change
@@ -1045,7 +1045,7 @@ cdef class FiniteField(Field):
10451045
pass
10461046

10471047
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
1048-
from .finite_field_constructor import GF
1048+
from sage.rings.finite_rings.finite_field_constructor import GF
10491049
R = PolynomialRing(GF(self.characteristic()), 'x')
10501050
self._modulus = R((-1,1)) # Polynomial x - 1
10511051
return self._modulus
@@ -1288,7 +1288,7 @@ cdef class FiniteField(Field):
12881288
inclusion_map = self.coerce_map_from(base)
12891289

12901290
from sage.matrix.constructor import matrix
1291-
from .maps_finite_field import (
1291+
from sage.rings.finite_rings.maps_finite_field import (
12921292
MorphismVectorSpaceToFiniteField, MorphismFiniteFieldToVectorSpace)
12931293

12941294
E = self
@@ -1379,7 +1379,7 @@ cdef class FiniteField(Field):
13791379
if isinstance(R, FiniteField):
13801380
if R is self:
13811381
return True
1382-
from .residue_field import ResidueField_generic
1382+
from sage.rings.finite_rings.residue_field import ResidueField_generic
13831383
if isinstance(R, ResidueField_generic):
13841384
return False
13851385
if R.characteristic() == self.characteristic():
@@ -1543,7 +1543,7 @@ cdef class FiniteField(Field):
15431543
sage: L(u).minpoly() == u.minpoly()
15441544
True
15451545
"""
1546-
from .finite_field_constructor import GF
1546+
from sage.rings.finite_rings.finite_field_constructor import GF
15471547
from sage.rings.polynomial.polynomial_element import Polynomial
15481548
from sage.rings.integer import Integer
15491549
if name is None and names is not None:
@@ -1719,7 +1719,7 @@ cdef class FiniteField(Field):
17191719
sage: GF(3^8, 'a').subfield(4)
17201720
Finite Field in a4 of size 3^4
17211721
"""
1722-
from .finite_field_constructor import GF
1722+
from sage.rings.finite_rings.finite_field_constructor import GF
17231723
p = self.characteristic()
17241724
n = self.degree()
17251725
if not n % degree == 0:
@@ -1926,7 +1926,7 @@ cdef class FiniteField(Field):
19261926
sage: GF(next_prime(2^16, 2), 'a').is_conway()
19271927
False
19281928
"""
1929-
from .conway_polynomials import conway_polynomial, exists_conway_polynomial
1929+
from sage.rings.finite_rings.conway_polynomials import conway_polynomial, exists_conway_polynomial
19301930
p = self.characteristic()
19311931
n = self.degree()
19321932
return (exists_conway_polynomial(p, n)

src/sage/rings/finite_rings/hom_finite_field.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ cdef class FrobeniusEndomorphism_finite_field(FrobeniusEndomorphism_generic):
763763
"""
764764
if self._degree_fixed == 1:
765765
k = FiniteField(self.domain().characteristic())
766-
from .hom_prime_finite_field import FiniteFieldHomomorphism_prime
766+
from sage.rings.finite_rings.hom_prime_finite_field import FiniteFieldHomomorphism_prime
767767
f = FiniteFieldHomomorphism_prime(Hom(k, self.domain()))
768768
else:
769769
k = FiniteField(self.domain().characteristic()**self._degree_fixed,

0 commit comments

Comments
 (0)