Opened 4 years ago

#25249 new defect

HyperellipticCurve.change_ring(R) may reduce genus

Reported by: Edgar Costa Owned by:
Priority: major Milestone: sage-8.2
Component: algebraic geometry Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

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?

Change History (0)

Note: See TracTickets for help on using tickets.