id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
25249 HyperellipticCurve.change_ring(R) may reduce genus Edgar Costa "At the moment, `change_ring` checks implicitly for smoothness, by creating a new instance of `HyperellipticCurve`, with the defining polynomials is the new ring, in short, it returns:
{{{
HyperellipticCurve(f.change_ring(R), h.change_ring(R), ""%s,%s""%(x,y))
}}}
However, we never really check if we are obtaining a proper base change.
For example, if we take R = GF(p), we can reduce the degree of `f` and `h` and get a smooth model for a hyperelliptic curve of a smaller genus.
For example:
{{{
sage: C = HyperellipticCurve(-6*x^6 - 4*x^5 - 4*x^4 - 5*x^3 - 2*x^2 - x - 1, 1)
....: print C.genus()
....: print C.change_ring(GF(2)).genus()
....:
2
1
}}}
Should we add a check for the genus?" defect new major sage-8.2 algebraic geometry N/A