1165
Comment:
|
14170
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Arithmetic and Complex Dyanmics = | = Arithmetic and Complex Dynamics = |
Line 7: | Line 7: |
* to do | * [[http://www.nsf.gov/awardsearch/showAward?AWD_ID=1415294 | NSF DMS-1415294]] - Computational Tools for Dynamical Systems 9/2014 - 8/2017 (P.I.: Hutz) |
Line 11: | Line 11: |
* [[http://wiki.sagemath.org/sagedaysACD | Sage Days]] Held Sage Days 55 (November 7-10, 2013) at Florida Institute of Technology. |
|
Line 15: | Line 17: |
* [[http://groups.google.com/group/sage-dynamics | sage-dynamics]]: Google group (web forum + mailing list) | * [[http://groups.google.com/group/sage-dynamics | sage-dynamics]]: Google group * anyone may subscribe by sending an e-mail to: sage-dynamics+subscribe at googlegroups dot com |
Line 19: | Line 23: |
* to do | * [[http://www.sagemath.org/doc/developer/ | Sage developer's guide]] |
Line 25: | Line 29: |
* [[https://wfs.gc.cuny.edu/BHutz/www/ProjSpace.html | ProjSpace notebook]] - Significant functionality for Sage 4.8 (and some earlier versions) * [[http://trac.sagemath.org/sage_trac/ticket/13130 | Trac #13130 - Needs Review]]: Basic architecture change * to do - move the rest of the 'ProjSpace' project directly into sage |
The arithmetic and complex dynamics functionality in Sage is currently in its infancy. A significant amount of functionality was developped at the ICERM semester in Spring 2012 and now we have started the process of moving this into Sage through a series of patches (trac tickets). Most of that functionality is current in experimental for that been greatly expanded upon at [[http://wiki.sagemath.org/sagedaysACD | Sage Days 55]]. Much remains to be done. Below you will find a road map of what has been implemented, what is in the process of being implemented, and ideas for future functionality. == In Progress == * ([[http://trac.sagemath.org/ticket/18374|#18374]]) needs-review: Inconsistency in dimension of total ideals. - Miguel Marco * ([[http://trac.sagemath.org/ticket/18281|#18281]]) needs-review: implement critical point functionality including is_pcf for projective morphisms - Ben Hutz * ([[http://trac.sagemath.org/ticket/17282|#17282]]) needs-review: Implementing Wehler K3 Surfaces - Joao Faria * ([[http://trac.sagemath.org/ticket/15378|#15378]]) Composition of Morphisms - Vincent Delecroix, Donald Richardson, Soli Vishkautsan * Eigenvalues (see [[http://trac.sagemath.org/ticket/14990|#14990]] and [[http://trac.sagemath.org/ticket/15390|#15390]]) for an implementation of the algebraic closure of finite field) - Vincent Delecroix , Ben Hutz * PostCriticallyFiniteMorphisms - Holly Krieger, Adam Towsley, Vincent Delecroix, Ben Hutz, Patrick Ingram == Wishlist == ||||||||'''Wishlist'''|| || Area|| Description || Difficulty || || <colspan=2> Products of Projective Spaces || Implement dynamical systems functionality such as iteration, orbits || Many of these will be easy, some will probably be hard || || || Implement rational points on subschemes || Easy || || Polynomials || implement is_polynomial(). In dimension 1, this is the existence of a totally ramified fixed point. It would also be nice to determine the conjugation to move that fixed point to ifnty. || Medium || * implement Algorithm 4 in elements_of_bounded_height for number fields (the one that takes into account precision issues) * Check if for a given algebraic parameter c the map z -> z^2 + c is hyperbolic... and more generally for rational maps of P1 determine the existence (and list) of attracting cycles * is_conjugate() for morphisms and iterator over morphisms of fixed degree up to conjugacy (medium) * cyclegraph() and orbit_structure() to work with Zmod and other finite spaces not just finite fields (medium) * fix all the white space issues in the projective and affine folders (easy) * specific functionality for regular polynomial endomorphisms of P^N (Patrick might start implementing this someday) * rational maps * indeterminancy locus * dynamical degree * periodic and preperiodic points (projective and affine) * potential good and critically good reduction * Very generally, implement a function which determines how to do efficient iteration of functions. For example, when computing the iterate $f^{17}$, it is more efficient to compute $f^2=f\circ f$, then $f^4=f^2\circ f^2$, then $f^8=f^4\circ f^4$, then $f^{16}=f^8\circ f^8$, and then finally $f^{17}=f^{16}\circ f$, than it is to compute $f\circ \cdots \circ f$ directly. (Zieve, ICERM) * Implement a function which takes as input to rational functions $f(x)$ and $g(x)$, and determines whether or not $f^n=g^m$ for some integers $n,m \geq 1$. (Zieve, ICERM) * Implement Thurston's algorithm. More precisely, develop an efficient method to determine if there is a Thurston obstruction. (Epstein, ICERM) * Dynamical Zeta functions * Chebyshev creator (if it doesn't already exist) * moduli space invariants - symmetric functions in multipliers of periodic points, others... * use real interval field for floating point computations (in heights and possibly rational preperiodic point functions) * implement Algorithm 4 for Doyle-Krumm to remove precision dependency on enumeration of number field points * reduced form of endomorphisms - i.e., compute an `SL(2,Z)` transformation that makes the coefficients small. The simplest approach would be to "reduce" the binary form describing the fixed points or (if that's too degenerate) the points of period n for some small n. See [Stoll, Michael; Cremona, John E., On the reduction theory of binary forms. J. Reine Angew. Math. 565 (2003), 79–99.], which is fairly easy to implement and which would be useful to have in sage anyway. * some kind of coersion model: if you have a map defined over QQ should you be able to take the image of a point over CC (i.e. somewhere you have a well defined embedding) without having to `change_ring()`. Something like this works for polynomials. This may or may not be a good idea, but if it can be done in a consistent manner it would improve usability in certain situations. * rational point algorithms on subschemes of products of projective space * preperiodic points function for projective morphisms * PLEASE ADD MORE... == Complete == * --([[http://trac.sagemath.org/ticket/18409|#18409]])-- closed sage 6.8: Dynatomic polynomial bug for fractional coefficients - Ben Hutz * --([[http://trac.sagemath.org/ticket/18399|#18399]])-- closed sage 6.8: projective automorphism group fails for homogenized maps - Ben Hutz * --([[http://trac.sagemath.org/ticket/18279|#18279]])-- closed sage 6.7: implement rational preperiodic points for polynomials over number fields - Ben Hutz * --([[http://trac.sagemath.org/ticket/18008|#18008]])-- closed sage 6.7: Periodic points for projective/affine morphism - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/17855|#17855]])-- closed sage 6.7: create is_preperiodic function for points of projective space - Ben Hutz * --([[http://trac.sagemath.org/ticket/17907|#17907]])-- closed sage 6.6: Random failure in enum_projective_number_field - Ben Hutz * --([[http://trac.sagemath.org/ticket/17729|#17729]])-- closed sage 6.6: Implement Weil restriction for affine schemes/points/morphisms - Ben Hutz * --([[http://trac.sagemath.org/ticket/17762|#17762]])-- closed sage 6.6: Connected component for a rational preperiodic point - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/17323|#17323]])-- closed sage 6.6: Implement "primes_of_bad_reduction" to work over Number Fields - Joao Faria * --([[http://trac.sagemath.org/ticket/17386|#17386]])-- closed sage 6.6: Enumerate points of bounded height in projective/affine space over number fields - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/17326|#17326]])-- closed sage 6.6: Implementing subschemes functionality for projective "is_morphism" - Joao Faria * --([[http://trac.sagemath.org/ticket/17067|#17067]])-- closed sage 6.5: Enabled canonical height for maps of `\PP^N` over number fields - Ben Hutz, Paul Fili * --([[http://trac.sagemath.org/ticket/15393|#15393]])-- closed sage 6.5: FMV Algorithm for automorphism groups - Bianca Thompson, Ben Hutz, Joao Faria * --([[http://trac.sagemath.org/ticket/17082|#17082]])-- closed sage 6.5: Height Difference Bounds over number fields - Joao Faria * --([[http://trac.sagemath.org/ticket/17427|#17427]])-- closed sage 6.5: x==y while hash(x)!=hash(y) with SchemeMorphism_point_projective_field - Ben Hutz * --([[http://trac.sagemath.org/ticket/17535|#17535]])-- closed sage 6.5: Homogenize fails for affine space over function fields - Ben Hutz * --([[http://trac.sagemath.org/ticket/17433|#17433]])-- closed sage 6.5: projective point equality fails for quoteint base rings - Ben Hutz * --([[http://trac.sagemath.org/ticket/17441|#17441]])-- closed sage 6.5: Change ring fails for SchemeMorphism_polynomial defined with fraction field elements - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/17325|#17325]])-- closed sage 6.5: clear denominators for projective points does not always work - Joao Faria * --([[http://trac.sagemath.org/ticket/17450|#17450]])-- closed sage 6.5: Fix category for quotients of polynomial rings - Travis Scrimshaw * --([[http://trac.sagemath.org/ticket/17429|#17429]])-- closed sage 6.5: projective point equality returns false positive for ComplexIntervalField - Ben Hutz * --([[http://trac.sagemath.org/ticket/17324|#17324]])-- closed sage 6.5: implement eq and ne for affine morphisms - Ben Hutz * --([[http://trac.sagemath.org/ticket/15448|#15448]])-- closed sage 6.5: cartesian products of projective space - Ben Hutz * --([[http://trac.sagemath.org/ticket/16986|#16986]])-- closed sage 6.5: Rational Preimages and All Rational Preimages over number fields - Joao Faria * --([[http://trac.sagemath.org/ticket/17118|#17118]])-- closed sage 6.4: Added multiplier computation to affine morphism - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/17001|#17001]])-- closed sage 6.4: Functionality for fast evaluation of affine morphisms - Grayson Jorgeson * --([[http://trac.sagemath.org/ticket/16961|#16961]])-- closed sage 6.4: Fix Dynatomic Polynomials to work over the Complex Numbers - Joao de Faria * --([[http://trac.sagemath.org/ticket/16960|#16960]])-- closed sage 6.4: Orbit Structure for Affine Morphisms - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/16838|#16838]])-- closed sage 6.4: make affine and projective dehomogenize and homogenize work together - Ben Hutz * --([[http://trac.sagemath.org/ticket/16833|#16833]])-- closed sage 6.4: Use Macaulay resultant to compute resultant of projective morphisms - Joao de Faria * --([[http://trac.sagemath.org/ticket/16834|#16834]])-- closed sage 6.4: Change ring fails for affine morphisms - Grayson Jorgenson * --([[http://trac.sagemath.org/ticket/16832|#16832]])-- closed sage 6.4: Can't Coerce projective point to subscheme point - Peter Bruin * --([[http://trac.sagemath.org/ticket/15394|#15394]])-- closed sage 6.4: Lattes map from an Elliptic Curve - Patrick Ingram, Ben Hutz * --([[http://trac.sagemath.org/ticket/15389|#15389]])-- closed sage.6.3: Krumm-Doyle Small Points Algorithm - David Krumm, John Doyle * --([[http://trac.sagemath.org/ticket/15382|#15382]])-- closed sage.6.3: MacCaulay Resultant - Soli Vishkautsan, Hao Chen * --([[http://trac.sagemath.org/ticket/15782|#15782]])-- closed sage.6.3: Increase Performance of Multiplier in Projective Morphism - Dillon Rose and Ben Hutz * --([[http://trac.sagemath.org/ticket/15781|#15781]])-- closed sage.6.3: Increase Performance of possible_periods in Projective Morphism - Dillon Rose and Ben Hutz * --([[http://trac.sagemath.org/ticket/15780|#15780]])-- closed sage.6.3: Increase Performance in Projective Morphism - Dillon Rose * --([[http://trac.sagemath.org/ticket/16168|#16168]])-- closed sage.6.3: use p_iter_fork in projective_morphism - Dillon Rose * --([[http://trac.sagemath.org/ticket/16051|#16051]])-- closed sage.6.3: fast_callable can return ipow with exponents in the base ring - Ben Hutz * --([[http://trac.sagemath.org/ticket/15920|#15920]])-- closed sage.6.2: Parallelize Possible Periods functions for Projective Morphisms - Dillon Rose * --([[http://trac.sagemath.org/ticket/15815|#15815]])-- closed sage.6.2: rational preimages for projective morphisms returns incorrect points - Ben Hutz * --([[http://trac.sagemath.org/ticket/15490|#15490]])-- closed sage.6.2: documentation fix for projective dynatomic polynomials - Weixin Wu * --([[http://trac.sagemath.org/ticket/15396|#15396]])-- closed sage.6.1: Implement .an_element() for ProjectiveSpace - Ben Hutz * --([[http://trac.sagemath.org/ticket/15392|#15392]])-- closed sage.5.13.rc0: Bruin-Molnar Algorithm for minimal models - Brian Stout, Ben Hutz * --([[http://trac.sagemath.org/ticket/15376|#15376]])-- closed sage-5.13.beta4: canonical heights for points with integer fix - Paul Fili * --([[http://trac.sagemath.org/ticket/14219|#14219]])-- closed sage-5.13.beta4:- Rational preperiodic points - Ben Hutz * --([[http://trac.sagemath.org/ticket/15373|#15373]])-- closed sage-5.13.beta3: Global height for integer fix - Paul Fili * --([[http://trac.sagemath.org/ticket/15377|#15377]])-- closed sage-5.13.beta3: improve documentation of normalize_coordinates - Ben Hutz * --([[http://trac.sagemath.org/ticket/14218|#14218]])-- closed sage-5.13.beta2: Height and canonical heights for points and morphisms - Ben Hutz * --([[http://trac.sagemath.org/ticket/14217|#14217]])-- closed sage-5.10.beta3: Basic iteration functionality for projective and affine spaces - new directory structure in schemes - Ben Hutz * --([[http://trac.sagemath.org/ticket/13130|#13130]])-- closed sage-5.8.beta3: Basic architecture changes : support for projective spaces over rings - Ben Hutz |
Arithmetic and Complex Dynamics
The goal of sage-dynamics is to improve the open source mathematical software Sage for computer exploration in dynamical systems and foster code sharing between researchers in this area. This portion focuses on the Arithmetic (Number Theoretic) and Complex aspects of dynamical systems.
News
NSF DMS-1415294 - Computational Tools for Dynamical Systems 9/2014 - 8/2017 (P.I.: Hutz)
Past News
Sage Days Held Sage Days 55 (November 7-10, 2013) at Florida Institute of Technology.
January 30, 2012 - May 4, 2012 ICERM semeser program on Complex and Arithmetic Dynamics
How to participate and contribute
sage-dynamics: Google group
- anyone may subscribe by sending an e-mail to: sage-dynamics+subscribe at googlegroups dot com
Documentation and Tutorials
sage-combinat has many excellent tutorials combinat docs
Road Map
The arithmetic and complex dynamics functionality in Sage is currently in its infancy. A significant amount of functionality was developped at the ICERM semester in Spring 2012 and now we have started the process of moving this into Sage through a series of patches (trac tickets). Most of that functionality is current in experimental for that been greatly expanded upon at Sage Days 55. Much remains to be done. Below you will find a road map of what has been implemented, what is in the process of being implemented, and ideas for future functionality.
In Progress
(#18374) needs-review: Inconsistency in dimension of total ideals. - Miguel Marco
(#18281) needs-review: implement critical point functionality including is_pcf for projective morphisms - Ben Hutz
(#17282) needs-review: Implementing Wehler K3 Surfaces - Joao Faria
(#15378) Composition of Morphisms - Vincent Delecroix, Donald Richardson, Soli Vishkautsan
Eigenvalues (see #14990 and #15390) for an implementation of the algebraic closure of finite field) - Vincent Delecroix , Ben Hutz
PostCriticallyFiniteMorphisms - Holly Krieger, Adam Towsley, Vincent Delecroix, Ben Hutz, Patrick Ingram
Wishlist
Wishlist
Area
Description
Difficulty
<colspan=2> Products of Projective Spaces
Implement dynamical systems functionality such as iteration, orbits
Many of these will be easy, some will probably be hard
Implement rational points on subschemes
Easy
Polynomials
implement is_polynomial(). In dimension 1, this is the existence of a totally ramified fixed point. It would also be nice to determine the conjugation to move that fixed point to ifnty.
Medium
- implement Algorithm 4 in elements_of_bounded_height for number fields (the one that takes into account precision issues)
Check if for a given algebraic parameter c the map z -> z^2 + c is hyperbolic... and more generally for rational maps of P1 determine the existence (and list) of attracting cycles
- is_conjugate() for morphisms and iterator over morphisms of fixed degree up to conjugacy (medium)
- cyclegraph() and orbit_structure() to work with Zmod and other finite spaces not just finite fields (medium)
- fix all the white space issues in the projective and affine folders (easy)
- specific functionality for regular polynomial endomorphisms of P^N (Patrick might start implementing this someday)
- rational maps
- indeterminancy locus
- dynamical degree
- periodic and preperiodic points (projective and affine)
- potential good and critically good reduction
Very generally, implement a function which determines how to do efficient iteration of functions. For example, when computing the iterate f^{17}, it is more efficient to compute f^2=f\circ f, then f^4=f^2\circ f^2, then f^8=f^4\circ f^4, then f^{16}=f^8\circ f^8, and then finally f^{17}=f^{16}\circ f, than it is to compute f\circ \cdots \circ f directly. (Zieve, ICERM)
Implement a function which takes as input to rational functions f(x) and g(x), and determines whether or not f^n=g^m for some integers n,m \geq 1. (Zieve, ICERM)
- Implement Thurston's algorithm. More precisely, develop an efficient method to determine if there is a Thurston obstruction. (Epstein, ICERM)
- Dynamical Zeta functions
- Chebyshev creator (if it doesn't already exist)
- moduli space invariants - symmetric functions in multipliers of periodic points, others...
- use real interval field for floating point computations (in heights and possibly rational preperiodic point functions)
- implement Algorithm 4 for Doyle-Krumm to remove precision dependency on enumeration of number field points
reduced form of endomorphisms - i.e., compute an SL(2,Z) transformation that makes the coefficients small. The simplest approach would be to "reduce" the binary form describing the fixed points or (if that's too degenerate) the points of period n for some small n. See [Stoll, Michael; Cremona, John E., On the reduction theory of binary forms. J. Reine Angew. Math. 565 (2003), 79–99.], which is fairly easy to implement and which would be useful to have in sage anyway.
some kind of coersion model: if you have a map defined over QQ should you be able to take the image of a point over CC (i.e. somewhere you have a well defined embedding) without having to change_ring(). Something like this works for polynomials. This may or may not be a good idea, but if it can be done in a consistent manner it would improve usability in certain situations.
- rational point algorithms on subschemes of products of projective space
- preperiodic points function for projective morphisms
- PLEASE ADD MORE...
Complete
#18409 closed sage 6.8: Dynatomic polynomial bug for fractional coefficients - Ben Hutz
#18399 closed sage 6.8: projective automorphism group fails for homogenized maps - Ben Hutz
#18279 closed sage 6.7: implement rational preperiodic points for polynomials over number fields - Ben Hutz
#18008 closed sage 6.7: Periodic points for projective/affine morphism - Grayson Jorgenson
#17855 closed sage 6.7: create is_preperiodic function for points of projective space - Ben Hutz
#17907 closed sage 6.6: Random failure in enum_projective_number_field - Ben Hutz
#17729 closed sage 6.6: Implement Weil restriction for affine schemes/points/morphisms - Ben Hutz
#17762 closed sage 6.6: Connected component for a rational preperiodic point - Grayson Jorgenson
#17323 closed sage 6.6: Implement "primes_of_bad_reduction" to work over Number Fields - Joao Faria
#17386 closed sage 6.6: Enumerate points of bounded height in projective/affine space over number fields - Grayson Jorgenson
#17326 closed sage 6.6: Implementing subschemes functionality for projective "is_morphism" - Joao Faria
#17067 closed sage 6.5: Enabled canonical height for maps of \PP^N over number fields - Ben Hutz, Paul Fili
#15393 closed sage 6.5: FMV Algorithm for automorphism groups - Bianca Thompson, Ben Hutz, Joao Faria
#17082 closed sage 6.5: Height Difference Bounds over number fields - Joao Faria
#17427 closed sage 6.5: x==y while hash(x)!=hash(y) with SchemeMorphism_point_projective_field - Ben Hutz
#17535 closed sage 6.5: Homogenize fails for affine space over function fields - Ben Hutz
#17433 closed sage 6.5: projective point equality fails for quoteint base rings - Ben Hutz
#17441 closed sage 6.5: Change ring fails for SchemeMorphism_polynomial defined with fraction field elements - Grayson Jorgenson
#17325 closed sage 6.5: clear denominators for projective points does not always work - Joao Faria
#17450 closed sage 6.5: Fix category for quotients of polynomial rings - Travis Scrimshaw
#17429 closed sage 6.5: projective point equality returns false positive for ComplexIntervalField - Ben Hutz
#17324 closed sage 6.5: implement eq and ne for affine morphisms - Ben Hutz
#15448 closed sage 6.5: cartesian products of projective space - Ben Hutz
#16986 closed sage 6.5: Rational Preimages and All Rational Preimages over number fields - Joao Faria
#17118 closed sage 6.4: Added multiplier computation to affine morphism - Grayson Jorgenson
#17001 closed sage 6.4: Functionality for fast evaluation of affine morphisms - Grayson Jorgeson
#16961 closed sage 6.4: Fix Dynatomic Polynomials to work over the Complex Numbers - Joao de Faria
#16960 closed sage 6.4: Orbit Structure for Affine Morphisms - Grayson Jorgenson
#16838 closed sage 6.4: make affine and projective dehomogenize and homogenize work together - Ben Hutz
#16833 closed sage 6.4: Use Macaulay resultant to compute resultant of projective morphisms - Joao de Faria
#16834 closed sage 6.4: Change ring fails for affine morphisms - Grayson Jorgenson
#16832 closed sage 6.4: Can't Coerce projective point to subscheme point - Peter Bruin
#15394 closed sage 6.4: Lattes map from an Elliptic Curve - Patrick Ingram, Ben Hutz
#15389 closed sage.6.3: Krumm-Doyle Small Points Algorithm - David Krumm, John Doyle
#15382 closed sage.6.3: MacCaulay Resultant - Soli Vishkautsan, Hao Chen
#15782 closed sage.6.3: Increase Performance of Multiplier in Projective Morphism - Dillon Rose and Ben Hutz
#15781 closed sage.6.3: Increase Performance of possible_periods in Projective Morphism - Dillon Rose and Ben Hutz
#15780 closed sage.6.3: Increase Performance in Projective Morphism - Dillon Rose
#16168 closed sage.6.3: use p_iter_fork in projective_morphism - Dillon Rose
#16051 closed sage.6.3: fast_callable can return ipow with exponents in the base ring - Ben Hutz
#15920 closed sage.6.2: Parallelize Possible Periods functions for Projective Morphisms - Dillon Rose
#15815 closed sage.6.2: rational preimages for projective morphisms returns incorrect points - Ben Hutz
#15490 closed sage.6.2: documentation fix for projective dynatomic polynomials - Weixin Wu
#15396 closed sage.6.1: Implement .an_element() for ProjectiveSpace - Ben Hutz
#15392 closed sage.5.13.rc0: Bruin-Molnar Algorithm for minimal models - Brian Stout, Ben Hutz
#15376 closed sage-5.13.beta4: canonical heights for points with integer fix - Paul Fili
#14219 closed sage-5.13.beta4:- Rational preperiodic points - Ben Hutz
#15373 closed sage-5.13.beta3: Global height for integer fix - Paul Fili
#15377 closed sage-5.13.beta3: improve documentation of normalize_coordinates - Ben Hutz
#14218 closed sage-5.13.beta2: Height and canonical heights for points and morphisms - Ben Hutz
#14217 closed sage-5.10.beta3: Basic iteration functionality for projective and affine spaces - new directory structure in schemes - Ben Hutz
#13130 closed sage-5.8.beta3: Basic architecture changes : support for projective spaces over rings - Ben Hutz