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

Prepare arbitrary relative extension of p-adic fields #26615

Closed
xcaruso opened this issue Nov 2, 2018 · 4 comments
Closed

Prepare arbitrary relative extension of p-adic fields #26615

xcaruso opened this issue Nov 2, 2018 · 4 comments

Comments

@xcaruso
Copy link
Contributor

xcaruso commented Nov 2, 2018

Eventually Sage should be able to create an arbitrary extension (ramified or not) of any p-adic field (Qp or one of its extension). However, for speed and numerical stability, it's convenient to represent internally all p-adic fields as an Eisenstein extension over an unramified extension.

In order to conceal this, David Roe and I (discussion on zulip) propose to make the following changes:

  • we add the attributes base, ram_name (optional) and unram_name (optional) to the factory
  • we add a method standard_basis (we should find a better wording) that returns a basis of the field over Qp coming from the presentation "Eisenstein over unramified"
  • when we create a new p-adic field with base base, we compute and store the transformation matrix between the standard basis of the current field and the basis coming from the given generator and the standard basis of the base
  • when we create a new p-adic field with base base, we register a coercion map from the base to the field (this coercion map has to implement a method section... which could use the method polynomial discussed below)
  • we modify the method polynomial so that x.polynomial() returns a polynomial P over the base such that P(self.gen()) = x (this should take advantage of the transformation matrix we stored before)
  • we modify the printing mode terse so that it uses the method polynomial described above
  • if either ram_name (except for unramified extensions) or unram_name (except for totally ramified extensions) is not given, the printing mode series should raise an error

CC: @roed314

Component: padics

Keywords: padicBordeaux

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

@xcaruso xcaruso added this to the sage-8.5 milestone Nov 2, 2018
@xcaruso

This comment has been minimized.

@roed314
Copy link
Contributor

roed314 commented Sep 7, 2019

Changed keywords from none to padicBordeaux

@saraedum
Copy link
Member

saraedum commented Sep 9, 2019

comment:3

probably all of this will be done in #28466.

@xcaruso
Copy link
Contributor Author

xcaruso commented Sep 13, 2019

comment:4

Sure.

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

4 participants