Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sage.{functions,interfaces,symbolic}: Replace imports from sage.*.all for namespace packages #35105

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions src/sage/functions/hypergeometric.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,27 +162,27 @@
# https://www.gnu.org/licenses/
# ****************************************************************************

from functools import reduce

from sage.arith.misc import binomial, factorial, rising_factorial
from sage.calculus.functional import derivative
from sage.functions.error import erf
from sage.functions.gamma import gamma
from sage.functions.hyperbolic import cosh, sinh
from sage.functions.log import exp, log
from sage.functions.other import sqrt, real_part
from sage.libs.mpmath import utils as mpmath_utils
from sage.misc.latex import latex
from sage.misc.misc_c import prod
from sage.rings.infinity import Infinity
from sage.rings.integer import Integer
from sage.rings.integer_ring import ZZ
from sage.rings.rational_field import QQ
from sage.rings.infinity import Infinity
from sage.arith.all import binomial, rising_factorial, factorial
from sage.structure.element import get_coercion_model
from sage.symbolic.constants import pi
from sage.symbolic.expression import Expression
from sage.symbolic.function import BuiltinFunction
from sage.symbolic.ring import SR
from sage.structure.element import get_coercion_model
from sage.misc.latex import latex
from sage.misc.misc_c import prod
from sage.libs.mpmath import utils as mpmath_utils
from sage.symbolic.expression import Expression
from sage.calculus.functional import derivative
from functools import reduce

from .gamma import gamma
from .other import sqrt, real_part
from .log import exp, log
from .hyperbolic import cosh, sinh
from .error import erf


