The three-dimensional Heisenberg Lie algebra #
The Heisenberg Lie algebra is the strictly upper triangular 3 × 3 matrices, that is,
TauCeti.strictUpperTriangular R (Fin 3), and TauCeti.heisenberg is that Lie subalgebra of
gl 3 R under its traditional name. It is free of rank three on the matrix units
x = E₀₁, y = E₁₂, z = E₀₂,
whose only nonzero bracket is ⁅x, y⁆ = z. Everything below comes out of one computation,
TauCeti.lie_eq_smul_heisenbergZ: the bracket of two strictly upper triangular 3 × 3 matrices
is a multiple of the corner z, with the 2 × 2 determinant of their two superdiagonal entries as
its coefficient. Every iterated bracket ⁅⁅A, B⁆, C⁆ vanishes, so z is central and the algebra
is nilpotent of class at most two — of class exactly two over a nontrivial ring, where
⁅x, y⁆ = z ≠ 0 (TauCeti.heisenbergZ_ne_zero) — with ⁅L, L⁆ and the centre both equal to the
line R ∙ z.
This is the standard two-step nilpotent Lie algebra, and it separates the two faithfulness
questions. Its centre is nonzero, so the adjoint representation is not faithful
(TauCeti.not_isFaithful_self_heisenberg); a faithful finite-dimensional representation of it must
therefore come from somewhere else, and the defining action on R³ supplies one, which needs no
statement here: LieModule.IsFaithful R (heisenberg R) (Fin 3 → R) is an instance for every
Lie subalgebra of gl 3 R, from Mathlib/Algebra/Lie/Matrix.lean. The Heisenberg Lie algebra also
pins down the indexing of the powers of the augmentation ideal U⁺(L) of
TauCeti/Algebra/Lie/UniversalEnveloping/Augmentation.lean: the central generator z is a single
bracket, so it lands in the square (U⁺)² and not merely in U⁺ itself
(TauCeti.ι_heisenbergZ_mem_augmentation_toIdeal_sq).
Main definitions #
TauCeti.heisenberg: the three-dimensional Heisenberg Lie algebra overR, as the Lie subalgebraTauCeti.strictUpperTriangular R (Fin 3)ofgl 3 R.TauCeti.heisenbergX,TauCeti.heisenbergY,TauCeti.heisenbergZ: its standard generatorsE₀₁,E₁₂andE₀₂.TauCeti.heisenbergEquivFunandTauCeti.heisenbergBasis: the coordinate isomorphismheisenberg R ≃ₗ[R] (Fin 3 → R)reading off the three superdiagonal and corner entries, and the basis(x, y, z)it produces, whose three vectors areTauCeti.heisenbergBasis_zero,TauCeti.heisenbergBasis_oneandTauCeti.heisenbergBasis_two, and whose coordinates are those three entries again (TauCeti.heisenbergBasis_equivFun).
Main results #
TauCeti.lie_eq_smul_heisenbergZ: the bracket is a multiple of the corner generator, with an explicit coefficient. The defining relationTauCeti.lie_heisenbergX_heisenbergYand the centralityTauCeti.heisenbergZ_lie,TauCeti.lie_heisenbergZofz— which together are the whole bracket table — are its special cases.TauCeti.lie_lie_heisenberg_eq_zero, its simp-normal companionTauCeti.lie_lie_heisenberg_eq_zero'andTauCeti.lie_mem_center_heisenberg: an iterated bracket vanishes, so every bracket is central.TauCeti.heisenbergBasis: the Heisenberg Lie algebra is a free module of rank three, andTauCeti.finrank_heisenbergreadsfinrank R (heisenberg R) = 3off that basis over a ring satisfying the strong rank condition.TauCeti.center_heisenberg_toSubmodule_eq_span_heisenbergZandTauCeti.lowerCentralSeries_heisenberg_one_toSubmodule_eq_span_heisenbergZ: the centre and the derived subalgebra are both the lineR ∙ z, andTauCeti.lowerCentralSeries_heisenberg_twois the vanishing of the next term, which makes the Heisenberg Lie algebra nilpotent of class at most two, and of class exactly two over a nontrivial ring.TauCeti.not_isFaithful_self_heisenberg: the adjoint representation is not faithful, in contrast with the defining action onR³, which is faithful by instance inference.TauCeti.ι_heisenbergZ_mem_augmentation_toIdeal_sq: the central generator lies in the square of the augmentation ideal ofU(L).
Implementation notes #
TauCeti.heisenberg is an abbreviation rather than a new type: the Heisenberg Lie algebra is the
strict upper triangle of gl 3 R, and every fact about TauCeti.strictUpperTriangular — that it is
a Lie subalgebra, spanned by the raising matrix units, closed under the associative product — is
meant to apply to it unchanged. What this file adds is the three-dimensional arithmetic, which the
general n does not have: for n = 3, and only there, a bracket is a multiple of a single fixed
matrix unit.
The Module.Free and Module.Finite instances are not proved here. The strict upper triangle is
free on the raising matrix units for every finite ordered index type, so
TauCeti/Algebra/Lie/GeneralLinear/Borel.lean carries both instances at general n, exactly as
TauCeti/Algebra/Lie/Sl2/Basic.lean takes its instances from
TauCeti/Algebra/Lie/GeneralLinear/Finrank.lean; TauCeti.heisenbergBasis is here to name the
three generators and to count them.
Everything is stated over an arbitrary commutative ring. [Nontrivial R] appears only where a
generator is claimed to be nonzero, and [StrongRankCondition R] only for the rank computation, as
in TauCeti/Algebra/Lie/Sl2/Basic.lean. Mathlib does not register LieRing.ofAssociativeRing as a
global instance, so, as in Mathlib/Algebra/Lie/Classical.lean and in
TauCeti/Algebra/Lie/GeneralLinear/Borel.lean, it is a local instance here.
References #
- J. E. Humphreys, Introduction to Lie Algebras and Representation Theory (1972), §1.2 and §17.
The three-dimensional Heisenberg Lie algebra over R: the strictly upper triangular
3 × 3 matrices, as a Lie subalgebra of gl 3 R = Matrix (Fin 3) (Fin 3) R.
It is free of rank three on the matrix units x = E₀₁, y = E₁₂ and z = E₀₂
(TauCeti.heisenbergBasis), whose only nonzero bracket is ⁅x, y⁆ = z.
Equations
Instances For
The generator x = E₀₁ of the Heisenberg Lie algebra.
Equations
- TauCeti.heisenbergX R = ⟨Matrix.single 0 1 1, ⋯⟩
Instances For
The generator y = E₁₂ of the Heisenberg Lie algebra.
Equations
- TauCeti.heisenbergY R = ⟨Matrix.single 1 2 1, ⋯⟩
Instances For
The central generator z = E₀₂ of the Heisenberg Lie algebra, the bracket ⁅x, y⁆.
Equations
- TauCeti.heisenbergZ R = ⟨Matrix.single 0 2 1, ⋯⟩
Instances For
Coordinates #
The entries of a strictly upper triangular 3 × 3 matrix expand it in the three matrix
units E₀₁, E₁₂ and E₀₂.
A multiple of the central generator vanishes only for a vanishing coefficient: reading off the corner entry recovers the coefficient.
The central generator is nonzero over a nontrivial ring.
The bracket #
The bracket of the Heisenberg Lie algebra is a multiple of its central generator. The
coefficient is the 2 × 2 determinant of the two superdiagonal entries, so the whole bracket
structure of the strict upper triangle in size three is one 2 × 2 determinant.
The defining relation of the Heisenberg Lie algebra: ⁅x, y⁆ = z.
The defining relation of the Heisenberg Lie algebra, in the opposite order:
⁅y, x⁆ = -z.
The central generator commutes with everything.
The central generator commutes with everything, on the other side.
An iterated bracket of length three vanishes: the Heisenberg Lie algebra is nilpotent of class at most two.
This is deliberately not a @[simp] lemma: Mathlib's lie_lie is itself @[simp] and rewrites
⁅⁅A, B⁆, C⁆ into ⁅A, ⁅B, C⁆⁆ - ⁅B, ⁅A, C⁆⁆, so the left-hand side here is not in simp-normal
form and the simpNF linter rejects the tag. The simp-normal form of the statement is
TauCeti.lie_lie_heisenberg_eq_zero', which is what closes such a goal by simp.
A bracket lies in the centre of the Heisenberg Lie algebra.
Coordinates, as a basis #
The coordinate isomorphism of the Heisenberg Lie algebra: a strictly upper triangular
3 × 3 matrix is its two superdiagonal entries together with its corner entry.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The standard basis of the Heisenberg Lie algebra, the matrix units x = E₀₁, y = E₁₂
and z = E₀₂; see TauCeti.heisenbergBasis_apply. In particular the Heisenberg Lie algebra is a
free R-module of rank three.
Instances For
The first standard basis vector of the Heisenberg Lie algebra is x = E₀₁.
The second standard basis vector of the Heisenberg Lie algebra is y = E₁₂.
The third standard basis vector of the Heisenberg Lie algebra is the central z = E₀₂.
The coordinates of the standard basis are the three entries read off by
TauCeti.heisenbergEquivFun.
The Heisenberg Lie algebra has rank three: finrank R (heisenberg R) = 3, over a
commutative ring satisfying the strong rank condition, which is what counting the three basis
vectors of TauCeti.heisenbergBasis needs.
The centre and the lower central series #
The centre of the Heisenberg Lie algebra is the line spanned by its central generator.
The derived subalgebra of the Heisenberg Lie algebra is the line spanned by its central generator, and so coincides with its centre.
The Heisenberg Lie algebra is nilpotent of class at most two: the second term of its lower
central series vanishes. Over a nontrivial ring the class is exactly two, the first term being the
nonzero line R ∙ z
(TauCeti.lowerCentralSeries_heisenberg_one_toSubmodule_eq_span_heisenbergZ,
TauCeti.heisenbergZ_ne_zero).
Faithfulness #
The Heisenberg Lie algebra is not abelian.
The adjoint representation of the Heisenberg Lie algebra is not faithful: it kills the
central generator. The defining action on R³ is faithful — LieModule.IsFaithful R (heisenberg R) (Fin 3 → R) is an instance for every Lie subalgebra of gl 3 R, from
Mathlib/Algebra/Lie/Matrix.lean — so this is a property of the adjoint representation and not of
the algebra.
The augmentation ideal #
The central generator of the Heisenberg Lie algebra lies in the square of the augmentation
ideal of its universal enveloping algebra, being the single bracket ⁅x, y⁆. This is the
indexing convention of
TauCeti.UniversalEnvelopingAlgebra.ι_mem_augmentation_toIdeal_pow_of_mem_lowerCentralSeries,
whose n-th term of the lower central series lands in the (n + 1)-st power: z belongs to the
first term, not the zeroth.