MAGMA - construct local field as a quotient of polynomial ring over local field

304 Views Asked by At

I'm dealing with the following problem: I have a local field K_v, which is defined by the completion of a number field K at the place v. Moreover, I have an irreducibe polynomial f in K_v[x].

I want to define a new local field K_v[x]/(f). The command LocalField(K_v,f) yields to the error message: "precision of arument 1 must be finite". Does somebody know how I can achieve my goal or how to change the precision of Kv to a finite precision?

That would help me a lot! Thanks in advance!

2

There are 2 best solutions below

1
On BEST ANSWER

You have two options:

Option 1. The local field produced by Completion has infinite precision. You can make it into a fixed-precision field like so:

Kv2 := ChangePrecision(Kv, 20);
Lv := LocalField(Kv2, f);

or if $f$ is Eisenstein or inertial, you can replace the last line with

Lv := ext<Kv2 | f>;

Option 2. If you actually have $f(x) \in K[x]$, i.e. over the original number field, AND $f$ is Eisenstein or inertial, you can define an infinite-precision extension like so:

Lv := ext<Kv | map<Integers() -> PolynomialRing(K) | k :-> f>>;

(this option is documented here: http://magma.maths.usyd.edu.au/magma/handbook/text/485#5317)

0
On

I think I found an answer:

There is one way to define a new local field via a map, the code goes as follows:

Z := Integers();
Kvx<x> := PolynomialRing(Kv);
m := map<Z-> Kvx | k:-> f>;
LocalField := ext<Kv | m>;

You can also define maps from Kv[x] to the new local field, which can be quite helpful.