Contraction in Clifford Algebras #
This file contains some of the results from [grinberg_clifford_2016][].
The key result is CliffordAlgebra.equivExterior
.
Main definitions #
CliffordAlgebra.contractLeft
: contract a multivector by aModule.Dual R M
on the left.CliffordAlgebra.contractRight
: contract a multivector by aModule.Dual R M
on the right.CliffordAlgebra.changeForm
: convert between two algebras of different quadratic form, sending vectors to vectors. The difference of the quadratic forms must be a bilinear form.CliffordAlgebra.equivExterior
: in characteristic not-two, theCliffordAlgebra Q
is isomorphic as a module to the exterior algebra.
Implementation notes #
This file somewhat follows [grinberg_clifford_2016][], 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 [grinberg_clifford_2016][], instead directly constructing our objects using the universal property.
Note that [grinberg_clifford_2016][] concludes that its contents are not novel, and are in fact just a rehash of parts of [bourbaki2007][]; we should at some point consider swapping our references to refer to the latter.
Within this file, we use the local notation
x ⌊ d
forcontractRight x d
d ⌋ x
forcontractLeft d x
Auxiliary construction for CliffordAlgebra.contractLeft
Equations
- One or more equations did not get rendered due to their size.
Instances For
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 [grinberg_clifford_2016][] Theorem 10.75
Equations
- CliffordAlgebra.contractLeft = { toFun := fun (d : Module.Dual R M) => CliffordAlgebra.foldr' Q (CliffordAlgebra.contractLeftAux Q d) ⋯ 0, map_add' := ⋯, map_smul' := ⋯ }
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 [grinberg_clifford_2016][] Theorem 16.75
Equations
- CliffordAlgebra.contractRight = ((CliffordAlgebra.contractLeft.compr₂ CliffordAlgebra.reverse).compl₂ CliffordAlgebra.reverse).flip
Instances For
Equations
- CliffordAlgebra.instSMul = inferInstance
This is [grinberg_clifford_2016][] Theorem 6
This is [grinberg_clifford_2016][] Theorem 12
This is [grinberg_clifford_2016][] Theorem 7
This is [grinberg_clifford_2016][] Theorem 13
This is [grinberg_clifford_2016][] Theorem 8
This is [grinberg_clifford_2016][] Theorem 14
Auxiliary construction for CliffordAlgebra.changeForm
Equations
- CliffordAlgebra.changeFormAux Q B = (Algebra.lmul R (CliffordAlgebra Q)).toLinearMap ∘ₗ CliffordAlgebra.ι Q - CliffordAlgebra.contractLeft ∘ₗ B
Instances For
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 [bourbaki2007][] $9 Lemma 2.
Equations
- CliffordAlgebra.changeForm h = (CliffordAlgebra.foldr Q (CliffordAlgebra.changeFormAux Q' B) ⋯) 1
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
Theorem 23 of [grinberg_clifford_2016][]
This is [bourbaki2007][] $9 Lemma 3.
Any two algebras whose quadratic forms differ by a bilinear form are isomorphic as modules.
This is $\bar \lambda_B$ from [bourbaki2007][] $9 Proposition 3.
Equations
- CliffordAlgebra.changeFormEquiv h = { toFun := ⇑(CliffordAlgebra.changeForm h), map_add' := ⋯, map_smul' := ⋯, invFun := ⇑(CliffordAlgebra.changeForm ⋯), left_inv := ⋯, right_inv := ⋯ }
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.
Instances For
A CliffordAlgebra
over a nontrivial ring is nontrivial, in characteristic not two.
Equations
- ⋯ = ⋯