Documentation

Mathlib.LinearAlgebra.CliffordAlgebra.Contraction

Contraction in Clifford Algebras #

This file contains some of the results from [Gri16]. The key result is CliffordAlgebra.equivExterior.

Main definitions #

Implementation notes #

This file somewhat follows [Gri16], although we are missing some of the induction principles needed to prove many of the results. Here, we avoid the quotient-based approach described in [Gri16], instead directly constructing our objects using the universal property.

Note that [Gri16] concludes that its contents are not novel, and are in fact just a rehash of parts of [Bou07]; we should at some point consider swapping our references to refer to the latter.

Within this file, we use the local notation

Auxiliary construction for CliffordAlgebra.contractLeft

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CliffordAlgebra.contractLeftAux_apply_apply {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) (a : M) (a✝ : CliffordAlgebra Q × CliffordAlgebra Q) :
    ((contractLeftAux Q d) a) a✝ = d a a✝.1 - (ι Q) a * a✝.2
    theorem CliffordAlgebra.contractLeftAux_contractLeftAux {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) (v : M) (x fx : CliffordAlgebra Q) :
    ((contractLeftAux Q d) v) ((ι Q) v * x, ((contractLeftAux Q d) v) (x, fx)) = Q v fx

    Contract an element of the clifford algebra with an element d : Module.Dual R M from the left.

    Note that $v ⌋ x$ is spelt contractLeft (Q.associated v) x.

    This includes [Gri16] Theorem 10.75

    Equations
    Instances For

      Contract an element of the clifford algebra with an element d : Module.Dual R M from the right.

      Note that $x ⌊ v$ is spelt contractRight x (Q.associated v).

      This includes [Gri16] Theorem 16.75

      Equations
      Instances For
        theorem CliffordAlgebra.contractLeft_ι_mul {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} (d : Module.Dual R M) (a : M) (b : CliffordAlgebra Q) :
        (contractLeft d) ((ι Q) a * b) = d a b - (ι Q) a * (contractLeft d) b

        This is [Gri16] Theorem 6

        theorem CliffordAlgebra.contractRight_mul_ι {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} (d : Module.Dual R M) (a : M) (b : CliffordAlgebra Q) :
        (contractRight (b * (ι Q) a)) d = d a b - (contractRight b) d * (ι Q) a

        This is [Gri16] Theorem 12

        @[simp]
        theorem CliffordAlgebra.contractLeft_ι {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) (x : M) :
        (contractLeft d) ((ι Q) x) = (algebraMap R (CliffordAlgebra Q)) (d x)
        @[simp]
        theorem CliffordAlgebra.contractRight_ι {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) (x : M) :
        (contractRight ((ι Q) x)) d = (algebraMap R (CliffordAlgebra Q)) (d x)
        @[simp]
        theorem CliffordAlgebra.contractLeft_algebraMap {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) (r : R) :
        @[simp]
        theorem CliffordAlgebra.contractRight_algebraMap {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) (r : R) :
        @[simp]
        theorem CliffordAlgebra.contractLeft_one {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) :
        (contractLeft d) 1 = 0
        @[simp]
        theorem CliffordAlgebra.contractRight_one {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (d : Module.Dual R M) :
        theorem CliffordAlgebra.contractLeft_contractLeft {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} (d : Module.Dual R M) (x : CliffordAlgebra Q) :

        This is [Gri16] Theorem 7

        This is [Gri16] Theorem 13

        theorem CliffordAlgebra.contractLeft_comm {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} (d d' : Module.Dual R M) (x : CliffordAlgebra Q) :

        This is [Gri16] Theorem 8

        theorem CliffordAlgebra.contractRight_comm {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} (d d' : Module.Dual R M) (x : CliffordAlgebra Q) :

        This is [Gri16] Theorem 14

        @[simp]
        theorem CliffordAlgebra.changeFormAux_apply_apply {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (B : LinearMap.BilinForm R M) (a : M) (a✝ : CliffordAlgebra Q) :
        ((changeFormAux Q B) a) a✝ = (ι Q) a * a✝ - (contractLeft (B a)) a✝
        theorem CliffordAlgebra.changeFormAux_changeFormAux {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) (B : LinearMap.BilinForm R M) (v : M) (x : CliffordAlgebra Q) :
        ((changeFormAux Q B) v) (((changeFormAux Q B) v) x) = (Q v - (B v) v) x

        Convert between two algebras of different quadratic form, sending vector to vectors, scalars to scalars, and adjusting products by a contraction term.

        This is $\lambda_B$ from [Bou07] $9 Lemma 2.

        Equations
        Instances For

          Auxiliary lemma used as an argument to CliffordAlgebra.changeForm

          Auxiliary lemma used as an argument to CliffordAlgebra.changeForm

          Auxiliary lemma used as an argument to CliffordAlgebra.changeForm

          @[simp]
          theorem CliffordAlgebra.changeForm_one {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q Q' : QuadraticForm R M} {B : LinearMap.BilinForm R M} (h : LinearMap.BilinMap.toQuadraticMap B = Q' - Q) :
          (changeForm h) 1 = 1
          @[simp]
          theorem CliffordAlgebra.changeForm_ι {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q Q' : QuadraticForm R M} {B : LinearMap.BilinForm R M} (h : LinearMap.BilinMap.toQuadraticMap B = Q' - Q) (m : M) :
          (changeForm h) ((ι Q) m) = (ι Q') m
          theorem CliffordAlgebra.changeForm_ι_mul {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q Q' : QuadraticForm R M} {B : LinearMap.BilinForm R M} (h : LinearMap.BilinMap.toQuadraticMap B = Q' - Q) (m : M) (x : CliffordAlgebra Q) :
          (changeForm h) ((ι Q) m * x) = (ι Q') m * (changeForm h) x - (contractLeft (B m)) ((changeForm h) x)
          theorem CliffordAlgebra.changeForm_ι_mul_ι {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q Q' : QuadraticForm R M} {B : LinearMap.BilinForm R M} (h : LinearMap.BilinMap.toQuadraticMap B = Q' - Q) (m₁ m₂ : M) :
          (changeForm h) ((ι Q) m₁ * (ι Q) m₂) = (ι Q') m₁ * (ι Q') m₂ - (algebraMap R (CliffordAlgebra Q')) ((B m₁) m₂)

          Theorem 23 of [Gri16]

          theorem CliffordAlgebra.changeForm_self_apply {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} (x : CliffordAlgebra Q) :
          (changeForm ) x = x
          @[simp]
          theorem CliffordAlgebra.changeForm_changeForm {R : Type u1} [CommRing R] {M : Type u2} [AddCommGroup M] [Module R M] {Q Q' Q'' : QuadraticForm R M} {B B' : LinearMap.BilinForm R M} (h : LinearMap.BilinMap.toQuadraticMap B = Q' - Q) (h' : LinearMap.BilinMap.toQuadraticMap B' = Q'' - Q') (x : CliffordAlgebra Q) :
          (changeForm h') ((changeForm h) x) = (changeForm ) x

          This is [Bou07] $9 Lemma 3.

          Any two algebras whose quadratic forms differ by a bilinear form are isomorphic as modules.

          This is $\bar \lambda_B$ from [Bou07] $9 Proposition 3.

          Equations
          Instances For

            The module isomorphism to the exterior algebra.

            Note that this holds more generally when Q is divisible by two, rather than only when 1 is divisible by two; but that would be more awkward to use.

            Equations
            Instances For

              A CliffordAlgebra over a nontrivial ring is nontrivial, in characteristic not two.