Opened 4 years ago

Last modified 9 days ago

## #27011 needs_work enhancement

# Quotient rings should support function field construction if they are fields.

Reported by: | Brent Baccala | Owned by: | |
---|---|---|---|

Priority: | minor | Milestone: | sage-9.8 |

Component: | algebra | Keywords: | function field |

Cc: | Merged in: | ||

Authors: | Brent Baccala | Reviewers: | |

Report Upstream: | N/A | Work issues: | |

Branch: | public/27011 (Commits, GitHub, GitLab) | Commit: | 734fa8250342f43e179dcb420bc3ab2bb83ac3ae |

Dependencies: | Stopgaps: |

### Description

Univariate polynomial rings have associated function fields:

sage: R.<x> = QQ[] sage: Frac(R) Fraction Field of Univariate Polynomial Ring in x over Rational Field sage: Frac(R).function_field() Rational function field in x over Rational Field

A similar construction should be possible for quotient rings, if they are fields:

sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: R.quo(y^5 - (x^3 + 2*x*y + 1/x)).function_field() Function field in y defined by y^5 - 2*x*y + (-x^4 - 1)/x

This ticket adds a `function_field`

method to `PolynomialQuotientRing_field`

### Change History (14)

### comment:1 Changed 4 years ago by

Authors: | → Brent Baccala |
---|---|

Branch: | → public/27011 |

Commit: | → 734fa8250342f43e179dcb420bc3ab2bb83ac3ae |

Status: | new → needs_review |

### comment:2 Changed 4 years ago by

Milestone: | sage-8.6 → sage-8.7 |
---|

Retarging tickets optimistically to the next milestone. If you are responsible for this ticket (either its reporter or owner) and don't believe you are likely to complete this ticket before the next release (8.7) please retarget this ticket's milestone to sage-pending or sage-wishlist.

### comment:3 Changed 4 years ago by

Milestone: | sage-8.7 → sage-8.8 |
---|

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

### comment:4 Changed 3 years ago by

It's a good idea to have such a method! But I think it would be more useful if conversions between the both realizations would work. Unfortunately, this is not the case:

sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L = R.quo(y^5 - (x^3 + 2*x*y + 1/x)) sage: F = L.function_field() sage: F(L.an_element()) Traceback (most recent call last): ... TypeError: cannot convert ybar/1 to an element of Fraction Field of Univariate Polynomial Ring in x over Rational Field sage: L(F.an_element()) Traceback (most recent call last): ... ValueError: y is not an element of the base field

It should not be difficult to improve this (for example via the `_convert_map_from_`

method), since both maps can be obtained as ring homomorphisms:

sage: f = L.hom(F.gens()) sage: g = F.hom(L.gens()) sage: f(L.an_element()) y sage: g(F.an_element()) ybar sage: (f*g).is_one() True sage: (g*f).is_one() True

### comment:5 Changed 3 years ago by

Milestone: | sage-8.8 → sage-8.9 |
---|

Moving tickets from the Sage 8.8 milestone that have been actively worked on in the last six months to the next release milestone (optimistically).

### comment:6 Changed 3 years ago by

Milestone: | sage-8.9 → sage-9.1 |
---|

Ticket retargeted after milestone closed

### comment:7 Changed 2 years ago by

Milestone: | sage-9.1 → sage-9.2 |
---|

Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date.

### comment:8 Changed 2 years ago by

Status: | needs_review → needs_work |
---|

changing the status to needs works according to the most recent comment

### comment:9 Changed 2 years ago by

Milestone: | sage-9.2 → sage-9.3 |
---|

### comment:10 Changed 20 months ago by

Milestone: | sage-9.3 → sage-9.4 |
---|

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

### comment:11 Changed 15 months ago by

Milestone: | sage-9.4 → sage-9.5 |
---|

Setting a new milestone for this ticket based on a cursory review.

### comment:12 Changed 9 months ago by

Milestone: | sage-9.5 → sage-9.6 |
---|

### comment:13 Changed 6 months ago by

Milestone: | sage-9.6 → sage-9.7 |
---|

### comment:14 Changed 9 days ago by

Milestone: | sage-9.7 → sage-9.8 |
---|

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

New commits:

`Trac #27011: add a function_field method to PolynomialQuotientRing_field`