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:

Status badges

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 Brent Baccala

Authors: Brent Baccala
Branch: public/27011
Commit: 734fa8250342f43e179dcb420bc3ab2bb83ac3ae
Status: newneeds_review

New commits:

734fa82Trac #27011: add a function_field method to PolynomialQuotientRing_field

comment:2 Changed 4 years ago by Erik Bray

Milestone: sage-8.6sage-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 Erik Bray

Milestone: sage-8.7sage-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 Sebastian Oehms

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 Erik Bray

Milestone: sage-8.8sage-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 Erik Bray

Milestone: sage-8.9sage-9.1

Ticket retargeted after milestone closed

comment:7 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.1sage-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 Sébastien Labbé

Status: needs_reviewneeds_work

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

comment:9 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:10 Changed 20 months ago by Matthias Köppe

Milestone: sage-9.3sage-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 Matthias Köppe

Milestone: sage-9.4sage-9.5

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

comment:12 Changed 9 months ago by Matthias Köppe

Milestone: sage-9.5sage-9.6

comment:13 Changed 6 months ago by Matthias Köppe

Milestone: sage-9.6sage-9.7

comment:14 Changed 9 days ago by Matthias Köppe

Milestone: sage-9.7sage-9.8
Note: See TracTickets for help on using tickets.