The vectors and the scalars inside a Clifford algebra #
The generators of a Clifford algebra are the elements ι Q m, and the first thing one wants to
know about them is that they are a faithful copy of M: that ι Q is injective, so that M is
the module of vectors LinearMap.range (ι Q) sitting inside CliffordAlgebra Q, and that no
nonzero vector is a scalar.
Mathlib proves all of this for the exterior algebra, which is the Clifford algebra of the zero
form (ExteriorAlgebra.ι_leftInverse, ExteriorAlgebra.ι_inj,
ExteriorAlgebra.ι_eq_algebraMap_iff, ExteriorAlgebra.ι_range_disjoint_one), using the
square-zero extension TrivSqZeroExt R M as an auxiliary algebra. That trick is unavailable for a
general Q: in TrivSqZeroExt R M the square of a vector is 0, so it computes Q = 0 and
nothing else. What is available instead is Mathlib's module isomorphism
CliffordAlgebra.equivExterior Q : CliffordAlgebra Q ≃ₗ[R] ExteriorAlgebra R M, valid whenever
2 is invertible, which sends generators to generators and scalars to scalars. This file
transports the exterior-algebra statements along it, so all of them hold for an arbitrary
quadratic form over a commutative ring in which 2 is invertible; no hypothesis on Q — no
nondegeneracy, no finiteness, no freeness — is needed.
The payoff is CliffordAlgebra.ιRangeEquiv, the linear equivalence M ≃ₗ[R] range (ι Q).
It is what turns a statement about elements of CliffordAlgebra Q that happen to lie in
range (ι Q) into a statement about vectors of M: Mathlib's twisted conjugation lemmas
(lipschitzGroup.conjAct_smul_range_ι, spinGroup.involute_act_ι_mem_range_ι) say only that the
Lipschitz and spin groups act on range (ι Q), and it is ιRangeEquiv that transports such an
action to an honest linear automorphism of M. Landing in the orthogonal group of Q is a
further step: a linear automorphism is not orthogonal for free, and that the transported action
preserves Q has to be proved separately.
Against the degree filtration CliffordAlgebra.filtration, whose first step is spanned by
the scalars and the vectors, the disjointness of the two pins that step down to R ⊕ M:
CliffordAlgebra.filtrationOneEquiv.
Main definitions #
CliffordAlgebra.ιInv: the linear left inverse ofι Q, the vector part of an element of the Clifford algebra.CliffordAlgebra.ιRangeEquiv: the vector equivalenceM ≃ₗ[R] range (ι Q).CliffordAlgebra.scalarAddVectorandCliffordAlgebra.filtrationOneEquiv: the map(r, m) ↦ r + ι Q mout ofR × M, and the equivalence with the first step of the degree filtration that it induces.
Main results #
CliffordAlgebra.ι_injective,CliffordAlgebra.ι_injandCliffordAlgebra.ι_eq_zero_iff: the generators are a faithful copy ofM.CliffordAlgebra.commute_ι_iff_exists_eq_smul: two vectors commute exactly when they are proportional, once the first has unit value underQ.CliffordAlgebra.eq_zero_of_commute_ι_of_isOrtho: over a field, a vector commuting with two orthogonal anisotropic vectors is zero.CliffordAlgebra.eq_zero_or_exists_ι_eq_smul_of_mul_self_eq_algebraMap: over a field, if a vector plus a multiple of a commuting element with nonzero scalar square has scalar square, then the multiple vanishes or the vector is a multiple of that element.CliffordAlgebra.mul_ι_notMem_range_ι_of_mul_ι_eq_neg: over a field, a nonzero element anticommuting with two orthogonal anisotropic companions of an anisotropic vectorvsendsι Q voutside the vectors.CliffordAlgebra.ι_eq_algebraMap_iff,CliffordAlgebra.ι_ne_oneandCliffordAlgebra.ι_range_disjoint_one: a vector is a scalar only when both vanish.CliffordAlgebra.mem_range_ι_iff: membership ofrange (ι Q)is detected by the vector part.CliffordAlgebra.finrank_filtration_one: the first step of the degree filtration has one more dimension thanM.
References #
- Clifford algebras, Pin and Spin, and spin representations roadmap, Layer 2, "Vectors from the Clifford algebra".
- N. Bourbaki, Algebra I, Chapters 1-3 (1989), §9.
- C. Chevalley, The Algebraic Theory of Spinors (1954), Chapter II.
The comparison with the exterior algebra #
Mathlib's CliffordAlgebra.equivExterior is only a linear equivalence. Its scalar equation is
recorded in the general Clifford-algebra API; here we record the generator equation needed for
the vector API. Both are immediate from its definition as a changeForm.
CliffordAlgebra.equivExterior sends a generator to the corresponding generator of the
exterior algebra.
The vector part #
The vector part of an element of a Clifford algebra: a linear left inverse of ι Q.
This is ExteriorAlgebra.ιInv transported along CliffordAlgebra.equivExterior, which is where
the hypothesis [Invertible (2 : R)] comes from; the square-zero extension that builds
ExteriorAlgebra.ιInv directly sees only the zero quadratic form.
Equations
Instances For
The vector part of a scalar vanishes.
The exterior-algebra half of the argument is that ExteriorAlgebra.map 0 fixes scalars while it
kills vector parts (ExteriorAlgebra.ιInv_comp_map).
ι is injective #
The generators of a Clifford algebra are a faithful copy of M. When 2 is invertible
this needs no hypothesis on Q.
Two generators are equal exactly when the vectors they come from are.
The only generator that vanishes is the one coming from 0.
Commuting vectors are proportional #
Two vectors commute in the Clifford algebra exactly when they are proportional, provided
the first has unit value under Q.
Vectors are not scalars #
A generator is a scalar only in the trivial way: both the vector and the scalar vanish.
No generator is the unit of a Clifford algebra.
The vectors of a Clifford algebra are disjoint from its scalars. Together with
TauCeti.Algebra.wordFiltration_one, which writes the first step of the degree filtration as
1 ⊔ LinearMap.range (ι Q), this is what makes that step a direct sum of R and M; see
CliffordAlgebra.filtrationOneEquiv.
The vector equivalence #
The vector equivalence: M is the module of vectors LinearMap.range (ι Q) inside its
Clifford algebra.
Mathlib's twisted-conjugation lemmas say that the Lipschitz and spin groups act on
LinearMap.range (ι Q); this equivalence is what transports such an action to a linear
automorphism of M. It says nothing about Q: to place that automorphism in the orthogonal
group one still has to prove that it preserves Q.
Equations
Instances For
The vector part reconstructs a vector.
Membership of the module of vectors is detected by the vector part.
On a vector, the retraction ιInv computes the inverse of the vector equivalence.
The first step of the degree filtration #
The elements of degree at most one, as a map out of R × M: (r, m) ↦ r + ι Q m. It is
injective with image CliffordAlgebra.filtration Q 1.
Equations
Instances For
The scalars and the vectors span exactly the first step of the degree filtration.
A scalar and a vector summing to zero both vanish, the scalars and the vectors being disjoint
(CliffordAlgebra.ι_range_disjoint_one).
The first step of the degree filtration is R ⊕ M. The scalars and the vectors span it
(TauCeti.Algebra.wordFiltration_one) and meet only in 0
(CliffordAlgebra.ι_range_disjoint_one), so together they parametrize it faithfully.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Counting dimensions in CliffordAlgebra.filtrationOneEquiv: the first step of the
degree filtration is one dimension bigger than the space of vectors.
A vector commuting with two orthogonal anisotropic vectors is zero #
A vector commuting with two orthogonal anisotropic vectors is zero. Commuting with an
anisotropic u makes w proportional to u (commute_ι_iff_exists_eq_smul), so w is
proportional to both u₁ and u₂, and pairing with u₁ gives 2 c₁ Q u₁ = polar Q u₁ w = 0.
A vector plus a commuting element with scalar square #
A vector plus a multiple of a commuting element with nonzero scalar square has scalar square
only if the multiple vanishes or the vector is itself a multiple of that element. Let ω commute
with ι Q w and have ω * ω the nonzero scalar s. If (ι Q w + c • ω) ^ 2 is a scalar, then
either c = 0 or ι Q w is a multiple of ω: the cross term 2 c • (ω * ι Q w) is a scalar, and
multiplying it by ω once more isolates ι Q w. Only commutation with the single vector ι Q w
is needed; a central ω (such as a volume element in odd dimension) supplies it.
An anticommuting element moves an anisotropic vector out of the vectors #
A nonzero element anticommuting with two orthogonal anisotropic companions of an anisotropic
vector v sends ι Q v outside the vectors. Only the two anticommutation relations are
required of ω; the volume element of an orthogonal list of even length containing u₁ and u₂
satisfies them.