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

Add construction method to function fields #27012

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

Add construction method to function fields #27012

BrentBaccala opened this issue Jan 4, 2019 · 12 comments

Comments

@BrentBaccala
Copy link

This ticket enhances the function field code to add a construction functor and support the construction method:

sage: K.<x> = FunctionField(QQ)
sage: K.construction()
(FunctionField
 Fraction Field of Univariate Polynomial Ring in x over Rational Field)

sage: from sage.rings.function_field.function_field import FunctionFieldFunctor
sage: R.<x> = QQ[]
sage: FunctionFieldFunctor()(Frac(R))
Rational function field in x over Rational Field

Component: algebra

Keywords: function field

Author: Brent Baccala

Branch/Commit: public/27012 @ 62a8027

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

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

Commit: 62a8027

@BrentBaccala
Copy link
Author

Dependencies: #22982

@BrentBaccala
Copy link
Author

New commits:

62a8027Trac #27012: add construction method to FunctionField's

@BrentBaccala
Copy link
Author

Author: Brent Baccala

@BrentBaccala
Copy link
Author

Branch: public/27012

@BrentBaccala
Copy link
Author

Changed dependencies from #22982 to none

@BrentBaccala
Copy link
Author

comment:2

Don't think this needs 22892 as a dependency; it seems to commit fine with 8.5 as a base.

@BrentBaccala

This comment has been minimized.

@BrentBaccala
Copy link
Author

comment:4

I'm not sure where FunctionFieldFunctor should go. Right now, it's in function_field.py in the src/sage/rings/function_field directory.

Perhaps we should add a new file in that directory called functors.py? There's going to be at least one more ConstructionFunctor in the function field code, for constructing spaces of differentials.

@mezzarobba
Copy link
Member

comment:5

While your patch looks sensible to me, that's not how things currently work for number fields. Instead, number fields are constructed directly from their base field by an AlgebraicConstructionFunctor. Can you explain why you are deviating from that model? (This may be a stupid question, I basically don't know anything about function fields.) And if your approach is better, should we use it from number fields too?

Also, you may want to add a couple of example of new coercions discovered thanks to the new construction, if there are any.

@BrentBaccala
Copy link
Author

comment:6

Replying to @mezzarobba:

While your patch looks sensible to me, that's not how things currently work for number fields. Instead, number fields are constructed directly from their base field by an AlgebraicConstructionFunctor. Can you explain why you are deviating from that model? (This may be a stupid question, I basically don't know anything about function fields.) And if your approach is better, should we use it from number fields too?

I don't know if it's any better this way.

Also, you may want to add a couple of example of new coercions discovered thanks to the new construction, if there are any.

Well, the coercions I wanted it to discover, it couldn't, so I ended up coding them by hand (Trac #26993). I created this ticket because I didn't want to just throw this code away, but I don't know if it does anything useful.

@embray
Copy link
Contributor

embray commented Jan 15, 2019

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

@embray embray modified the milestones: sage-8.6, sage-8.7 Jan 15, 2019
@BrentBaccala BrentBaccala removed this from the sage-8.7 milestone Jan 17, 2019
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

3 participants