Documentation

TauCeti.LinearAlgebra.RootSystem.FiniteType.Classical

The classical Cartan matrices are of finite type, and the simply-laced ones positive definite #

TauCeti.IsFiniteType asks of an integer matrix that it be a generalized Cartan matrix carrying a positive rational symmetriser whose symmetrisation is positive definite. This file certifies the four infinite families of the standard list, Mathlib's CartanMatrix.A, CartanMatrix.B, CartanMatrix.C and CartanMatrix.D, uniformly in the rank and with no appeal to an already constructed root system: only the matrices themselves are involved.

The proof is the Gram-matrix one. The symmetrisation d i * A i j of a Cartan matrix is the matrix of inner products of the simple coroots α_i^∨ = 2 α_i / (α_i, α_i), so it is positive definite as soon as those vectors are linearly independent. Types A, B, and D therefore get explicit rational matrices whose rows are their simple coroots in the standard orthogonal coordinates, and two facts are proved about each: that its Gram matrix is the symmetrisation, and that its rows are independent. Positive definiteness is then Mathlib's Matrix.PosDef.mul_conjTranspose_self. Type C follows from type B because finite type is invariant under transpose.

The coordinates are the classical ones, and the rows are listed in the Bourbaki order carried by Mathlib's matrices, so that the last node is the one the Bₙ/Cₙ double edge ends at.

typesimple corootsambient space
Aₙeᵢ - eᵢ₊₁ℚ^{n+1}
Bₙeᵢ - eᵢ₊₁, and 2 e_{n-1}ℚ^n
Dₙeᵢ - eᵢ₊₁, and e_{n-2} + e_{n-1}ℚ^n

Type A is the one family whose ambient space is larger than its rank. A square rational M with M Mᵀ = CartanMatrix.A n would make the determinant of that matrix, which is n + 1, a rational square, so no n-dimensional rational coordinate model exists whenever n + 1 is not a square. The sum-zero hyperplane of ℚ^{n+1} instead gives one uniform model for every n.

Independence of the rows is where the families part company, and it is why type D is handled last. For A and B the matrix is triangular against an increasing choice of coordinates - TauCeti.vecMul_injective_of_submatrix_isUpperTriangular - with a nonzero diagonal. No such choice exists for D, whose two fork coordinates e_{n-2}, e_{n-1} support three rows between them, so that family is treated in two steps: the sum of all coordinates annihilates every row but the fork one, which pins the last coefficient to zero, and the rows that remain are the triangular chain again.

Main results #

Since TauCeti.DynkinType.cartanMatrix is Mathlib's matrix on each of these four constructors, a consumer that needs the standard Cartan matrix of a classical Dynkin type to be nonsingular reaches it through TauCeti.DynkinType.cartanMatrix_A and its siblings together with TauCeti.IsFiniteType.det_ne_zero.

Implementation notes #

Every simple system above has each row supported on at most two coordinates, so a private common construction and Gram-matrix calculation are shared by the three coordinate proofs. A row supported on a single coordinate is written with a zero second coefficient rather than with a separate constructor, using the clamped successor Order.succ for its second coordinate. A private helper selects the first coordinate of the type D fork row.

References #

This file supplies the classical half of the "finite-type condition" item of Layer 5 of TauCetiRoadmap/RepresentationTheory/RootSystems/README.md. The coordinate models are the standard ones of Bourbaki, Lie Groups and Lie Algebras, Chapters 4-6, plates I-IV, and of J. E. Humphreys, Introduction to Lie Algebras and Representation Theory, section 12.1.

Simple systems supported on two coordinates #

Independence of the rows #

Type Aₙ #

The Cartan matrix of type Aₙ is positive definite over ℚ, at every rank: it is the Gram matrix of the simple coroots, which are independent.

The Cartan matrix of type Aₙ is of finite type, at every rank. The family is simply laced, so the constant-one vector is a symmetriser and TauCeti.posDef_map_intCast_cartanMatrix_A is the positive definiteness of its symmetrisation.

Type Bₙ #

The Cartan matrix of type Bₙ is of finite type, at every rank.

The Cartan matrix of type Cₙ is of finite type, at every rank.

Type Dₙ #

The Cartan matrix of type Dₙ is positive definite over ℚ, at every rank: it is the Gram matrix of the simple coroots, which are independent. The coordinate model needs two coordinates for its fork, so the ranks 0 and 1 are handled apart: at rank 0 the matrix is empty and positive definiteness is vacuous, and at rank 1 Mathlib's CartanMatrix.D_one identifies the matrix with A 1.

The Cartan matrix of type Dₙ is of finite type, at every rank. The family is simply laced, so the constant-one vector is a symmetriser and TauCeti.posDef_map_intCast_cartanMatrix_D is the positive definiteness of its symmetrisation.