Base change for root pairings #
When the coefficients are a field, root pairings behave well with respect to restriction and extension of scalars.
Main results: #
RootPairing.restrict: ifRootPairing.pairingtakes values in a subfield, we may restrict to get a root system with coefficients in the subfield. Of particular interest is the case when the pairing takes values in its prime subfield (which happens for crystallographic pairings).
TODO #
- Extension of scalars
- Crystallographic root systems are isomorphic to base changes of root systems over
ℤ: TakeM₀andN₀to be theℤ-span of roots and coroots.
class RootPairing.IsBalanced {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [AddCommGroup M] [AddCommGroup N] [CommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) :
We say a root pairing is balanced if the root span and coroot span are perfectly complementary.
All root systems are balanced and all finite root pairings over a field are balanced.
- isPerfectCompl : P.IsPerfectCompl (P.rootSpan R) (P.corootSpan R)
Instances
instance RootPairing.instIsBalancedOfIsRootSystem {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [AddCommGroup M] [AddCommGroup N] [CommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsRootSystem] :
noncomputable def RootPairing.restrictScalars' {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsValuedIn K] :
RootPairing ι K ↥(Submodule.span K (Set.range ⇑P.root)) ↥(Submodule.span K (Set.range ⇑P.coroot))
Restriction of scalars for a root pairing taking values in a subfield.
See also RootPairing.restrictScalars.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance RootPairing.instIsRootSystemSubtypeMemSubmoduleSpanRangeCoeEmbeddingRootCorootRestrictScalars' {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsValuedIn K] :
(P.restrictScalars' K).IsRootSystem
@[simp]
theorem RootPairing.restrictScalars_toLinearMap_apply_apply {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsValuedIn K] (x : ↥(Submodule.span K (Set.range ⇑P.root))) (y : ↥(Submodule.span K (Set.range ⇑P.coroot))) :
@[simp]
theorem RootPairing.restrictScalars_coe_root {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsValuedIn K] (i : ι) :
@[simp]
theorem RootPairing.restrictScalars_coe_coroot {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsValuedIn K] (i : ι) :
@[simp]
theorem RootPairing.restrictScalars_pairing {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsValuedIn K] (i j : ι) :
@[reducible, inline]
noncomputable abbrev RootPairing.restrictScalars {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) (K : Type u_5) [Field K] [Algebra K L] [Module K M] [Module K N] [IsScalarTower K L M] [IsScalarTower K L N] [P.IsBalanced] [P.IsCrystallographic] :
RootPairing ι K ↥(Submodule.span K (Set.range ⇑P.root)) ↥(Submodule.span K (Set.range ⇑P.coroot))
Restriction of scalars for a crystallographic root pairing.
Equations
- P.restrictScalars K = P.restrictScalars' K
Instances For
@[reducible, inline]
noncomputable abbrev RootPairing.restrictScalarsRat {ι : Type u_1} {L : Type u_2} {M : Type u_3} {N : Type u_4} [Field L] [AddCommGroup M] [AddCommGroup N] [Module L M] [Module L N] (P : RootPairing ι L M N) [P.IsBalanced] [CharZero L] [P.IsCrystallographic] :
RootPairing ι ℚ ↥(Submodule.span ℚ (Set.range ⇑P.root)) ↥(Submodule.span ℚ (Set.range ⇑P.coroot))
Restriction of scalars to ℚ for a crystallographic root pairing in characteristic zero.