def rational_param_as_tuple(x):
Expand Down
15 changes: 11 additions & 4 deletions src/sage/functions/piecewise.py
Original file line number Diff line number Diff line change
Expand Up @@ -1089,7 +1089,9 @@ def laplace(self, parameters, variable, x='x', s='t'):
sage: f.laplace(t,s)
(s + 1)*e^(-s)/s^2 + 2*e^(-s)/s - 1/s^2
"""
from sage.all import assume, exp, forget
from sage.symbolic.assumptions import assume, forget
from sage.functions.log import exp

x = SR.var(x)
s = SR.var(s)
assume(s>0)
Expand Down Expand Up @@ -1180,7 +1182,8 @@ def fourier_series_cosine_coefficient(self, parameters,
-3/5/pi

"""
from sage.all import cos, pi
from sage.functions.trig import cos
from sage.symbolic.constants import pi
L0 = (self.domain().sup() - self.domain().inf()) / 2
if not L:
L = L0
Expand Down Expand Up @@ -1270,7 +1273,8 @@ def fourier_series_sine_coefficient(self, parameters, variable,
4/3/pi

"""
from sage.all import sin, pi
from sage.functions.trig import sin
from sage.symbolic.constants import pi
L0 = (self.domain().sup() - self.domain().inf()) / 2
if not L:
L = L0
Expand Down Expand Up @@ -1358,7 +1362,10 @@ def fourier_series_partial_sum(self, parameters, variable, N,
- 4/9*sin(3*pi*x)/pi^2 + 4*sin(pi*x)/pi^2 + 1/4

"""
from sage.all import pi, sin, cos, srange
from sage.symbolic.constants import pi
from sage.functions.trig import cos, sin
from sage.arith.srange import srange

if not L:
L = (self.domain().sup() - self.domain().inf()) / 2
x = self.default_variable()
Expand Down
3 changes: 2 additions & 1 deletion src/sage/interfaces/axiom.py
Original file line number Diff line number Diff line change
Expand Up @@ -836,7 +836,8 @@ def _sage_(self):
return self._sage_domain()

if type == "Float":
from sage.rings.all import RealField, ZZ
from sage.rings.real_mpfr import RealField
from sage.rings.integer_ring import ZZ
prec = max(self.mantissa().length()._sage_(), 53)
R = RealField(prec)
x,e,b = self.unparsed_input_form().lstrip('float(').rstrip(')').split(',')
Expand Down
7 changes: 5 additions & 2 deletions src/sage/interfaces/fricas.py
Original file line number Diff line number Diff line change
Expand Up @@ -1217,7 +1217,9 @@ def _get_sage_type(self, domain):
sage: fricas(0)._get_sage_type(m) # optional - fricas
Univariate Polynomial Ring in y over Univariate Polynomial Ring in x over Algebraic Field
"""
from sage.rings.all import QQbar, RDF, PolynomialRing
from sage.rings.qqbar import QQbar
from sage.rings.real_double import RDF
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.fraction_field import FractionField
from sage.rings.finite_rings.integer_mod_ring import Integers
from sage.rings.finite_rings.finite_field_constructor import FiniteField
Expand Down Expand Up @@ -1730,7 +1732,8 @@ def convert_rootOf(x, y):

ex, _ = FriCASElement._parse_and_eval(fricas_InputForm)
# postprocessing of rootOf
from sage.rings.all import QQbar, PolynomialRing
from sage.rings.qqbar import QQbar
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
while rootOf:
for var, poly in rootOf.items():
pvars = poly.variables()
Expand Down
4 changes: 3 additions & 1 deletion src/sage/interfaces/genus2reduction.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@
# ****************************************************************************

from sage.structure.sage_object import SageObject
from sage.rings.all import ZZ, QQ, PolynomialRing
from sage.rings.integer_ring import ZZ
from sage.rings.rational_field import QQ
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.libs.pari.all import pari

roman_numeral = ["", "I", "II", "III", "IV", "V", "VI", "VII"]
Expand Down
2 changes: 1 addition & 1 deletion src/sage/interfaces/maxima_abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -1846,7 +1846,7 @@ def _matrix_(self, R):
[ 3 3/2 1 3/4]
[ 4 2 4/3 1]
"""
from sage.matrix.all import MatrixSpace
from sage.matrix.matrix_space import MatrixSpace
self._check_valid()
P = self.parent()
nrows = int(P.eval('length(%s)'%self.name()))
Expand Down
4 changes: 2 additions & 2 deletions src/sage/interfaces/octave.py
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ def solve_linear_system(self, A, b):
m = A.nrows()
if m != len(b):
raise ValueError("dimensions of A and b must be compatible")
from sage.matrix.all import MatrixSpace
from sage.matrix.matrix_space import MatrixSpace
from sage.rings.rational_field import QQ
MS = MatrixSpace(QQ,m,1)
b = MS(list(b)) # converted b to a "column vector"
Expand Down Expand Up @@ -707,7 +707,7 @@ def _matrix_(self, R=None):
if self.iscomplex():
w = [[to_complex(x,R) for x in row] for row in w]

from sage.matrix.all import MatrixSpace
from sage.matrix.matrix_space import MatrixSpace
return MatrixSpace(R, nrows, ncols)(w)

def _vector_(self, R=None):
Expand Down
3 changes: 2 additions & 1 deletion src/sage/interfaces/sage0.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@ def __init__(self,
if python:
command = 'python -u'
prompt = re.compile(b'>>> ')
init_code.append('from sage.all import *')
environment = 'sage.all'
tobiasdiez marked this conversation as resolved.
Show resolved Hide resolved
init_code.append(f'from {environment} import *')
else:
command = ' '.join([
'sage-ipython',
Expand Down
2 changes: 1 addition & 1 deletion src/sage/interfaces/scilab.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ def _matrix_(self, R):
[1.00000000000000 2.00000000000000]
[3.00000000000000 4.50000000000000]
"""
from sage.matrix.all import MatrixSpace
from sage.matrix.matrix_space import MatrixSpace
s = str(self).strip()
v = s.split('\n ')
nrows = len(v)
Expand Down
14 changes: 9 additions & 5 deletions src/sage/interfaces/singular.py
Original file line number Diff line number Diff line change
Expand Up @@ -1656,15 +1656,19 @@ def sage_global_ring(self):
br = ZZ
is_extension = False
elif charstr[0] in ['0', 'QQ']:
from sage.all import QQ
from sage.rings.rational_field import QQ
br = QQ
elif charstr[0].startswith('Float'):
from sage.all import RealField, ceil, log
from sage.rings.real_mpfr import RealField
from sage.functions.other import ceil
from sage.misc.functional import log
prec = singular.eval('ringlist(basering)[1][2][1]')
br = RealField(ceil((ZZ(prec)+1)/log(2,10)))
is_extension = False
elif charstr[0]=='complex':
from sage.all import ComplexField, ceil, log
from sage.rings.complex_mpfr import ComplexField
from sage.functions.other import ceil
from sage.misc.functional import log
prec = singular.eval('ringlist(basering)[1][2][1]')
br = ComplexField(ceil((ZZ(prec)+1)/log(2,10)))
is_extension = False
Expand All @@ -1684,7 +1688,7 @@ def sage_global_ring(self):
if is_extension:
minpoly = singular.eval('minpoly')
if minpoly == '0':
from sage.all import Frac
from sage.rings.fraction_field import FractionField as Frac
BR = Frac(br[charstr[1]])
else:
is_short = singular.eval('short')
Expand All @@ -1701,7 +1705,7 @@ def sage_global_ring(self):
# Now, we form the polynomial ring over BR with the given variables,
# using Singular's term order
from sage.rings.polynomial.term_order import termorder_from_singular
from sage.all import PolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
# Meanwhile Singulars quotient rings are also of 'ring' type, not 'qring' as it was in the past.
# To find out if a singular ring is a quotient ring or not checking for ring type does not help
# and instead of that we check if the quotient ring is zero or not:
Expand Down
4 changes: 2 additions & 2 deletions src/sage/interfaces/sympy.py
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ def _sympysage_rf(self):
sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma', piecewise=False)
sage: assert rising_factorial(x,y) == rfxy._sage_()
"""
from sage.arith.all import rising_factorial
from sage.arith.misc import rising_factorial
return rising_factorial(self.args[0]._sage_(), self.args[1]._sage_())

def _sympysage_ff(self):
Expand All @@ -466,7 +466,7 @@ def _sympysage_ff(self):
sage: assert falling_factorial(x,y)._sympy_() == ffxy.rewrite('gamma') # known bug
sage: assert falling_factorial(x,y) == ffxy._sage_()
"""
from sage.arith.all import falling_factorial
from sage.arith.misc import falling_factorial
return falling_factorial(self.args[0]._sage_(), self.args[1]._sage_())

def _sympysage_lgamma(self):
Expand Down
16 changes: 6 additions & 10 deletions src/sage/symbolic/pynac_impl.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -35,30 +35,26 @@ Pynac interface
from cpython cimport *
from libc cimport math

from sage.arith.misc import bernoulli, factorial, GCD as gcd, is_prime
from sage.arith.functions import lcm
from sage.cpython.string cimport str_to_bytes, char_to_str
from sage.ext.stdsage cimport PY_NEW
from sage.libs.gmp.all cimport *
from sage.libs.gsl.types cimport *
from sage.libs.gsl.complex cimport *
from sage.libs.gsl.gamma cimport gsl_sf_lngamma_complex_e
from sage.libs.mpmath import utils as mpmath_utils
from sage.libs.pari.all import pari

from sage.cpython.string cimport str_to_bytes, char_to_str

from sage.arith.all import gcd, lcm, is_prime, factorial, bernoulli

from sage.structure.coerce cimport coercion_model
from sage.structure.element cimport Element, parent
from sage.misc.persist import loads, dumps

from sage.rings.integer_ring import ZZ
from sage.rings.integer cimport Integer, smallInteger
from sage.rings.rational cimport Rational
from sage.rings.real_mpfr import RR, RealField
from sage.rings.rational cimport rational_power_parts
from sage.rings.real_double cimport RealDoubleElement
from sage.rings.cc import CC

from sage.structure.coerce cimport coercion_model
from sage.structure.element cimport Element, parent
from sage.symbolic.function cimport Function


Expand Down Expand Up @@ -2391,7 +2387,7 @@ def register_symbol(obj, conversions, nargs=None):
this can be deduced automatically.

EXAMPLES::

sage: from sage.symbolic.expression import register_symbol as rs
sage: rs(SR(5),{'maxima':'five'})
sage: SR(maxima_calculus('five'))
Expand Down
8 changes: 4 additions & 4 deletions src/sage/symbolic/substitution_map_impl.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,21 @@ cdef class SubstitutionMap(SageObject):
Apply the substitution to a symbolic expression

EXAMPLES::

sage: from sage.symbolic.expression import make_map
sage: subs = make_map({x:x+1})
sage: subs.apply_to(x^2, 0)
(x + 1)^2
"""
return new_Expression_from_GEx(expr._parent,
return new_Expression_from_GEx(expr._parent,
expr._gobj.subs_map(self._gmapobj, options))

def _repr_(self):
"""
Return the string representation

EXAMPLES::

sage: from sage.symbolic.expression import make_map
sage: make_map({x:x+1})
SubsMap
Expand Down Expand Up @@ -94,4 +94,4 @@ cpdef SubstitutionMap make_map(subs_dict):
smap.insert(make_pair((<Expression>k)._gobj,
(<Expression>v)._gobj))
return new_SubstitutionMap_from_GExMap(smap)