Opened 6 years ago
Closed 6 years ago
#21097 closed defect (fixed)
incorrect parent for dynatomic polynomial
Reported by:  Michelle Manes  Owned by:  

Priority:  minor  Milestone:  sage7.4 
Component:  algebraic geometry  Keywords:  
Cc:  Merged in:  
Authors:  Michelle Manes, Ben Hutz  Reviewers:  Patrick Ingram, Michelle Manes 
Report Upstream:  N/A  Work issues:  
Branch:  93b2e22 (Commits, GitHub, GitLab)  Commit:  93b2e226ae50ff61f5592b26abdbb19898da3682 
Dependencies:  Stopgaps: 
Description
dynatomic_polynomial returns polynomial over integers (instead of rationals) when called on rational function over QQ for fixed point polynomial
P.<x, y> = ProjectiveSpace(QQ, 1) H = End(P) f = H([x^3y^3*2, y^3]) dyna = f.dynatomic_polynomial([0,1]) dyna.parent()
Change History (11)
comment:1 Changed 6 years ago by
Branch:  → u/mmanes/incorrect_parent_for_dynatomic_polynomial 

comment:2 Changed 6 years ago by
Authors:  → Michelle Manes 

Commit:  → 36ff748509afe07b949c0ba69cf378204867b49c 
Status:  new → needs_review 
comment:3 Changed 6 years ago by
Status:  needs_review → needs_work 

The 0th dynatomic polynomial should be returning as 0, not the same as dynatomic_polynomial(1)
P.<x, y> = ProjectiveSpace(QQ, 1) H = End(P) f = H([x^2+5*y^2, y^2]) print f.dynatomic_polynomial([0, 0]) print f.dynatomic_polynomial(0)
comment:4 Changed 6 years ago by
Branch:  u/mmanes/incorrect_parent_for_dynatomic_polynomial → u/bhutz/incorrect_parent_for_dynatomic_polynomial 

comment:5 Changed 6 years ago by
Authors:  Michelle Manes → Michelle Manes, Ben Hutz 

Commit:  36ff748509afe07b949c0ba69cf378204867b49c → 2e7dd9a4df1003fcaa8acdebb2e728871142a96a 
Reviewers:  → Patrick Ingram 
Status:  needs_work → needs_review 
added missing case and a slight optimization of code
New commits:
2e7dd9a  21097: added case and slight code optimization

comment:6 Changed 6 years ago by
Reviewers:  Patrick Ingram → Patrick Ingram, Michelle Manes 

Status:  needs_review → needs_work 
In the cases of dynatomic_polynomial([0,0]) and dynatomic_polynomial(0), it returns the number 0. Should always return a polynomial, so should be the zero polynomial.
In documentation: We have
R.<x,y> = PolynomialRing(QQ) S = R.quo(R.ideal(y^2x+1)) P.<u,v> = ProjectiveSpace(FractionField(S),1) H = End(P) f = H([u^2 + S(x^2)*v^2, v^2]) f.dynatomic_polynomial([1,1])
In this case,
f.dynatomic_polynomial([1,1]).parent()
also returns Symbolic Ring.
Might be good to move all of the "Symbolic Ring" examples to the end. A little confusing as currently formatted.
comment:7 Changed 6 years ago by
Commit:  2e7dd9a4df1003fcaa8acdebb2e728871142a96a → 93b2e226ae50ff61f5592b26abdbb19898da3682 

comment:8 Changed 6 years ago by
Status:  needs_work → needs_review 

comment:9 Changed 6 years ago by
Status:  needs_review → positive_review 

comment:10 Changed 6 years ago by
Milestone:  sage7.3 → sage7.4 

comment:11 Changed 6 years ago by
Branch:  u/bhutz/incorrect_parent_for_dynatomic_polynomial → 93b2e226ae50ff61f5592b26abdbb19898da3682 

Resolution:  → fixed 
Status:  positive_review → closed 
New commits:
21097: fix incorrect parent for dynatomic polynomial