Root-positive bilinear forms on root pairings #
This file contains basic results on Weyl-invariant inner products for root systems and root data. Given a root pairing we define a structure which contains a bilinear form together with axioms for reflection-invariance, symmetry, and strict positivity on all roots. We show that root-positive forms display the same sign behavior as the canonical pairing between roots and coroots.
Root-positive forms show up naturally as the invariant forms for symmetrizable Kac-Moody Lie algebras. In the finite case, the canonical polarization yields a root-positive form that is positive semi-definite on weight space and positive-definite on the span of roots.
Main definitions / results: #
RootPairing.RootPositiveForm
: Given a root pairing this is a structure which contains a bilinear form together with axioms for reflection-invariance, symmetry, and strict positivity on all roots.RootPairing.zero_lt_pairingIn_iff
: sign relations betweenRootPairing.pairingIn
and a root-positive form.RootPairing.pairing_zero_iff
: symmetric vanishing condition forRootPairing.pairing
RootPairing.coxeterWeight_nonneg
: All pairs of roots have non-negative Coxeter weight.RootPairing.coxeterWeight_zero_iff_isOrthogonal
: A Coxeter weight vanishes iff the roots are orthogonal.
TODO #
- Invariance under the Weyl group.
Given a root pairing, this is an invariant symmetric bilinear form satisfying a positivity condition.
- form : LinearMap.BilinForm R M
The bilinear form bundled inside a
RootPositiveForm
. - symm : LinearMap.IsSymm self.form
- isOrthogonal_reflection (i : ι) : LinearMap.IsOrthogonal self.form ⇑(P.reflection i)
- exists_eq (i j : ι) : ∃ (s : S), (algebraMap S R) s = (self.form (P.root i)) (P.root j)
- exists_pos_eq (i : ι) : ∃ s > 0, (algebraMap S R) s = (self.form (P.root i)) (P.root i)
Instances For
Given a root-positive form associated to a root pairing with coefficients in R
but taking
values in S
, this is the associated S
-bilinear form on the S
-span of the roots.
Equations
- B.posForm = (Submodule.span S (Set.range ⇑P.root)).subtype.restrictScalarsRange (Submodule.span S (Set.range ⇑P.root)).subtype (Algebra.linearMap S R) ⋯ B.form ⋯