Documentation

Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear

The canonical bilinear form on a finite root pairing #

Given a finite root pairing, we define a canonical map from weight space to coweight space, and the corresponding bilinear form. This form is symmetric and Weyl-invariant, and if the base ring is linearly ordered, then the form is root-positive, positive-semidefinite on the weight space, and positive-definite on the span of roots. From these facts, it is easy to show that Coxeter weights in a finite root pairing are bounded above by 4. Thus, the pairings of roots and coroots in a crystallographic root pairing are restricted to a small finite set of possibilities. Another application is to the faithfulness of the Weyl group action on roots, and finiteness of the Weyl group.

Main definitions: #

Main results: #

References: #

def RootPairing.Polarization {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :

An invariant linear map from weight space to coweight space.

Equations
    Instances For
      @[simp]
      theorem RootPairing.Polarization_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x : M) :
      P.Polarization x = i : ι, (P.coroot' i) x P.coroot i
      def RootPairing.CoPolarization {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :

      An invariant linear map from coweight space to weight space.

      Equations
        Instances For
          @[simp]
          theorem RootPairing.CoPolarization_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x : N) :
          P.CoPolarization x = i : ι, (P.root' i) x P.root i
          theorem RootPairing.CoPolarization_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :
          def RootPairing.RootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :

          An invariant inner product on the weight space.

          Equations
            Instances For
              def RootPairing.CorootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :

              An invariant inner product on the coweight space.

              Equations
                Instances For
                  theorem RootPairing.rootForm_apply_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x y : M) :
                  (P.RootForm x) y = i : ι, (P.coroot' i) x * (P.coroot' i) y
                  theorem RootPairing.corootForm_apply_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x y : N) :
                  (P.CorootForm x) y = i : ι, (P.root' i) x * (P.root' i) y
                  theorem RootPairing.toPerfectPairing_apply_apply_Polarization {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x y : M) :
                  theorem RootPairing.toPerfectPairing_apply_CoPolarization {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x : N) :
                  theorem RootPairing.flip_comp_polarization_eq_rootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :
                  theorem RootPairing.polarization_apply_eq_zero_iff {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (m : M) :
                  theorem RootPairing.coPolarization_apply_eq_zero_iff {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (n : N) :
                  theorem RootPairing.rootForm_symmetric {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :
                  @[simp]
                  theorem RootPairing.rootForm_reflection_reflection_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (i : ι) (x y : M) :
                  (P.RootForm ((P.reflection i) x)) ((P.reflection i) y) = (P.RootForm x) y
                  theorem RootPairing.rootForm_self_sum_of_squares {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (x : M) :
                  IsSumSq ((P.RootForm x) x)
                  theorem RootPairing.rootForm_root_self {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (j : ι) :
                  (P.RootForm (P.root j)) (P.root j) = i : ι, P.pairing j i * P.pairing j i
                  def RootPairing.PolarizationIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [P.IsValuedIn S] [Fintype ι] :
                  (P.rootSpan S) →ₗ[S] N

                  Polarization restricted to S-span of roots.

                  Equations
                    Instances For
                      theorem RootPairing.PolarizationIn_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [P.IsValuedIn S] [Fintype ι] (x : (P.rootSpan S)) :
                      (P.PolarizationIn S) x = i : ι, (P.coroot'In S i) x P.coroot i
                      theorem RootPairing.PolarizationIn_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] (x : (P.rootSpan S)) :
                      theorem RootPairing.range_polarizationIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] :
                      def RootPairing.CoPolarizationIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] :
                      (P.corootSpan S) →ₗ[S] M

                      Polarization restricted to S-span of roots.

                      Equations
                        Instances For
                          theorem RootPairing.CoPolarizationIn_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] (x : (P.corootSpan S)) :
                          (P.CoPolarizationIn S) x = i : ι, (P.root'In S i) x P.root i
                          theorem RootPairing.CoPolarizationIn_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] (x : (P.corootSpan S)) :
                          def RootPairing.RootFormIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] :

                          A canonical bilinear form on the span of roots in a finite root pairing, taking values in a commutative ring, where the root-coroot pairing takes values in that ring.

                          Equations
                            Instances For
                              @[simp]
                              theorem RootPairing.algebraMap_rootFormIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] (x y : (P.rootSpan S)) :
                              (algebraMap S R) (((P.RootFormIn S) x) y) = (P.RootForm x) y
                              theorem RootPairing.toPerfectPairing_apply_PolarizationIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] (x y : (P.rootSpan S)) :
                              (P.toPerfectPairing y) ((P.PolarizationIn S) x) = (algebraMap S R) (((P.RootFormIn S) x) y)
                              theorem RootPairing.range_polarizationIn_le_span_coroot {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [P.IsValuedIn S] [Fintype ι] :
                              theorem RootPairing.rootFormIn_self_smul_coroot {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] (i : ι) :
                              ((P.RootFormIn S) (P.rootSpanMem S i)) (P.rootSpanMem S i) P.coroot i = 2 (P.PolarizationIn S) (P.rootSpanMem S i)

                              A version of SGA3 XXI Lemma 1.2.1 (10), adapted to change of rings.

                              theorem RootPairing.prod_rootFormIn_smul_coroot_mem_range_PolarizationIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsValuedIn S] [Fintype ι] (i : ι) :
                              (∏ j : ι, ((P.RootFormIn S) (P.rootSpanMem S j)) (P.rootSpanMem S j)) P.coroot i LinearMap.range (P.PolarizationIn S)
                              theorem RootPairing.rootForm_self_smul_coroot {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (i : ι) :
                              (P.RootForm (P.root i)) (P.root i) P.coroot i = 2 P.Polarization (P.root i)

                              A version of SGA3 XXI Lemma 1.2.1 (10).

                              theorem RootPairing.corootForm_self_smul_root {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (i : ι) :
                              (P.CorootForm (P.coroot i)) (P.coroot i) P.root i = 2 P.CoPolarization (P.coroot i)
                              theorem RootPairing.four_nsmul_coPolarization_compl_polarization_apply_root {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (i : ι) :
                              (4 P.CoPolarization ∘ₗ P.Polarization) (P.root i) = ((P.RootForm (P.root i)) (P.root i) * (P.CorootForm (P.coroot i)) (P.coroot i)) P.root i
                              theorem RootPairing.four_smul_rootForm_sq_eq_coxeterWeight_smul {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (i j : ι) :
                              4 (P.RootForm (P.root i)) (P.root j) ^ 2 = P.coxeterWeight i j ((P.RootForm (P.root i)) (P.root i) * (P.RootForm (P.root j)) (P.root j))
                              theorem RootPairing.prod_rootForm_smul_coroot_mem_range_domRestrict {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) [Fintype ι] (i : ι) :
                              (∏ a : ι, (P.RootForm (P.root a)) (P.root a)) P.coroot i LinearMap.range (P.Polarization.domRestrict (P.rootSpan R))
                              def RootPairing.posRootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Fintype ι] :

                              The bilinear form of a finite root pairing taking values in a linearly-ordered ring, as a root-positive form.

                              Equations
                                Instances For
                                  theorem RootPairing.algebraMap_posRootForm_posForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] (x y : (Submodule.span S (Set.range P.root))) :
                                  (algebraMap S R) (((P.posRootForm S).posForm x) y) = (P.RootForm x) y
                                  @[simp]
                                  theorem RootPairing.posRootForm_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] :
                                  theorem RootPairing.exists_ge_zero_eq_rootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] (x : M) (hx : x Submodule.span S (Set.range P.root)) :
                                  s0, (algebraMap S R) s = (P.RootForm x) x
                                  theorem RootPairing.posRootForm_posForm_apply_apply {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] (x y : (P.rootSpan S)) :
                                  ((P.posRootForm S).posForm x) y = i : ι, (P.coroot'In S i) x * (P.coroot'In S i) y
                                  theorem RootPairing.zero_le_posForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] [Fintype ι] (x : (Submodule.span S (Set.range P.root))) :
                                  0 ((P.posRootForm S).posForm x) x
                                  theorem RootPairing.zero_lt_pairingIn_iff' {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] {i j : ι} [Finite ι] :
                                  0 < P.pairingIn S i j 0 < P.pairingIn S j i
                                  theorem RootPairing.pairingIn_lt_zero_iff {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] {i j : ι} [Finite ι] :
                                  P.pairingIn S i j < 0 P.pairingIn S j i < 0
                                  theorem RootPairing.pairingIn_le_zero_iff {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [Algebra S R] [FaithfulSMul S R] [Module S M] [IsScalarTower S R M] [P.IsValuedIn S] {i j : ι} [Finite ι] [NeZero 2] [NoZeroSMulDivisors R M] :
                                  P.pairingIn S i j 0 P.pairingIn S j i 0