Lie algebras
This file defines Lie rings, and Lie algebras over a commutative ring. It shows how these arise from associative rings and algebras via the ring commutator. In particular it defines the Lie algebra of endomorphisms of a module as well as of the algebra of square matrices over a commutative ring.
It also includes definitions of morphisms of Lie algebras, Lie subalgebras, Lie modules, Lie submodules, and the quotient of a Lie algebra by an ideal.
Notations
We introduce the notation ⁅x, y⁆ for the Lie bracket. Note that these are the Unicode "square with quill" brackets rather than the usual square brackets.
We also introduce the notations L →ₗ⁅R⁆ L' for a morphism of Lie algebras over a commutative ring R, and L →ₗ⁅⁆ L' for the same, when the ring is implicit.
Implementation notes
Lie algebras are defined as modules with a compatible Lie ring structure, and thus are partially unbundled. Since they extend Lie rings, these are also partially unbundled.
References
- [N. Bourbaki, Lie Groups and Lie Algebras, Chapters 1--3][bourbaki1975]
Tags
lie bracket, ring commutator, jacobi identity, lie ring, lie algebra
- bracket : L → L → L
A binary operation, intended use in Lie algebras and similar structures.
An Abelian Lie algebra is one in which all brackets vanish. Arguably this class belongs in the
has_bracket
namespace but it seems much more user-friendly to compromise slightly and put it in
the lie_algebra
namespace.
The bracket operation for rings is the ring commutator, which captures the extent to which a ring is commutative. It is identically zero exactly when the ring is commutative.
- to_add_comm_group : add_comm_group L
- to_has_bracket : has_bracket L
- add_lie : ∀ (x y z : L), ⁅x + y,z⁆ = ⁅x,z⁆ + ⁅y,z⁆
- lie_add : ∀ (x y z : L), ⁅z,x + y⁆ = ⁅z,x⁆ + ⁅z,y⁆
- lie_self : ∀ (x : L), ⁅x,x⁆ = 0
- jacobi : ∀ (x y z : L), ⁅x,⁅y,z⁆⁆ + ⁅y,⁅z,x⁆⁆ + ⁅z,⁅x,y⁆⁆ = 0
A Lie ring is an additive group with compatible product, known as the bracket, satisfying the Jacobi identity. The bracket is not associative unless it is identically zero.
An associative ring gives rise to a Lie ring by taking the bracket to be the ring commutator.
Equations
- lie_ring.of_associative_ring A = {to_add_comm_group := ring.to_add_comm_group A _inst_2, to_has_bracket := ring_commutator.has_bracket _inst_2, add_lie := _, lie_add := _, lie_self := _, jacobi := _}
A Lie algebra is a module with compatible product, known as the bracket, satisfying the Jacobi identity. Forgetting the scalar multiplication, every Lie algebra is a Lie ring.
- to_fun : L → L'
- map_add' : ∀ (x y : L), c.to_fun (x + y) = c.to_fun x + c.to_fun y
- map_smul' : ∀ (c_1 : R) (x : L), c.to_fun (c_1 • x) = c_1 • c.to_fun x
- map_lie : ∀ {x y : L}, c.to_fun ⁅x,y⁆ = ⁅c.to_fun x,c.to_fun y⁆
A morphism of Lie algebras is a linear map respecting the bracket operations.
Equations
- lie_algebra.has_coe = {coe := lie_algebra.morphism.to_linear_map _inst_6}
Equations
- lie_algebra.has_coe_to_fun = {F := λ (x : L₁ →ₗ⁅R⁆ L₂), L₁ → L₂, coe := lie_algebra.morphism.to_fun _inst_6}
The constant 0 map is a Lie algebra morphism.
Equations
- lie_algebra.inhabited = {default := 0}
The composition of morphisms is a morphism.
The inverse of a bijective morphism is a morphism.
- to_fun : L → L'
- map_add' : ∀ (x y : L), c.to_fun (x + y) = c.to_fun x + c.to_fun y
- map_smul' : ∀ (c_1 : R) (x : L), c.to_fun (c_1 • x) = c_1 • c.to_fun x
- map_lie : ∀ {x y : L}, c.to_fun ⁅x,y⁆ = ⁅c.to_fun x,c.to_fun y⁆
- inv_fun : L' → L
- left_inv : function.left_inverse c.inv_fun c.to_fun
- right_inv : function.right_inverse c.inv_fun c.to_fun
An equivalence of Lie algebras is a morphism which is also a linear equivalence. We could
instead define an equivalence to be a morphism which is also a (plain) equivalence. However it is
more convenient to define via linear equivalence to get .to_linear_equiv
for free.
Equations
Equations
Equations
- lie_algebra.equiv.has_coe_to_fun = {F := λ (x : L₁ ≃ₗ⁅R⁆ L₂), L₁ → L₂, coe := lie_algebra.equiv.to_fun _inst_6}
Equations
Lie algebra equivalences are reflexive.
Equations
Lie algebra equivalences are symmetric.
Lie algebra equivalences are transitive.
Equations
- e₁.trans e₂ = {to_fun := (e₂.to_morphism.comp e₁.to_morphism).to_fun, map_add' := _, map_smul' := _, map_lie := _, inv_fun := (e₁.to_linear_equiv.trans e₂.to_linear_equiv).inv_fun, left_inv := _, right_inv := _}
The direct sum of Lie rings carries a natural Lie ring structure.
Equations
- lie_algebra.direct_sum.lie_ring = {to_add_comm_group := {add := add_comm_group.add infer_instance, add_assoc := _, zero := add_comm_group.zero infer_instance, zero_add := _, add_zero := _, neg := add_comm_group.neg infer_instance, add_left_neg := _, add_comm := _}, to_has_bracket := {bracket := dfinsupp.zip_with (λ (i : ι) (x y : (λ (i : ι), L i) i), ⁅x,y⁆) lie_algebra.direct_sum.lie_ring._proof_6}, add_lie := _, lie_add := _, lie_self := _, jacobi := _}
The direct sum of Lie algebras carries a natural Lie algebra structure.
Equations
An associative algebra gives rise to a Lie algebra by taking the bracket to be the ring commutator.
Equations
Equations
The map of_associative_algebra
associating a Lie algebra to an associative algebra is
functorial.
Equations
- lie_algebra.of_associative_algebra_hom f = {to_fun := f.to_linear_map.to_fun, map_add' := _, map_smul' := _, map_lie := _}
An important class of Lie algebras are those arising from the associative algebra structure on module endomorphisms. We state a lemma and give a definition concerning them.
The adjoint action of a Lie algebra on itself.
- carrier : set L
- zero_mem' : 0 ∈ c.carrier
- add_mem' : ∀ {a b : L}, a ∈ c.carrier → b ∈ c.carrier → a + b ∈ c.carrier
- smul_mem' : ∀ (c_1 : R) {x : L}, x ∈ c.carrier → c_1 • x ∈ c.carrier
- lie_mem : ∀ {x y : L}, x ∈ c.carrier → y ∈ c.carrier → ⁅x,y⁆ ∈ c.carrier
A Lie subalgebra of a Lie algebra is submodule that is closed under the Lie bracket. This is a sufficient condition for the subset itself to form a Lie algebra.
The zero algebra is a subalgebra of any Lie algebra.
Equations
- lie_subalgebra.inhabited R L = {default := 0}
Equations
- set.has_coe R L = {coe := lie_subalgebra.carrier _inst_3}
Equations
- lie_subalgebra.has_mem R L = {mem := λ (x : L) (L' : lie_subalgebra R L), x ∈ ↑L'}
Equations
- lie_subalgebra_coe_submodule R L = {coe := lie_subalgebra.to_submodule _inst_3}
A Lie subalgebra forms a new Lie ring.
Equations
- lie_subalgebra_lie_ring R L L' = {to_add_comm_group := (has_coe_t_aux.coe L').add_comm_group, to_has_bracket := {bracket := λ (x y : ↥L'), ⟨⁅x.val,y.val⁆, _⟩}, add_lie := _, lie_add := _, lie_self := _, jacobi := _}
A Lie subalgebra forms a new Lie algebra.
Equations
- lie_subalgebra_lie_algebra R L L' = {to_semimodule := (has_coe_t_aux.coe L').semimodule, lie_smul := _}
A subalgebra of an associative algebra is a Lie subalgebra of the associated Lie algebra.
Equations
- lie_subalgebra_of_subalgebra R A A' = {carrier := A'.to_submodule.carrier, zero_mem' := _, add_mem' := _, smul_mem' := _, lie_mem := _}
The embedding of a Lie subalgebra into the ambient space as a Lie morphism.
The range of a morphism of Lie algebras is a Lie subalgebra.
The image of a Lie subalgebra under a Lie algebra morphism is a Lie subalgebra of the codomain.
An injective Lie algebra morphism is an equivalence onto its range.
Lie subalgebras that are equal as sets are equivalent as Lie algebras.
An equivalence of Lie algebras restricts to an equivalence from any Lie subalgebra onto its image.
An equivalence of Lie algebras restricts to an equivalence from any Lie subalgebra onto its image.
- to_linear_action : linear_action R L M
- lie_act : ∀ (l l' : L) (m : M), linear_action.act R ⁅l,l'⁆ m = linear_action.act R l (linear_action.act R l' m) - linear_action.act R l' (linear_action.act R l m)
A Lie module is a module over a commutative ring, together with a linear action of a Lie algebra on this module, such that the Lie bracket acts as the commutator of endomorphisms.
A Lie morphism from a Lie algebra to the endomorphism algebra of a module yields a Lie module structure.
Equations
- lie_module.of_endo_morphism R L M α = {to_linear_action := {act := linear_action.act R (linear_action.of_endo_map R L M ↑α), add_act := _, act_add := _, act_smul := _, smul_act := _}, lie_act := _}
Every Lie algebra is a module over itself.
Equations
- to_submodule : submodule R M
- lie_mem : ∀ {x : L} {m : M}, m ∈ c.to_submodule.carrier → linear_action.act R x m ∈ c.to_submodule.carrier
A Lie submodule of a Lie module is a submodule that is closed under the Lie bracket. This is a sufficient condition for the subset itself to form a Lie module.
The zero module is a Lie submodule of any Lie module.
Equations
- lie_submodule.inhabited R L M = {default := 0}
Equations
- lie_submodule_coe_submodule R L M = {coe := lie_submodule.to_submodule _inst_6}
Equations
- lie_submodule_has_mem R L M = {mem := λ (x : M) (N : lie_submodule R L M), x ∈ ↑N}
Equations
- lie_submodule_lie_module R L M N = {to_linear_action := {act := λ (x : L) (m : ↥N), ⟨linear_action.act R x m.val, _⟩, add_act := _, act_add := _, act_smul := _, smul_act := _}, lie_act := _}
An ideal of a Lie algebra is a Lie submodule of the Lie algebra as a Lie module over itself.
An ideal of a Lie algebra is a Lie subalgebra.
Equations
- lie_ideal_subalgebra R L I = {carrier := I.to_submodule.carrier, zero_mem' := _, add_mem' := _, smul_mem' := _, lie_mem := _}
- irreducible : ∀ (M' : lie_submodule R L M), (∃ (m : ↥M'), m ≠ 0) → ∀ (m : M), m ∈ M'
A Lie module is irreducible if its only non-trivial Lie submodule is itself.
- simple : lie_module.is_irreducible R L L ∧ ¬lie_algebra.is_abelian L
A Lie algebra is simple if it is irreducible as a Lie module over itself via the adjoint action, and it is non-Abelian.
The quotient of a Lie module by a Lie submodule. It is a Lie module.
Map sending an element of M
to the corresponding element of M/N
, when N
is a lie_submodule of
the lie_module N
.
Given a Lie module M
over a Lie algebra L
, together with a Lie submodule N ⊆ M
, there
is a natural linear map from L
to the endomorphisms of M
leaving N
invariant.
The quotient of a Lie module by a Lie submodule, is a Lie module.
Equations
- lie_submodule.quotient.lie_quotient_lie_module = {to_linear_action := {act := linear_action.act R lie_submodule.quotient.lie_quotient_action, add_act := _, act_add := _, act_smul := _, smul_act := _}, lie_act := _}
Equations
- lie_submodule.quotient.lie_quotient_has_bracket = {bracket := λ (x y : lie_submodule.quotient I), quotient.lift_on₂' x y (λ (x' y' : L), lie_submodule.quotient.mk ⁅x',y'⁆) lie_submodule.quotient.lie_quotient_has_bracket._proof_1}
Equations
A linear equivalence of two modules induces a Lie algebra equivalence of their endomorphisms.
### Matrices
An important class of Lie algebras are those arising from the associative algebra structure on square matrices over a commutative ring.
The natural equivalence between linear endomorphisms of finite free modules and square matrices is compatible with the Lie algebra structures.
Equations
- lie_equiv_matrix' = {to_fun := linear_equiv_matrix'.to_fun, map_add' := _, map_smul' := _, map_lie := _, inv_fun := linear_equiv_matrix'.inv_fun, left_inv := _, right_inv := _}
An invertible matrix induces a Lie algebra equivalence from the space of matrices to itself.
Equations
- P.lie_conj h = (lie_equiv_matrix'.symm.trans (P.to_linear_equiv h).lie_conj).trans lie_equiv_matrix'
For square matrices, the natural map that reindexes a matrix's rows and columns with equivalent types is an equivalence of Lie algebras.
Equations
- matrix.reindex_lie_equiv e = {to_fun := (matrix.reindex_linear_equiv e e).to_fun, map_add' := _, map_smul' := _, map_lie := _, inv_fun := (matrix.reindex_linear_equiv e e).inv_fun, left_inv := _, right_inv := _}
Given an R
-module M
, equipped with a bilinear form, the skew-adjoint endomorphisms form a
Lie subalgebra of the Lie algebra of endomorphisms.
Equations
- skew_adjoint_lie_subalgebra B = {carrier := B.skew_adjoint_submodule.carrier, zero_mem' := _, add_mem' := _, smul_mem' := _, lie_mem := _}
An equivalence of modules with bilinear forms gives equivalence of Lie algebras of skew-adjoint endomorphisms.
Equations
The Lie subalgebra of skew-adjoint square matrices corresponding to a square matrix J
.
Equations
- skew_adjoint_matrices_lie_subalgebra J = {carrier := (skew_adjoint_matrices_submodule J).carrier, zero_mem' := _, add_mem' := _, smul_mem' := _, lie_mem := _}
An invertible matrix P
gives a Lie algebra equivalence between those endomorphisms that are
skew-adjoint with respect to a square matrix J
and those with respect to PᵀJP
.
Equations
An equivalence of matrix algebras commuting with the transpose endomorphisms restricts to an equivalence of Lie algebras of skew-adjoint matrices.