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: |

### 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?

**Note:**See TracTickets for help on using tickets.