A Number Field has several diffenent embeddings into the complex numbers. An embedded Number Field is a Number Field such that one of these embeddings is labelled. These fields form a category named FldNumEmb.
Functions are provided to create fields of the special type FldNumEmb.
Attempts to turn L into a Number Field with labelled embedding, such that its generator is mapped to a complex number with approximation c. It returns true if such an embedding can be identified, otherwise false.
Attempts to construct a Number Field with defining polynomial f and a labelled embedding, such that its generator is mapped to a complex number with approximation r. It returns true if such an embedding can be identified, otherwise false.
Constructs a Number Field with defining polynomial f and labelled embedding with number i.
Constructs a Number Field with labelled embedding with number i and the same defining polynomial as L.
Constructs the splitting field of f as number field with labelled embedding. The second return value are the roots of f in the splitting field.
Turns the subfield K of the Number Field L with labelled embedding into a number field with labelled embedding.
Number fields with a fixed embedding into the complex numbers have a unique composition and intersection as subfields of the complex numbers. The following functions are availabe to work in the subfield lattice.
The unique composite of K and L as a number field with labelled embedding.
The unique intersection of K and L as a number field with labelled embedding.
Returns true if the image of K in the complex numbers is a subfield of the image of L and false otherwise.
The following functions are available to work with elements of a number field with a labelled embedding.
Precision: RngIntElt Default: 30
The image of x in the complex numbers.
Precision: RngIntElt Default: 30
The labelled embeding of K into the complex numbers as a user program.
UseLLLOrder: BoolElt Default: false
Attempts to reconstruct x as an element in L. Returns true if successful and false otherwise. If the option UseLLLOrder is set, and LLL basis of the maximal order will be used.
> _<x> := PolynomialRing(Integers()); > K := NumberField(x^3-7); > suc, L := EmbeddedNumberField(K,7^(1/3)); > ComplexImage(L.1 + L.1^2); 5.57223689279536061843719014967 > Reconstruction(L,1/2 + 7^(1/3) + 5 * 7^(2/3)); true 1/2*(10*L.1^2 + 2*L.1 + 1) > Reconstruction(L,Sqrt(-1)); false
Intersection and composition can be used as follows:
> _<x> := PolynomialRing(Integers()); > suc, K := EmbeddedNumberField(x^6-3,3^(1/6)); > suc, L := EmbeddedNumberField(x^9-3,3^(1/9)); > K meet L; > Composite(K,L);
Here is an example to work with towers of fields:
> _<x> := PolynomialRing(Integers()); > suc, K := EmbeddedNumberField(x^2-2,Sqrt(2)); > suc, L := EmbeddedNumberField(Polynomial([-K.1,0,1]),2^(1/4)); > ComplexImage(L.1); 1.18920711500272106671749997056 > ComplexImage(L!(K.1)); 1.41421356237309504880168872421