Documentation

Mathlib.Algebra.Lie.Killing

The trace and Killing forms of a Lie algebra. #

Let L be a Lie algebra with coefficients in a commutative ring R. Suppose M is a finite, free R-module and we have a representation φ : L → End M. This data induces a natural bilinear form B on L, called the trace form associated to M; it is defined as B(x, y) = Tr (φ x) (φ y).

In the special case that M is L itself and φ is the adjoint representation, the trace form is known as the Killing form.

We define the trace / Killing form in this file and prove some basic properties.

Main definitions #

TODO #

noncomputable def LieModule.traceForm (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] :

A finite, free representation of a Lie algebra L induces a bilinear form on L called the trace Form. See also killingForm.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem LieModule.traceForm_apply_apply (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (x : L) (y : L) :
    theorem LieModule.traceForm_comm (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (x : L) (y : L) :
    ((LieModule.traceForm R L M) x) y = ((LieModule.traceForm R L M) y) x
    theorem LieModule.traceForm_isSymm (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] :
    @[simp]
    theorem LieModule.traceForm_flip (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] :
    theorem LieModule.traceForm_apply_lie_apply (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (x : L) (y : L) (z : L) :

    The trace form of a Lie module is compatible with the action of the Lie algebra.

    See also LieModule.traceForm_apply_lie_apply'.

    theorem LieModule.traceForm_apply_lie_apply' (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (x : L) (y : L) (z : L) :

    Given a representation M of a Lie algebra L, the action of any x : L is skew-adjoint wrt the trace form.

    @[simp]
    theorem LieModule.lie_traceForm_eq_zero (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (x : L) :

    This lemma justifies the terminology "invariant" for trace forms.

    @[simp]
    @[simp]
    theorem LieModule.traceForm_weightSpace_eq (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [Module.Free R M] [Module.Finite R M] [IsDomain R] [IsPrincipalIdealRing R] [LieAlgebra.IsNilpotent R L] [IsNoetherian R M] [LieModule.LinearWeights R L M] (χ : LR) (x : L) (y : L) :
    theorem LieModule.traceForm_eq_zero_if_mem_lcs_of_mem_ucs (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] {x : L} {y : L} (k : ) (hx : x LieIdeal.lcs L k) (hy : y LieSubmodule.ucs k ) :
    ((LieModule.traceForm R L M) x) y = 0

    The upper and lower central series of L are orthogonal wrt the trace form of any Lie module M.

    theorem LieModule.traceForm_apply_eq_zero_of_mem_lcs_of_mem_center (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] {x : L} {y : L} (hx : x LieModule.lowerCentralSeries R L L 1) (hy : y LieAlgebra.center R L) :
    ((LieModule.traceForm R L M) x) y = 0
    @[simp]
    theorem LieModule.traceForm_eq_zero_of_isTrivial (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieModule.IsTrivial L M] :
    theorem LieModule.eq_zero_of_mem_weightSpace_mem_posFitting (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieAlgebra.IsNilpotent R L] {B : LinearMap.BilinForm R M} (hB : ∀ (x : L) (m n : M), (B x, m) n = -(B m) x, n) {m₀ : M} {m₁ : M} (hm₀ : m₀ LieModule.weightSpace M 0) (hm₁ : m₁ LieModule.posFittingComp R L M) :
    (B m₀) m₁ = 0

    Given a bilinear form B on a representation M of a nilpotent Lie algebra L, if B is invariant (in the sense that the action of L is skew-adjoint wrt B) then components of the Fitting decomposition of M are orthogonal wrt B.

    theorem LieModule.trace_toEndomorphism_eq_zero_of_mem_lcs (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] {k : } {x : L} (hk : 1 k) (hx : x LieModule.lowerCentralSeries R L L k) :
    @[simp]
    theorem LieModule.traceForm_lieSubalgebra_mk_left (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (L' : LieSubalgebra R L) {x : L} (hx : x L') (y : L') :
    ((LieModule.traceForm R (L') M) { val := x, property := hx }) y = ((LieModule.traceForm R L M) x) y
    @[simp]
    theorem LieModule.traceForm_lieSubalgebra_mk_right (R : Type u_1) (L : Type u_3) (M : Type u_4) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (L' : LieSubalgebra R L) {x : L'} {y : L} (hy : y L') :
    ((LieModule.traceForm R (L') M) x) { val := y, property := hy } = ((LieModule.traceForm R L M) x) y

    A nilpotent Lie algebra with a representation whose trace form is non-singular is Abelian.

    theorem LieSubmodule.trace_eq_trace_restrict_of_le_idealizer {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [Module.Free R M] [Module.Finite R M] [IsDomain R] [IsPrincipalIdealRing R] (N : LieSubmodule R L M) (I : LieIdeal R L) (h : I LieSubmodule.idealizer N) (x : L) {y : L} (hy : y I) (hy' : optParam (mN, ((LieModule.toEndomorphism R L M) x ∘ₗ (LieModule.toEndomorphism R L M) y) m N) ) :
    theorem LieSubmodule.traceForm_eq_zero_of_isTrivial {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [Module.Free R M] [Module.Finite R M] [IsDomain R] [IsPrincipalIdealRing R] (N : LieSubmodule R L M) (I : LieIdeal R L) (h : I LieSubmodule.idealizer N) (x : L) {y : L} (hy : y I) [LieModule.IsTrivial I N] :

    Note that this result is slightly stronger than it might look at first glance: we only assume that N is trivial over I rather than all of L. This means that it applies in the important case of an Abelian ideal (which has M = L and N = I).

    @[inline, reducible]
    noncomputable abbrev killingForm (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] :

    A finite, free (as an R-module) Lie algebra L carries a bilinear form on L.

    This is a specialisation of LieModule.traceForm to the adjoint representation of L.

    Equations
    Instances For
      theorem killingForm_apply_apply (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] (x : L) (y : L) :
      ((killingForm R L) x) y = (LinearMap.trace R L) ((LieAlgebra.ad R L) x ∘ₗ (LieAlgebra.ad R L) y)
      theorem killingForm_eq_zero_of_mem_zeroRoot_mem_posFitting (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] (H : LieSubalgebra R L) [LieAlgebra.IsNilpotent R H] {x₀ : L} {x₁ : L} (hx₀ : x₀ LieAlgebra.zeroRootSubalgebra R L H) (hx₁ : x₁ LieModule.posFittingComp R (H) L) :
      ((killingForm R L) x₀) x₁ = 0
      noncomputable def LieIdeal.killingCompl (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) :

      The orthogonal complement of an ideal with respect to the killing form is an ideal.

      Equations
      Instances For
        @[simp]
        theorem LieIdeal.mem_killingCompl (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) {x : L} :
        x LieIdeal.killingCompl R L I yI, ((killingForm R L) y) x = 0
        theorem LieIdeal.restrict_killingForm (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) :
        class LieAlgebra.IsKilling (R : Type u_1) (L : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] :

        We say a Lie algebra is Killing if its Killing form is non-singular.

        NB: This is not standard terminology (the literature does not seem to name Lie algebras with this property).

        Instances

          If the Killing form of a Lie algebra is non-singular, it remains non-singular when restricted to a Cartan subalgebra.

          The converse of this is true over a field of characteristic zero. There are counterexamples over fields with positive characteristic.

          Equations
          • =
          theorem LieModule.traceForm_eq_sum_finrank_nsmul_mul (K : Type u_2) (L : Type u_3) (M : Type u_4) [LieRing L] [AddCommGroup M] [LieRingModule L M] [Field K] [LieAlgebra K L] [Module K M] [LieModule K L M] [FiniteDimensional K M] [LieAlgebra.IsNilpotent K L] [LieModule.LinearWeights K L M] [LieModule.IsTriangularizable K L M] (x : L) (y : L) :
          ((LieModule.traceForm K L M) x) y = Finset.sum Finset.univ fun (χ : LieModule.Weight K L M) => FiniteDimensional.finrank K (LieModule.weightSpace M χ) (χ x * χ y)
          theorem LieAlgebra.killingForm_apply_eq_zero_of_mem_rootSpace_of_add_ne_zero (K : Type u_2) (L : Type u_3) [LieRing L] [Field K] [LieAlgebra K L] [FiniteDimensional K L] (H : LieSubalgebra K L) [LieSubalgebra.IsCartanSubalgebra H] [LieModule.IsTriangularizable K (H) L] {α : HK} {β : HK} {x : L} {y : L} (hx : x LieAlgebra.rootSpace H α) (hy : y LieAlgebra.rootSpace H β) (hαβ : α + β 0) :
          ((killingForm K L) x) y = 0

          For any α and β, the corresponding root spaces are orthogonal with respect to the Killing form, provided α + β ≠ 0.

          Elements of the α root space which are Killing-orthogonal to the root space are Killing-orthogonal to all of L.

          The restriction of the Killing form to a Cartan subalgebra, as a linear equivalence to the dual.

          Equations
          Instances For

            This is Proposition 4.18 from [carter2005] except that we use LieModule.exists_forall_lie_eq_smul instead of Lie's theorem (and so avoid assuming K has characteristic zero).

            @[simp]

            Given a splitting Cartan subalgebra H of a finite-dimensional Lie algebra with non-singular Killing form, the corresponding roots span the dual space of H.

            @[simp]
            theorem LieAlgebra.IsKilling.iInf_ker_weight_eq_bot (K : Type u_2) (L : Type u_3) [LieRing L] [Field K] [LieAlgebra K L] [FiniteDimensional K L] (H : LieSubalgebra K L) [LieSubalgebra.IsCartanSubalgebra H] [LieModule.IsTriangularizable K (H) L] [LieAlgebra.IsKilling K L] :
            ⨅ (α : LieModule.Weight K (H) L), LieModule.Weight.ker =
            theorem LieAlgebra.IsKilling.eq_zero_of_apply_eq_zero_of_mem_corootSpace {K : Type u_2} {L : Type u_3} [LieRing L] [Field K] [LieAlgebra K L] [FiniteDimensional K L] {H : LieSubalgebra K L} [LieSubalgebra.IsCartanSubalgebra H] [LieModule.IsTriangularizable K (H) L] [LieAlgebra.IsKilling K L] [CharZero K] (x : H) (α : HK) (hαx : α x = 0) (hx : x LieAlgebra.corootSpace α) :
            x = 0

            The contrapositive of this result is very useful, taking x to be the element of H corresponding to a root α under the identification between H and H^* provided by the Killing form.

            noncomputable def LieAlgebra.IsKilling.coroot {K : Type u_2} {L : Type u_3} [LieRing L] [Field K] [LieAlgebra K L] [FiniteDimensional K L] {H : LieSubalgebra K L} [LieSubalgebra.IsCartanSubalgebra H] [LieAlgebra.IsKilling K L] [CharZero K] (α : LieModule.Weight K (H) L) :
            H

            The coroot corresponding to a root.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem LieAlgebra.killingForm_of_equiv_apply {R : Type u_1} {L : Type u_3} [CommRing R] [LieRing L] [LieAlgebra R L] {L' : Type u_5} [LieRing L'] [LieAlgebra R L'] (e : L ≃ₗ⁅R L') (x : L) (y : L) :
              ((killingForm R L') (e x)) (e y) = ((killingForm R L) x) y

              Given an equivalence e of Lie algebras from L to L', and elements x y : L, the respective Killing forms of L and L' satisfy κ'(e x, e y) = κ(x, y).

              theorem LieAlgebra.isKilling_of_equiv {R : Type u_1} {L : Type u_3} [CommRing R] [LieRing L] [LieAlgebra R L] {L' : Type u_5} [LieRing L'] [LieAlgebra R L'] [LieAlgebra.IsKilling R L] (e : L ≃ₗ⁅R L') :

              Given a Killing Lie algebra L, if L' is isomorphic to L, then L' is Killing too.

              theorem LieEquiv.isKilling {R : Type u_1} {L : Type u_3} [CommRing R] [LieRing L] [LieAlgebra R L] {L' : Type u_5} [LieRing L'] [LieAlgebra R L'] [LieAlgebra.IsKilling R L] (e : L ≃ₗ⁅R L') :

              Alias of LieAlgebra.isKilling_of_equiv.


              Given a Killing Lie algebra L, if L' is isomorphic to L, then L' is Killing too.