Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
BrentBaccala opened this issue Jan 4, 2019 · 13 comments

Comments

@BrentBaccala
Copy link

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

Component: algebra

Keywords: function field

Author: Brent Baccala

Branch/Commit: public/27011 @ 734fa82

Issue created by migration from https://trac.sagemath.org/ticket/27011

@BrentBaccala BrentBaccala added this to the sage-8.6 milestone Jan 4, 2019
@BrentBaccala
Copy link
Author

Branch: public/27011

@BrentBaccala
Copy link
Author

Commit: 734fa82

@BrentBaccala
Copy link
Author

Author: Brent Baccala

@BrentBaccala
Copy link
Author

New commits:

734fa82Trac #27011: add a function_field method to PolynomialQuotientRing_field

@embray
Copy link
Contributor

embray commented Jan 15, 2019

comment:2

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.

@embray embray modified the milestones: sage-8.6, sage-8.7 Jan 15, 2019
@embray
Copy link
Contributor

embray commented Mar 25, 2019

comment:3

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

@embray embray modified the milestones: sage-8.7, sage-8.8 Mar 25, 2019
@soehms
Copy link
Member

soehms commented Apr 2, 2019

comment:4

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

@embray
Copy link
Contributor

embray commented Jul 3, 2019

comment:5

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).

@embray embray modified the milestones: sage-8.8, sage-8.9 Jul 3, 2019
@embray
Copy link
Contributor

embray commented Dec 30, 2019

comment:6

Ticket retargeted after milestone closed

@embray embray modified the milestones: sage-8.9, sage-9.1 Dec 30, 2019
@mkoeppe
Copy link
Member

mkoeppe commented Apr 14, 2020

comment:7

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.

@mkoeppe mkoeppe modified the milestones: sage-9.1, sage-9.2 Apr 14, 2020
@seblabbe
Copy link
Contributor

comment:8

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

@mkoeppe
Copy link
Member

mkoeppe commented Feb 13, 2021

comment:10

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

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Feb 13, 2021
@mkoeppe
Copy link
Member

mkoeppe commented Jul 19, 2021

comment:11

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

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 2, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Sep 19, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants