Opened 2 years ago

Closed 19 months ago

# Prepare arbitrary relative extension of p-adic fields

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

### comment:1 Changed 2 years ago by caruso

• Description modified (diff)

### comment:3 Changed 19 months ago by saraedum

probably all of this will be done in #28466.

### comment:4 Changed 19 months ago by caruso

• Milestone changed from sage-8.5 to sage-duplicate/invalid/wontfix
• Status changed from new to needs_review

Sure.

### comment:5 Changed 19 months ago by caruso

• Status changed from needs_review to positive_review

### comment:6 Changed 19 months ago by chapoton

• Resolution set to duplicate
• Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.