# mathlibdocumentation

algebra.lie.classical

# Classical Lie algebras #

This file is the place to find definitions and basic properties of the classical Lie algebras:

• Aₗ = sl(l+1)
• Bₗ ≃ so(l+1, l) ≃ so(2l+1)
• Cₗ = sp(l)
• Dₗ ≃ so(l, l) ≃ so(2l)

## Main definitions #

• lie_algebra.special_linear.sl
• lie_algebra.symplectic.sp
• lie_algebra.orthogonal.so
• lie_algebra.orthogonal.so'
• lie_algebra.orthogonal.so_indefinite_equiv
• lie_algebra.orthogonal.type_D
• lie_algebra.orthogonal.type_B
• lie_algebra.orthogonal.type_D_equiv_so'
• lie_algebra.orthogonal.type_B_equiv_so'

## Implementation notes #

### Matrices or endomorphisms #

Given a finite type and a commutative ring, the corresponding square matrices are equivalent to the endomorphisms of the corresponding finite-rank free module as Lie algebras, see lie_equiv_matrix'. We can thus define the classical Lie algebras as Lie subalgebras either of matrices or of endomorphisms. We have opted for the former. At the time of writing (August 2020) it is unclear which approach should be preferred so the choice should be assumed to be somewhat arbitrary.

### Diagonal quadratic form or diagonal Cartan subalgebra #

For the algebras of type B and D, there are two natural definitions. For example since the the 2l × 2l matrix: $$J = \left[\begin{array}{cc} 0_l & 1_l\\ 1_l & 0_l \end{array}\right]$$ defines a symmetric bilinear form equivalent to that defined by the identity matrix I, we can define the algebras of type D to be the Lie subalgebra of skew-adjoint matrices either for J or for I. Both definitions have their advantages (in particular the J-skew-adjoint matrices define a Lie algebra for which the diagonal matrices form a Cartan subalgebra) and so we provide both. We thus also provide equivalences type_D_equiv_so', so_indefinite_equiv which show the two definitions are equivalent. Similarly for the algebras of type B.

## Tags #

classical lie algebra, special linear, symplectic, orthogonal

@[simp]
theorem lie_algebra.matrix_trace_commutator_zero (n : Type u_1) (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] (X Y : n R) :
def lie_algebra.special_linear.sl (n : Type u_1) (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] :
(matrix n n R)

The special linear Lie algebra: square matrices of trace zero.

Equations
theorem lie_algebra.special_linear.sl_bracket (n : Type u_1) (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] (A B : ) :
def lie_algebra.special_linear.Eb {n : Type u_1} (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] (i j : n) (h : j i) :

When j ≠ i, the elementary matrices are elements of sl n R, in fact they are part of a natural basis of sl n R.

Equations
@[simp]
theorem lie_algebra.special_linear.Eb_val {n : Type u_1} (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] (i j : n) (h : j i) :
h).val =
theorem lie_algebra.special_linear.sl_non_abelian (n : Type u_1) (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] [nontrivial R] (h : 1 < ) :
def lie_algebra.symplectic.J (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
matrix (l l) (l l) R

The matrix defining the canonical skew-symmetric bilinear form.

Equations
• = (-1) 1 0
def lie_algebra.symplectic.sp (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] :
(matrix (l l) (l l) R)

The symplectic Lie algebra: skew-adjoint matrices with respect to the canonical skew-symmetric bilinear form.

Equations
def lie_algebra.orthogonal.so (n : Type u_1) (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] :
(matrix n n R)

The definite orthogonal Lie subalgebra: skew-adjoint matrices with respect to the symmetric bilinear form defined by the identity matrix.

Equations
@[simp]
theorem lie_algebra.orthogonal.mem_so (n : Type u_1) (R : Type u₂) [decidable_eq n] [comm_ring R] [fintype n] (A : n R) :
def lie_algebra.orthogonal.indefinite_diagonal (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] :
matrix (p q) (p q) R

The indefinite diagonal matrix with p 1s and q -1s.

Equations
def lie_algebra.orthogonal.so' (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] [fintype p] [fintype q] :
(matrix (p q) (p q) R)

The indefinite orthogonal Lie subalgebra: skew-adjoint matrices with respect to the symmetric bilinear form defined by the indefinite diagonal matrix.

Equations
def lie_algebra.orthogonal.Pso (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] (i : R) :
matrix (p q) (p q) R

A matrix for transforming the indefinite diagonal bilinear form into the definite one, provided the parameter i is a square root of -1.

Equations
theorem lie_algebra.orthogonal.Pso_inv (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] [fintype p] [fintype q] {i : R} (hi : i * i = -1) :
i * (-i) = 1
def lie_algebra.orthogonal.invertible_Pso (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] [fintype p] [fintype q] {i : R} (hi : i * i = -1) :

There is a constructive inverse of Pso p q R i.

Equations
• = (λ (j k : p q), (-i) j k) _
theorem lie_algebra.orthogonal.indefinite_diagonal_transform (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] [fintype p] [fintype q] {i : R} (hi : i * i = -1) :
R i).transpose.mul .mul i) = 1
def lie_algebra.orthogonal.so_indefinite_equiv (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] [fintype p] [fintype q] {i : R} (hi : i * i = -1) :

