#14219: rational preperiodic points for projective morphisms
-----------------------------------------+---------------------------------
Reporter: bhutz | Owner: bhutz
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-5.13
Component: algebraic geometry | Resolution:
Keywords: dynamics, sage-days55 | Merged in:
Authors: Ben Hutz | Reviewers: Vincent Delecroix
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #14218 | Stopgaps:
-----------------------------------------+---------------------------------
Comment (by vdelecroix):
To be modified in projective_morphism.py
1) trailing whitespaces in at lines 1663, 1754, 1954, 1971, 1982, 1985,
1992, 1998, 2085, 2106, 2158, 2169, 2221, 2257, 2273, 2317, 2352,
2) why do you use Hom(P,P) instead of End(P) ?
3) problem of upper case/lower case at line 1746 (Periods instead of
periods)
4) prefer (line 1743-1746)
{{{
return sorted(periods)
}}}
instead of
{{{
periods=list(periods)
periods.sort()
return(periods)
}}}
5) in method dynatomic_polynomial the argument is called period but is
refered in the documentation as n. Moreover the specification of arguments
are given too late. In the examples it might be good to check that the
dynatomic polynomial actually gives you solution!
{{{
sage: P.<x,y> = ProjectiveSpace(QQ,1)
sage: H = Hom(P,P)
sage: f = H([x^2+y^2,y^2])
sage: f.dynatomic_polynomial(2)
x^2 + x*y + 2*y^2
sage: K.<c> = NumberField(X^2 + X + 2, 'c')
sage: PP = P.change_ring(K)
sage: ff = f.change_ring(K)
sage: p = PP((c,1))
sage: ff(ff(p)) == p
}}}
Here I get troubles with coercions (this is why I defined PP and ff):
there should be some canonical coercions as there is for polynomials (this
will go in another ticket)
{{{
sage: R.<x> = PolynomialRing(QQ,'x')
sage: K.<c> = NumberField(x^2 + 3*x + 1, 'c')
sage: P = x^6 + 3*x + 19
sage: P(c)
-141*c - 36
}}}
6) The rational for the choice of putting methods in projective_point.py
instead in projective_morphism.py is not at all clear to me. Why orbit,
canonical_heights, etc methods of points and not of morphisms ?
7) docbuild troubles
[schemes ] /opt/sage/local/lib/python2.7/site-
packages/sage/schemes/projective/projective_morphism.py:docstring of
sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space_field.rational_periodic_points:4:
WARNING: Inline literal start-string without end-string.
[schemes ] /opt/sage/local/lib/python2.7/site-
packages/sage/schemes/projective/projective_morphism.py:docstring of
sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space_field.rational_periodic_points:72:
WARNING: Inline strong start-string without end-string.
[schemes ] /opt/sage/local/lib/python2.7/site-
packages/sage/schemes/projective/projective_morphism.py:docstring of
sage.schemes.projective.projective_morphism:7: WARNING: Bullet list ends
without a blank line; unexpected unindent.
[schemes ] /opt/sage/local/lib/python2.7/site-
packages/sage/schemes/projective/projective_morphism.py:docstring of
sage.schemes.projective.projective_morphism.SchemeMorphism_polynomial_projective_space_field.rational_preperiodic_points:4:
WARNING: Inline literal start-string without end-string.
[schemes ] /opt/sage/local/lib/python2.7/site-
packages/sage/schemes/projective/projective_morphism.py:docstring of
sage.schemes.projective.projective_morphism:12: WARNING: Bullet list ends
without a blank line; unexpected unindent.
8) I have serious trouble concerning the green function and canonical
heights of points (I know that this was implemented in another ticket). In
those two methods, there is no care about the fact that there are errors
introduced by the fact that the floating points you are working with are
with fixed precision. In particular, with floating points, the result of
`x+y` is *not* the sum `x` + `y` but only an approximation of it. I really
think that it should be reimplemented either using real interval fields
(it will make it slower but at least you get a proven answer).
--
Ticket URL: <http://trac.sagemath.org/ticket/14219#comment:17>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.