#14217: basic iteration functionality for affine and projective morphisms
----------------------------------+-----------------------------------------
   Reporter:  bhutz               |             Owner:  bhutz                   
               
       Type:  enhancement         |            Status:  new                     
               
   Priority:  major               |         Milestone:  sage-5.8                
               
  Component:  algebraic geometry  |          Keywords:  iteration, dynamics, 
projective, affine
Work issues:                      |   Report Upstream:  N/A                     
               
  Reviewers:                      |           Authors:  Ben Hutz                
               
  Merged in:                      |      Dependencies:  13130                   
               
   Stopgaps:                      |  
----------------------------------+-----------------------------------------
 This patch implements most of the initial dynamics functionality problems
 proposed at the 2012 ICERM semester in Complex and Arithmetic dynamics.
 There are two more patches (not yet open) that follow this one that will
 complete this functionality.

 Building on Trace #13130

  * finishes dividing affine/projective points/polynomial morphisms into
 ring/field/finite_field classes.
  * implements the following functions

 Affine_space:

  * dimension : returns the dimension of the space
  * change_ring: changes the base ring of the space

 Affine_polynomial_morphism

  * homogenize: using the embedding An into Pn
  * dynatomic_polynomial: related to preperoidic points, see function
 description for details
  * nth_iterate: determine the nth iterate of the point
  * nth_iterate_map: determine nth iterate of the map
  * orbit: determine a list of points in the orbit of P by f

 for finite fields

  * cyclegraph: the Digraph of orbits over the finite field

 Affine point morphism: finite fields

  * _hash_ : hash value of the point
  * orbit_structure: determine the period and preperiod of P by f

 Projective space:

  * change_ring: change the base ring of the projective space
  * base_ring: return the base_ring of the projective space
  * coordinate_ring: return the coordinate ring of the projective space

 Projective_polynomial:

  * change_ring: change the base ring of the morphism
  * base_ring: return the base_ring of the morphism
  * dynatomic_polynomial: related to preperoidic points, see function
 description for details
  * nth_iterate: determine the nth iterate of the point
  * nth_iterate_map: determine the map
  * orbit: determine a list of points in the orbit of P by f
  * degree: return the degree of the morphism
  * dehomogenize: dehomogenize to the appropriate affine space
  * is_morphism: determine the coordinate functions of f have any common
 zeros
  * resultant: for maps on P1, determines the resultant of f[0],f[1]
  * primes_of_bad_reduction: determines primes of bad reduction
  * conjugate: determine the conjugate morphism by the given matrix

 for finite fields

  * orbit_structure: determine the period and preperiod of P by f
  * cyclegraph: the Digraph of orbits over the finite field

 projective point morphism

  * dehomogenize: dehomogenize the point to the appropriate affine space
  * normalize_coordinates: clear any common factors of coordinates
  * clear_denominators: scale so that each coordinate is in the ring (of
 the base_ring)

 for finite fields

  * _hash_: determine the hash value of a point

 Functions that take both maps and points as input are callable in member
 functions of either class, but duplicated in the lists above

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14217>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to