Skip to content

Commit cf1a7a5

Browse files
author
Release Manager
committed
Trac #32205: Removing deprecated parameters and methods in projective_ds
Currently there are several old deprecation warnings in dynamical systems on projective space. They are: - deprecation of the keyword embedding in sigma_invariants (4 years old, #23333) - deprecation of rational_periodic_points method (2 years old, #28109) - deprecation of rational_preperiodic_points method (2 years old, #28213) We remove these deprecated methods in this ticket, and make it an error if the deprecated keyword is passed. URL: https://trac.sagemath.org/32205 Reported by: gh-EnderWannabe Ticket author(s): Alexander Galarraga Reviewer(s): Ben Hutz, Matthias Koeppe
2 parents 0574dae + 5123115 commit cf1a7a5

File tree

3 files changed

+9
-142
lines changed

3 files changed

+9
-142
lines changed

build/pkgs/configure/checksums.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=57022fbcc1ba353f3ada0fbfeb42e2a5c99bd9ce
3-
md5=09db6b39541518dd432d682f6062640a
4-
cksum=2893169403
2+
sha1=8761bf411523c8980d9e404ae9c2f5dec8b6d733
3+
md5=57bc67c3d99d2fffa8688745cc101990
4+
cksum=472330691
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0c83a569e849ae7acf86a1de04ff1cc75b92c708
1+
50c7af6955632686157cd8dac2d8d764f6d41fb3

src/sage/dynamics/arithmetic_dynamics/projective_ds.py

Lines changed: 5 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -4931,7 +4931,8 @@ def sigma_invariants(self, n, formal=False, embedding=None, type='point',
49314931
multiplier spectra, which includes the multipliers of all
49324932
periodic points of period ``n``
49334933
4934-
- ``embedding`` -- deprecated in :trac:`23333`
4934+
- ``embedding`` -- (default: ``None``) must be ``None``, passing an embedding
4935+
is no longer supported, see :trac: `32205`.
49354936
49364937
- ``type`` -- (default: ``'point'``) string; either ``'point'``
49374938
or ``'cycle'`` depending on whether you compute with one
@@ -5179,14 +5180,14 @@ def sigma_invariants(self, n, formal=False, embedding=None, type='point',
51795180
for correctly. try setting chow=True and/or deform=True
51805181
"""
51815182
n = ZZ(n)
5183+
5184+
if not embedding is None:
5185+
raise ValueError('do not specify an embedding')
51825186
if n < 1:
51835187
raise ValueError("period must be a positive integer")
51845188
dom = self.domain()
51855189
if not is_ProjectiveSpace(dom):
51865190
raise NotImplementedError("not implemented for subschemes")
5187-
if not embedding is None:
5188-
from sage.misc.superseded import deprecation
5189-
deprecation(23333, "embedding keyword no longer used")
51905191
if self.degree() <= 1:
51915192
raise TypeError("must have degree at least 2")
51925193
if not type in ['point', 'cycle']:
@@ -6397,72 +6398,6 @@ def all_periodic_points(self, **kwds):
63976398
else:
63986399
raise TypeError("base field must be an absolute number field")
63996400

6400-
def rational_periodic_points(self, **kwds):
6401-
r"""
6402-
Determine the set of rational periodic points
6403-
for this dynamical system.
6404-
6405-
The map must be defined over `\QQ` and be an endomorphism of
6406-
projective space. If the map is a polynomial endomorphism of
6407-
`\mathbb{P}^1`, i.e. has a totally ramified fixed point, then
6408-
the base ring can be an absolute number field.
6409-
This is done by passing to the Weil restriction.
6410-
6411-
The default parameter values are typically good choices for
6412-
`\mathbb{P}^1`. If you are having trouble getting a particular
6413-
map to finish, try first computing the possible periods, then
6414-
try various different ``lifting_prime`` values.
6415-
6416-
ALGORITHM:
6417-
6418-
Modulo each prime of good reduction `p` determine the set of
6419-
periodic points modulo `p`. For each cycle modulo `p` compute
6420-
the set of possible periods (`mrp^e`). Take the intersection
6421-
of the list of possible periods modulo several primes of good
6422-
reduction to get a possible list of minimal periods of rational
6423-
periodic points. Take each point modulo `p` associated to each
6424-
of these possible periods and try to lift it to a rational point
6425-
with a combination of `p`-adic approximation and the LLL basis
6426-
reduction algorithm.
6427-
6428-
See [Hutz2015]_.
6429-
6430-
INPUT:
6431-
6432-
kwds:
6433-
6434-
- ``prime_bound`` -- (default: ``[1,20]``) a pair (list or tuple)
6435-
of positive integers that represent the limits of primes to use
6436-
in the reduction step or an integer that represents the upper bound
6437-
6438-
- ``lifting_prime`` -- (default: 23) a prime integer; argument that
6439-
specifies modulo which prime to try and perform the lifting
6440-
6441-
- ``periods`` -- (optional) a list of positive integers that is
6442-
the list of possible periods
6443-
6444-
- ``bad_primes`` -- (optional) a list or tuple of integer primes;
6445-
the primes of bad reduction
6446-
6447-
- ``ncpus`` -- (default: all cpus) number of cpus to use in parallel
6448-
6449-
OUTPUT: a list of rational points in projective space
6450-
6451-
EXAMPLES::
6452-
6453-
sage: R.<x> = QQ[]
6454-
sage: K.<w> = NumberField(x^2-x+1)
6455-
sage: P.<u,v> = ProjectiveSpace(K,1)
6456-
sage: f = DynamicalSystem_projective([u^2 + v^2,v^2])
6457-
sage: sorted(f.rational_periodic_points())
6458-
doctest:warning
6459-
...
6460-
[(-w + 1 : 1), (w : 1), (1 : 0)]
6461-
"""
6462-
from sage.misc.superseded import deprecation
6463-
deprecation(28109, "use sage.dynamics.arithmetic_dynamics.projective_ds.all_periodic_points instead")
6464-
return self.all_periodic_points(**kwds)
6465-
64666401
def all_rational_preimages(self, points):
64676402
r"""
64686403
Given a set of rational points in the domain of this
@@ -6546,74 +6481,6 @@ def all_rational_preimages(self, points):
65466481
preperiodic.add(preimages[i])
65476482
return list(preperiodic)
65486483

6549-
def rational_preperiodic_points(self, **kwds):
6550-
r"""
6551-
Determine the set of rational preperiodic points for
6552-
this dynamical system.
6553-
6554-
The map must be defined over `\QQ` and be an endomorphism of
6555-
projective space. If the map is a polynomial endomorphism of
6556-
`\mathbb{P}^1`, i.e. has a totally ramified fixed point, then
6557-
the base ring can be an absolute number field.
6558-
This is done by passing to the Weil restriction.
6559-
6560-
The default parameter values are typically good choices for
6561-
`\mathbb{P}^1`. If you are having trouble getting a particular
6562-
map to finish, try first computing the possible periods, then
6563-
try various different values for ``lifting_prime``.
6564-
6565-
ALGORITHM:
6566-
6567-
- Determines the list of possible periods.
6568-
6569-
- Determines the rational periodic points from the possible periods.
6570-
6571-
- Determines the rational preperiodic points from the rational
6572-
periodic points by determining rational preimages.
6573-
6574-
INPUT:
6575-
6576-
kwds:
6577-
6578-
- ``prime_bound`` -- (default: ``[1, 20]``) a pair (list or tuple)
6579-
of positive integers that represent the limits of primes to use
6580-
in the reduction step or an integer that represents the upper bound
6581-
6582-
- ``lifting_prime`` -- (default: 23) a prime integer; specifies
6583-
modulo which prime to try and perform the lifting
6584-
6585-
- ``periods`` -- (optional) a list of positive integers that is
6586-
the list of possible periods
6587-
6588-
- ``bad_primes`` -- (optional) a list or tuple of integer primes;
6589-
the primes of bad reduction
6590-
6591-
- ``ncpus`` -- (default: all cpus) number of cpus to use in parallel
6592-
6593-
- ``period_degree_bounds`` -- (default: ``[4,4]``) a pair of positive integers
6594-
(max period, max degree) for which the dynatomic polynomial should be solved
6595-
for when in dimension 1
6596-
6597-
- ``algorithm`` -- (optional) specifies which algorithm to use;
6598-
current options are `dynatomic` and `lifting`; defaults to solving the
6599-
dynatomic for low periods and degrees and lifts for everything else
6600-
6601-
OUTPUT: a list of rational points in projective space
6602-
6603-
EXAMPLES::
6604-
6605-
sage: PS.<x,y> = ProjectiveSpace(1,QQ)
6606-
sage: f = DynamicalSystem_projective([x^2 -y^2, 3*x*y])
6607-
sage: sorted(f.rational_preperiodic_points())
6608-
doctest:warning
6609-
...
6610-
[(-2 : 1), (-1 : 1), (-1/2 : 1), (0 : 1), (1/2 : 1), (1 : 0), (1 : 1),
6611-
(2 : 1)]
6612-
"""
6613-
from sage.misc.superseded import deprecation
6614-
deprecation(28213, "use sage.dynamics.arithmetic_dynamics.projective_ds.all_preperiodic_points instead")
6615-
return self.all_preperiodic_points(**kwds)
6616-
66176484
def all_preperiodic_points(self, **kwds):
66186485
r"""
66196486
Determine the set of rational preperiodic points for

0 commit comments

Comments
 (0)