An equivalence between the indefinite and definite orthogonal Lie algebras, over a ring containing a square root of -1.

Equations
theorem lie_algebra.orthogonal.so_indefinite_equiv_apply (p : Type u_2) (q : Type u_3) (R : Type u₂) [decidable_eq p] [decidable_eq q] [comm_ring R] [fintype p] [fintype q] {i : R} (hi : i * i = -1) (A : R)) :
( A) = R i)⁻¹.mul A).mul i)
def lie_algebra.orthogonal.JD (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
matrix (l l) (l l) R

A matrix defining a canonical even-rank symmetric bilinear form.

It looks like this as a 2l x 2l matrix of l x l blocks:

[ 0 1 ] [ 1 0 ]

Equations
• = 1 0
def lie_algebra.orthogonal.type_D (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] :
(matrix (l l) (l l) R)

The classical Lie algebra of type D as a Lie subalgebra of matrices associated to the matrix JD.

Equations
def lie_algebra.orthogonal.PD (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
matrix (l l) (l l) R

A matrix transforming the bilinear form defined by the matrix JD into a split-signature diagonal matrix.

It looks like this as a 2l x 2l matrix of l x l blocks:

[ 1 -1 ] [ 1 1 ]

Equations
• = (-1) 1 1
Instances for lie_algebra.orthogonal.PD
def lie_algebra.orthogonal.S (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
matrix (l l) (l l) R

The split-signature diagonal matrix.

Equations
theorem lie_algebra.orthogonal.S_as_blocks (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
= 0 (-1)
theorem lie_algebra.orthogonal.JD_transform (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] :
.mul =
theorem lie_algebra.orthogonal.PD_inv (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] [invertible 2] :
= 1
@[protected, instance]
def lie_algebra.orthogonal.invertible_PD (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] [invertible 2] :
Equations
def lie_algebra.orthogonal.type_D_equiv_so' (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] [invertible 2] :

An equivalence between two possible definitions of the classical Lie algebra of type D.

Equations
def lie_algebra.orthogonal.JB (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
matrix (unit l l) (unit l l) R

A matrix defining a canonical odd-rank symmetric bilinear form.

It looks like this as a (2l+1) x (2l+1) matrix of blocks:

[ 2 0 0 ] [ 0 0 1 ] [ 0 1 0 ]

where sizes of the blocks are:

[1 x 1 1 x l 1 x l] [l x 1 l x l l x l] [l x 1 l x l l x l]

Equations
def lie_algebra.orthogonal.type_B (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] :
(matrix (unit l l) (unit l l) R)

The classical Lie algebra of type B as a Lie subalgebra of matrices associated to the matrix JB.

Equations
def lie_algebra.orthogonal.PB (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] :
matrix (unit l l) (unit l l) R

A matrix transforming the bilinear form defined by the matrix JB into an almost-split-signature diagonal matrix.

It looks like this as a (2l+1) x (2l+1) matrix of blocks:

[ 1 0 0 ] [ 0 1 -1 ] [ 0 1 1 ]

where sizes of the blocks are:

[1 x 1 1 x l 1 x l] [l x 1 l x l l x l] [l x 1 l x l l x l]

Equations
Instances for lie_algebra.orthogonal.PB
theorem lie_algebra.orthogonal.PB_inv (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] [invertible 2] :
* 0 ( = 1
@[protected, instance]
def lie_algebra.orthogonal.invertible_PB (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] [invertible 2] :
Equations
theorem lie_algebra.orthogonal.JB_transform (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] :
.mul = 2 0
theorem lie_algebra.orthogonal.indefinite_diagonal_assoc (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] :
= 0
def lie_algebra.orthogonal.type_B_equiv_so' (l : Type u_4) (R : Type u₂) [decidable_eq l] [comm_ring R] [fintype l] [invertible 2] :

An equivalence between two possible definitions of the classical Lie algebra of type B.

Equations