Opened 3 years ago
Closed 3 years ago
#19557 closed enhancement (fixed)
Basic iteration functionality for products of projective spaces
Reported by:  gjorgenson  Owned by:  

Priority:  minor  Milestone:  sage6.10 
Component:  algebraic geometry  Keywords:  
Cc:  bhutz  Merged in:  
Authors:  Grayson Jorgenson  Reviewers:  Ben Hutz 
Report Upstream:  N/A  Work issues:  
Branch:  fded196 (Commits)  Commit:  fded1967493b696ef91b9742b697f380700a2ae0 
Dependencies:  Stopgaps: 
Description
Implement nth_iterate and orbit functions for morphisms/points of products of projective spaces. Also implement nth_iterate_map for morphisms.
Change History (15)
comment:1 Changed 3 years ago by
 Branch set to u/gjorgenson/ticket/19557
comment:2 Changed 3 years ago by
 Commit set to 3831d5a78324ade0aca890d8557a1a5c149b2819
comment:3 Changed 3 years ago by
 Commit changed from 3831d5a78324ade0aca890d8557a1a5c149b2819 to 920d9970db50e891151484574748b3381aa44f0a
Branch pushed to git repo; I updated commit sha1. New commits:
920d997  19557: added example and fixed some spacing

comment:4 Changed 3 years ago by
 Status changed from new to needs_review
comment:5 Changed 3 years ago by
 Status changed from needs_review to needs_work
Need to fix the merge issue.
From looking through the commits I see a couple things to fix:
in nth_iterate: these checks are done in call with better coercion, so not needed here.
if self.codomain()!=f.domain():
raise TypeError?("Point is not defined over domain of function")
use .is_endomorphism() instead:
if f.domain() != f.codomain():
raise TypeError?("Domain and Codomain of function not equal")
in nth_iterate_map use is_endomorphism() check
comment:6 Changed 3 years ago by
 Commit changed from 920d9970db50e891151484574748b3381aa44f0a to 559811d909703ad0ca2ce678cad48e2f01aee691
comment:7 Changed 3 years ago by
 Commit changed from 559811d909703ad0ca2ce678cad48e2f01aee691 to 37c4e690fb3d452573604bcac62a62f8ca32114c
comment:8 Changed 3 years ago by
 Status changed from needs_work to needs_review
comment:9 Changed 3 years ago by
 Status changed from needs_review to needs_work
That all checks out fine. Just one thing: I was wrong about call doing the coercion checking. That is true for projective spaces, but not for products. I think you should put that check back in as some weird behavior can occur.
Go ahead and put that back in, then I'll mark this positive.
comment:10 Changed 3 years ago by
 Commit changed from 37c4e690fb3d452573604bcac62a62f8ca32114c to fded1967493b696ef91b9742b697f380700a2ae0
Branch pushed to git repo; I updated commit sha1. New commits:
fded196  19557: added check back in

comment:11 Changed 3 years ago by
 Status changed from needs_work to needs_review
Alright, I added the check into orbit as well.
comment:12 Changed 3 years ago by
 Status changed from needs_review to positive_review
comment:14 Changed 3 years ago by
 Reviewers set to Ben Hutz
 Status changed from needs_work to positive_review
comment:15 Changed 3 years ago by
 Branch changed from u/gjorgenson/ticket/19557 to fded1967493b696ef91b9742b697f380700a2ae0
 Resolution set to fixed
 Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. New commits:
19557: implementation of the iteration functionality