Documentation

Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic

Canonical embedding of a number field #

The canonical embedding of a number field K of degree n is the ring homomorphism K →+* ℂ^n that sends x ∈ K to (φ_₁(x),...,φ_n(x)) where the φ_i's are the complex embeddings of K. Note that we do not choose an ordering of the embeddings, but instead map K into the type (K →+* ℂ) → ℂ of -vectors indexed by the complex embeddings.

Main definitions and results #

Tags #

number field, infinite places

The canonical embedding of a number field K of degree n into ℂ^n.

Instances For
    @[simp]
    theorem NumberField.canonicalEmbedding.apply_at {K : Type u_1} [Field K] (φ : K →+* ) (x : K) :
    (canonicalEmbedding K) x φ = φ x

    The image of canonicalEmbedding lives in the -submodule of the x ∈ ((K →+* ℂ) → ℂ) such that conj x_φ = x_(conj φ) for all φ : K →+* ℂ.

    The image of 𝓞 K as a subring of ℂ^n.

    Instances For

      A -basis of ℂ^n that is also a -basis of the integerLattice.

      Instances For
        @[reducible, inline]

        The mixed space ℝ^r₁ × ℂ^r₂ with (r₁, r₂) the signature of K.

        Instances For

          The mixed embedding of a number field K into the mixed space of K.

          Instances For
            @[simp]
            theorem NumberField.mixedEmbedding.mixedEmbedding_apply_isComplex (K : Type u_1) [Field K] (x : K) (w : { w : InfinitePlace K // w.IsComplex }) :
            ((mixedEmbedding K) x).2 w = (↑w).embedding x

            The set of points in the mixedSpace that are equal to 0 at a fixed (real) place has volume zero.

            noncomputable def NumberField.mixedEmbedding.commMap (K : Type u_1) [Field K] :

            The linear map that makes canonicalEmbedding and mixedEmbedding commute, see commMap_canonical_eq_mixed.

            Instances For
              theorem NumberField.mixedEmbedding.commMap_apply_of_isReal (K : Type u_1) [Field K] (x : (K →+* ) → ) {w : InfinitePlace K} (hw : w.IsReal) :
              ((commMap K) x).1 w, hw = (x w.embedding).re
              theorem NumberField.mixedEmbedding.commMap_apply_of_isComplex (K : Type u_1) [Field K] (x : (K →+* ) → ) {w : InfinitePlace K} (hw : w.IsComplex) :
              ((commMap K) x).2 w, hw = x w.embedding

              This is a technical result to ensure that the image of the -basis of ℂ^n defined in canonicalEmbedding.latticeBasis is a -basis of the mixed space ℝ^r₁ × ℂ^r₂, see mixedEmbedding.latticeBasis.

              The norm at the infinite place w of an element of the mixed space

              Instances For
                theorem NumberField.mixedEmbedding.normAtPlace_real {K : Type u_1} [Field K] (w : InfinitePlace K) (c : ) :
                (normAtPlace w) (fun (x : { w : InfinitePlace K // w.IsReal }) => c, fun (x : { w : InfinitePlace K // w.IsComplex }) => c) = |c|
                @[simp]
                theorem NumberField.mixedEmbedding.exists_normAtPlace_ne_zero_iff {K : Type u_1} [Field K] {x : mixedSpace K} :
                (∃ (w : InfinitePlace K), (normAtPlace w) x 0) x 0

                The norm of x is ∏ w, (normAtPlace x) ^ mult w. It is defined such that the norm of mixedEmbedding K a for a : K is equal to the absolute value of the norm of a over , see norm_eq_norm.

                Instances For
                  theorem NumberField.mixedEmbedding.norm_real {K : Type u_1} [Field K] [NumberField K] (c : ) :
                  mixedEmbedding.norm (fun (x : { w : InfinitePlace K // w.IsReal }) => c, fun (x : { w : InfinitePlace K // w.IsComplex }) => c) = |c| ^ Module.finrank K
                  @[reducible, inline]

                  The type indexing the basis stdBasis.

                  Instances For

                    The -basis of the mixed space of K formed by the vector equal to 1 at w and 0 elsewhere for IsReal w and by the couple of vectors equal to 1 (resp. I) at w and 0 elsewhere for IsComplex w.

                    Instances For
                      @[simp]
                      theorem NumberField.mixedEmbedding.stdBasis_apply_isReal {K : Type u_1} [Field K] [NumberField K] (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsReal }) :
                      ((stdBasis K).repr x) (Sum.inl w) = x.1 w
                      @[simp]
                      theorem NumberField.mixedEmbedding.stdBasis_apply_isComplex_fst {K : Type u_1} [Field K] [NumberField K] (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsComplex }) :
                      ((stdBasis K).repr x) (Sum.inr (w, 0)) = (x.2 w).re
                      @[simp]
                      theorem NumberField.mixedEmbedding.stdBasis_apply_isComplex_snd {K : Type u_1} [Field K] [NumberField K] (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsComplex }) :
                      ((stdBasis K).repr x) (Sum.inr (w, 1)) = (x.2 w).im
                      noncomputable def NumberField.mixedEmbedding.indexEquiv (K : Type u_1) [Field K] [NumberField K] :

                      The Equiv between index K and K →+* ℂ defined by sending a real infinite place w to the unique corresponding embedding w.embedding, and the pair ⟨w, 0⟩ (resp. ⟨w, 1⟩) for a complex infinite place w to w.embedding (resp. conjugate w.embedding).

                      Instances For
                        @[simp]
                        theorem NumberField.mixedEmbedding.indexEquiv_apply_isReal {K : Type u_1} [Field K] [NumberField K] (w : { w : InfinitePlace K // w.IsReal }) :
                        (indexEquiv K) (Sum.inl w) = (↑w).embedding
                        @[simp]
                        theorem NumberField.mixedEmbedding.indexEquiv_apply_isComplex_fst {K : Type u_1} [Field K] [NumberField K] (w : { w : InfinitePlace K // w.IsComplex }) :
                        (indexEquiv K) (Sum.inr (w, 0)) = (↑w).embedding

                        The matrix that gives the representation on stdBasis of the image by commMap of an element x of (K →+* ℂ) → ℂ fixed by the map x_φ ↦ conj x_(conjugate φ), see stdBasis_repr_eq_matrixToStdBasis_mul.

                        Instances For
                          theorem NumberField.mixedEmbedding.stdBasis_repr_eq_matrixToStdBasis_mul (K : Type u_1) [Field K] [NumberField K] (x : (K →+* ) → ) (hx : ∀ (φ : K →+* ), (starRingEnd ) (x φ) = x (ComplexEmbedding.conjugate φ)) (c : index K) :
                          (((stdBasis K).repr ((commMap K) x)) c) = (matrixToStdBasis K).mulVec (x (indexEquiv K)) c

                          Let x : (K →+* ℂ) → ℂ such that x_φ = conj x_(conj φ) for all φ : K →+* ℂ, then the representation of commMap K x on stdBasis is given (up to reindexing) by the product of matrixToStdBasis by x.

                          @[reducible, inline]
                          noncomputable abbrev NumberField.mixedEmbedding.integerLattice (K : Type u_1) [Field K] :

                          The image of the ring of integers of K in the mixed space.

                          Instances For

                            A -basis of the mixed space that is also a -basis of the image of 𝓞 K.

                            Instances For
                              @[reducible, inline]

                              The image of the fractional ideal I in the mixed space.

                              Instances For

                                The generalized index of the lattice generated by I in the lattice generated by 𝓞 K is equal to the norm of the ideal I. The result is stated in terms of base change determinant and is the translation of NumberField.det_basisOfFractionalIdeal_eq_absNorm in the mixed space. This is useful, in particular, to prove that the family obtained from the -basis of I is actually an -basis of the mixed space, see fractionalIdealLatticeBasis.

                                A -basis of the mixed space of K that is also a -basis of the image of the fractional ideal I.

                                Instances For
                                  @[reducible, inline]

                                  The mixed space ℝ^r₁ × ℂ^r₂, with (r₁, r₂) the signature of K, as a Euclidean space.

                                  Instances For

                                    The continuous linear equivalence between the Euclidean mixed space and the mixed space.

                                    Instances For

                                      An orthonormal basis of the Euclidean mixed space.

                                      Instances For

                                        The image of ring of integers 𝓞 K in the Euclidean mixed space.

                                        Instances For
                                          noncomputable def NumberField.mixedEmbedding.negAt {K : Type u_1} [Field K] (s : Set { w : InfinitePlace K // w.IsReal }) :

                                          Let s be a set of real places, define the continuous linear equiv of the mixed space that swaps sign at places in s and leaves the rest unchanged.

                                          Instances For
                                            @[simp]
                                            theorem NumberField.mixedEmbedding.negAt_apply_isReal_and_mem {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (x : mixedSpace K) {w : { w : InfinitePlace K // w.IsReal }} (hw : w s) :
                                            ((negAt s) x).1 w = -x.1 w
                                            @[simp]
                                            theorem NumberField.mixedEmbedding.negAt_apply_isReal_and_notMem {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (x : mixedSpace K) {w : { w : InfinitePlace K // w.IsReal }} (hw : ws) :
                                            ((negAt s) x).1 w = x.1 w
                                            @[simp]
                                            theorem NumberField.mixedEmbedding.negAt_apply_isComplex {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsComplex }) :
                                            ((negAt s) x).2 w = x.2 w
                                            @[simp]
                                            theorem NumberField.mixedEmbedding.negAt_apply_snd {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (x : mixedSpace K) :
                                            ((negAt s) x).2 = x.2
                                            theorem NumberField.mixedEmbedding.negAt_apply_norm_isReal {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsReal }) :
                                            ((negAt s) x).1 w = x.1 w
                                            @[simp]
                                            theorem NumberField.mixedEmbedding.normAtPlace_negAt {K : Type u_1} [Field K] (s : Set { w : InfinitePlace K // w.IsReal }) (x : mixedSpace K) (w : InfinitePlace K) :
                                            (normAtPlace w) ((negAt s) x) = (normAtPlace w) x

                                            negAt preserves normAtPlace.

                                            @[simp]
                                            theorem NumberField.mixedEmbedding.negAt_symm {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} :
                                            (negAt s).symm = negAt s

                                            negAt is its own inverse.

                                            For x : mixedSpace K, the set signSet x is the set of real places w s.t. x w ≤ 0.

                                            Instances For
                                              @[simp]
                                              theorem NumberField.mixedEmbedding.negAt_signSet_apply_isReal {K : Type u_1} [Field K] (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsReal }) :
                                              ((negAt (signSet x)) x).1 w = x.1 w
                                              @[simp]
                                              theorem NumberField.mixedEmbedding.negAt_signSet_apply_isComplex {K : Type u_1} [Field K] (x : mixedSpace K) (w : { w : InfinitePlace K // w.IsComplex }) :
                                              ((negAt (signSet x)) x).2 w = x.2 w
                                              theorem NumberField.mixedEmbedding.negAt_preimage {K : Type u_1} [Field K] (s : Set { w : InfinitePlace K // w.IsReal }) (A : Set (mixedSpace K)) :
                                              (negAt s) ⁻¹' A = (negAt s) '' A

                                              negAt s A is also equal to the preimage of A by negAt s. This fact is used to simplify some proofs.

                                              @[reducible, inline]

                                              The plusPart of a subset A of the mixedSpace is the set of points in A that are positive at all real places.

                                              Instances For
                                                theorem NumberField.mixedEmbedding.neg_of_mem_negA_plusPart {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (A : Set (mixedSpace K)) {x : mixedSpace K} (hx : x (negAt s) '' plusPart A) {w : { w : InfinitePlace K // w.IsReal }} (hw : w s) :
                                                x.1 w < 0
                                                theorem NumberField.mixedEmbedding.pos_of_notMem_negAt_plusPart {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (A : Set (mixedSpace K)) {x : mixedSpace K} (hx : x (negAt s) '' plusPart A) {w : { w : InfinitePlace K // w.IsReal }} (hw : ws) :
                                                0 < x.1 w

                                                The images of plusPart by negAt are pairwise disjoint.

                                                theorem NumberField.mixedEmbedding.mem_negAt_plusPart_of_mem {K : Type u_1} [Field K] {s : Set { w : InfinitePlace K // w.IsReal }} (A : Set (mixedSpace K)) {x : mixedSpace K} (hA : ∀ (x : mixedSpace K), x A (fun (w : { w : InfinitePlace K // w.IsReal }) => x.1 w, x.2) A) (hx₁ : x A) (hx₂ : ∀ (w : { w : InfinitePlace K // w.IsReal }), x.1 w 0) :
                                                x (negAt s) '' plusPart A (∀ ws, x.1 w < 0) ws, x.1 w > 0
                                                theorem NumberField.mixedEmbedding.iUnion_negAt_plusPart_union {K : Type u_1} [Field K] (A : Set (mixedSpace K)) (hA : ∀ (x : mixedSpace K), x A (fun (w : { w : InfinitePlace K // w.IsReal }) => x.1 w, x.2) A) :
                                                (⋃ (s : Set { w : InfinitePlace K // w.IsReal }), (negAt s) '' plusPart A) A ⋃ (w : { w : InfinitePlace K // w.IsReal }), {x : mixedSpace K | x.1 w = 0} = A

                                                Assume that A is symmetric at real places then, the union of the images of plusPart by negAt and of the set of elements of A that are zero at at least one real place is equal to A.

                                                theorem NumberField.mixedEmbedding.iUnion_negAt_plusPart_ae {K : Type u_1} [Field K] (A : Set (mixedSpace K)) (hA : ∀ (x : mixedSpace K), x A (fun (w : { w : InfinitePlace K // w.IsReal }) => x.1 w, x.2) A) [NumberField K] :
                                                ⋃ (s : Set { w : InfinitePlace K // w.IsReal }), (negAt s) '' plusPart A =ᵐ[MeasureTheory.volume] A

                                                The image of the plusPart of A by negAt have all the same volume as plusPart A.

                                                theorem NumberField.mixedEmbedding.volume_eq_two_pow_mul_volume_plusPart {K : Type u_1} [Field K] {A : Set (mixedSpace K)} (hA : ∀ (x : mixedSpace K), x A (fun (w : { w : InfinitePlace K // w.IsReal }) => x.1 w, x.2) A) [NumberField K] (hm : MeasurableSet A) :

                                                If a subset A of the mixedSpace is symmetric at real places, then its volume is 2^ nrRealPlaces K times the volume of its plusPart.

                                                @[reducible, inline]

                                                The realSpace associated to a number field K is the real vector space indexed by the infinite places of K.

                                                Instances For

                                                  The set of points in the realSpace that are equal to 0 at a fixed place has volume zero.

                                                  The continuous linear map from realSpace K to mixedSpace K which is the identity at real places and the natural map ℝ → ℂ at complex places.

                                                  Instances For
                                                    theorem NumberField.mixedEmbedding.mixedSpaceOfRealSpace_apply {K : Type u_1} [Field K] (x : realSpace K) :
                                                    mixedSpaceOfRealSpace x = (fun (w : { w : InfinitePlace K // w.IsReal }) => x w, fun (w : { w : InfinitePlace K // w.IsComplex }) => (x w))
                                                    @[reducible, inline]
                                                    noncomputable abbrev NumberField.mixedEmbedding.normAtComplexPlaces {K : Type u_1} [Field K] (x : mixedSpace K) :

                                                    The map from the mixedSpace K to realSpace K that sends the values at complex places to their norm.

                                                    Instances For
                                                      @[reducible, inline]
                                                      noncomputable abbrev NumberField.mixedEmbedding.normAtAllPlaces {K : Type u_1} [Field K] (x : mixedSpace K) :

                                                      The map from the mixedSpace K to realSpace K that sends each component to its norm.

                                                      Instances For