Vectors, Quaternions, and Blades: Why Geometric Algebra Subsumes Both

9.1 Three Descriptions of One Space

Three distinct algebraic systems have, at different points in the last two centuries, each claimed to be the natural language of spatial computation: ordinary vectors under the dot and cross product, Hamilton's quaternions, and the blades and multivectors of Geometric Algebra developed across the rest of this series. They are not three equally good options to pick between by taste. As this chapter sets out, the third absorbs the first two completely — every ordinary vector is already a grade-1 blade, and every unit quaternion is already a grade-2 rotor — and it does so for a structural reason, not a coincidence: Geometric Algebra is, up to isomorphism, an algebra of matrices, and both vector algebra and quaternion algebra turn out to be smaller pieces of that same matrix structure. This chapter proves the two absorptions directly, in both directions, rather than simply asserting them.

9.2 Standard Vectors: Two Products, No Inverse

The vector algebra taught in most first-year physics and engineering courses — directed arrows in \(\mathbb{R}^3\), combined with the dot product \(\mathbf{a}\cdot\mathbf{b}\) and the cross product \(\mathbf{a}\times\mathbf{b}\) — is the Gibbs–Heaviside system: a deliberately simplified alternative to Hamilton's quaternions, assembled by Josiah Willard Gibbs and Oliver Heaviside independently in the 1880s specifically to strip out quaternion machinery that physicists found unnecessary for three-dimensional problems[1]. It is intuitive precisely because it was designed to match physical quantities directly — a force, a velocity, a displacement — one arrow at a time.

That simplicity comes at a structural cost the system never resolves. The dot product returns a scalar; the cross product returns a vector; no single product on \(\mathbb{R}^3\) both combines two vectors and admits a true multiplicative inverse, so "dividing" by a vector is not a well-formed operation at all — a gap that ordinary vector algebra simply has no answer to. The cross product compounds the problem by being dimensionally parochial: it is only well-defined, as a bilinear, vector-valued, orthogonal-to-both-inputs product, in exactly two dimensions, 3 and 7 — a genuine theorem, not folklore, tied to the fact that only \(\mathbb{R}^1\), \(\mathbb{R}^3\) and \(\mathbb{R}^7\) admit a bilinear vector cross product at all, the latter inherited from the octonions[2]. There is no cross product in 2D or 4D, and none in any of the higher dimensions engineering and graphics increasingly need.

Rotation is where the cost becomes practical rather than merely aesthetic. A \(3\times3\) orthogonal matrix uses nine numbers to encode three degrees of freedom, and nothing in the representation itself enforces the six orthogonality constraints that make the redundancy consistent — repeated composition during real-time integration drifts away from orthogonality and has to be corrected by periodic re-orthogonalisation. Euler-angle parameterisations remove the redundancy but introduce gimbal lock: at specific orientations two of the three rotation axes become co-linear and a genuine degree of freedom of the rotation is lost from the parameterisation, not from the physical system.

9.3 Quaternions: Hamilton's Sandwich

Sir William Rowan Hamilton spent over a decade searching for a three-dimensional analogue of the complex numbers before realising, in a flash of insight on 16 October 1843 while walking along Dublin's Royal Canal, that the extension required a fourth dimension rather than a third — he carved the defining relation into the stone of Broom(e) Bridge on the spot[3]:

\[ i^2 = j^2 = k^2 = ijk = -1 \]

A quaternion is the 4-tuple \(q = q_0 + q_1 i + q_2 j + q_3 k\), or equivalently a scalar–vector pair \((s, \mathbf{v})\). A unit quaternion encodes a 3D rotation by angle \(\theta\) about axis \(\hat{\mathbf{u}}\) as

\[ q = \cos\tfrac{\theta}{2} + \hat{\mathbf{u}}\sin\tfrac{\theta}{2}, \]

and rotates a vector, itself represented as a "pure" quaternion \((0, \mathbf{v})\), via the two-sided sandwich product \(\mathbf{v}' = q\mathbf{v}q^{-1}\).

Against the \(3\times3\) matrix, this is a real improvement on both of the previous section's problems: four numbers for three degrees of freedom is a much smaller redundancy than nine for three, keeping a unit quaternion normalised requires dividing by a single scalar norm rather than re-orthogonalising a matrix, and Shoemake's spherical linear interpolation (SLERP) gives smooth, constant-angular-velocity interpolation between two orientations with no gimbal-lock singularity anywhere in the interpolation path[4] — which is why quaternions, not matrices or Euler angles, are the standard orientation representation in robotics, flight dynamics, and 3D graphics today.

What quaternion algebra does not resolve is its relationship to ordinary vectors. A vector has to be reinterpreted as a "pure imaginary" quaternion before it can be rotated at all, blending a spatial direction and what is structurally a rotation operator into a single 4-tuple with no principled way to tell, from the type alone, which role a given quaternion is playing. Quaternion multiplication and vector dot/cross products remain two separate notations that have to be translated between by hand at every boundary between them — quaternions sit alongside vector algebra as a specialised 3D rotation patch, not as an extension that contains it.

This isolation was, in fact, the substance of a real and fairly bitter nineteenth-century dispute. Gibbs and Heaviside built their vector system specifically to displace quaternions from physics, and Lord Kelvin — no friend to the vectorial reformers, but no friend to quaternions either — wrote to Robert Baldwin Hayward in December 1892 that quaternions, "though beautifully ingenious, have been an unmixed evil to those who have touched them in any way"[5]. Crowe's history of the episode records how thoroughly this "Great Vector Debate" of the 1880s–90s split working physicists, and how directly the Gibbs–Heaviside system that eventually won out was itself distilled out of quaternion algebra rather than invented independently of it[1] — the split between §9.2 and this section is a historical fact about how these two systems came apart, not merely a convenient expository device.

9.4 The Geometric Product Subsumes Both

Every multivector page so far in this series has used the geometric product \(\mathbf{ab} = \mathbf{a}\cdot\mathbf{b} + \mathbf{a}\wedge\mathbf{b}\) introduced in §1.5: a single product whose symmetric part recovers the familiar dot product and whose antisymmetric part is the outer product, an oriented area rather than the cross product's dimension-locked "third vector". This is already the resolution of §9.2's central complaint — vectors are grade-1 blades in this system, not a separate thing GA has to interoperate with, so there is no boundary to translate across. And unlike the dot/cross pair, the geometric product genuinely admits inverses: any non-null blade \(A\) has \(A^{-1} = \tilde{A}/\lVert A\rVert^2\), restoring true division to spatial algebra for the first time since the dot and cross products split apart what a single product used to do.

9.5 Rotors: Quaternions Made from Bivectors

§2.2 of this series already showed that in \(\mathcal{G}(\mathbb{R}^2)\) the unit bivector \(\mathbf{I} = \mathbf{e}_1\mathbf{e}_2\) squares to \(-1\) as a theorem, not a postulate, and that \(\mathcal{G}^+(\mathbb{R}^2) \cong \mathbb{C}\)[6]. The same move, one dimension up, is exactly where quaternions come from — and it is worth deriving directly rather than taking on faith, because the naive version of the claim is actually wrong by a sign.

Work in \(\mathcal{G}(\mathbb{R}^3)\), with orthonormal \(\mathbf{e}_1,\mathbf{e}_2,\mathbf{e}_3\) satisfying \(\mathbf{e}_i^2=1\) and \(\mathbf{e}_i\mathbf{e}_j=-\mathbf{e}_j\mathbf{e}_i\) for \(i\neq j\), and define the three cyclic bivectors \(\mathbf{B}_1=\mathbf{e}_2\mathbf{e}_3\), \(\mathbf{B}_2=\mathbf{e}_3\mathbf{e}_1\), \(\mathbf{B}_3=\mathbf{e}_1\mathbf{e}_2\):

Given\(\mathbf{e}_i^2=1,\ \ \mathbf{e}_i\mathbf{e}_j=-\mathbf{e}_j\mathbf{e}_i\ (i\neq j)\)orthonormal Euclidean basis
Square each bivector\(\mathbf{B}_1^2=\mathbf{e}_2\mathbf{e}_3\mathbf{e}_2\mathbf{e}_3=-\mathbf{e}_2^2\mathbf{e}_3^2=-1\)same for \(\mathbf{B}_2,\mathbf{B}_3\)
Product \(\mathbf{B}_1\mathbf{B}_2\)\(\mathbf{B}_1\mathbf{B}_2=\mathbf{e}_2\mathbf{e}_3\mathbf{e}_3\mathbf{e}_1=\mathbf{e}_2\mathbf{e}_1=-\mathbf{B}_3\)the naive cyclic labelling gives \(\mathbf{B}_1\mathbf{B}_2=-\mathbf{B}_3\), not \(+\mathbf{B}_3\)
Correct identification\(i:=-\mathbf{B}_1,\ j:=-\mathbf{B}_2,\ k:=-\mathbf{B}_3\)flip orientation once, consistently
Verify \(ij\)\(ij=(-\mathbf{B}_1)(-\mathbf{B}_2)=\mathbf{B}_1\mathbf{B}_2=-\mathbf{B}_3=k\)Hamilton's \(ij=k\), recovered exactly
Verify \(jk,\ ki\)\(jk=\mathbf{B}_2\mathbf{B}_3=-\mathbf{B}_1=i,\quad ki=\mathbf{B}_3\mathbf{B}_1=-\mathbf{B}_2=j\)same computation, cyclic
Verify \(ijk\)\(ijk=(ij)k=k\cdot k=k^2=-1\)matches Hamilton's defining relation exactly
Theorem 9.1 — Quaternions as the even subalgebra of \(\mathcal{G}(\mathbb{R}^3)\)

The even-graded subalgebra \(\mathcal{G}^+(\mathbb{R}^3)\) — scalars and bivectors — is isomorphic to the quaternion algebra \(\mathbb{H}\), via \(i \leftrightarrow -\mathbf{e}_2\mathbf{e}_3,\ j \leftrightarrow -\mathbf{e}_3\mathbf{e}_1,\ k \leftrightarrow -\mathbf{e}_1\mathbf{e}_2\). Quaternions do not need to be postulated as a separate 4D algebra with its own multiplication table; they fall out of the 3D geometric product, and the "imaginary units" \(i,j,k\) turn out to be the three coordinate bivectors of ordinary 3D space, in disguise[7].

The sandwich product inherits the same identity. A rotor is a unit-magnitude even multivector \(R = e^{-\mathbf{B}\theta/2} = \cos(\theta/2) - \mathbf{B}\sin(\theta/2)\) for unit bivector \(\mathbf{B}\), generalising §2.2's 2D rotor to a plane of rotation that is now one of infinitely many bivectors in 3D rather than the single bivector \(\mathbf{I}\) that 2D admits — and rotates a vector by \(\mathbf{v}' = R\mathbf{v}\tilde{R}\), the exact structural image of Hamilton's \(q\mathbf{v}q^{-1}\), with reversion \(\tilde{R}\) playing the role of the quaternion conjugate. Everything §9.3 credited to quaternions — the compact four-parameter rotation, the sandwich formula, SLERP — is inherited unchanged, because it is the same object.

9.6 Dimension- and Signature-Agnostic by Construction

The outer product \(\mathbf{a}\wedge\mathbf{b}\wedge\cdots\) that builds blades makes no reference to a special dimension: it raises grade by one with every additional factor in any \(\mathcal{G}(\mathbb{R}^n)\), and in any signature. Where §9.2 could only offer the cross product in dimensions 3 and 7 and §9.3's quaternions are intrinsically a 4D construction that does not generalise past 3D rotations at all, this series has already demonstrated the general case directly rather than argued for it abstractly: Conformal Geometric Algebra, worked through in Chapter 8, operates in \(\mathcal{G}(4,1)\) — five basis vectors, mixed signature, two of them null — and represents points, spheres, planes and lines as blades whose meets, joins and duals (Chapter 4) are first-class algebraic operations, not matrix system solves bolted on afterward. Neither ordinary vector algebra nor quaternion algebra has anything to say about a construction like that; Geometric Algebra reaches it by exactly the same rules used for §9.5's rotors.

9.7 The Comparison, Side by Side

FeatureStandard vectorsQuaternionsBlades (Geometric Algebra)
Mathematical domain\(\mathbb{R}^3\) Euclidean space\(\mathbb{H}\), quaternion algebra\(\mathcal{G}(\mathbb{R}^n)\), any dimension/signature
Elements formedDirected arrowsScalar + 3D vector (4-tuple)Graded blades: scalars, vectors, bivectors, volumes, …
Rotation representation\(3\times3\) orthogonal matrix (9 numbers, 3 DOF)Unit quaternion \(q=\cos\frac{\theta}{2}+\hat{\mathbf{u}}\sin\frac{\theta}{2}\) (4 numbers, 3 DOF)Rotor \(R=e^{-\mathbf{B}\theta/2}\) — the same object as the quaternion, built from a bivector
Generality to \(n\) dimensionsPoor — cross product only in 3D, 7D[2]Fixed to 3D rotations (4D representation)Fully general: any dimension, any signature
Algebraic inverseNone for dot/cross product\(q^{-1}=\bar q/\lVert q\rVert^2\)\(A^{-1}=\tilde{A}/\lVert A\rVert^2\) for non-null \(A\)
Relationship to vectorsIsolated: vectors re-encoded as "pure" quaternionsNative: vectors are grade-1 blades, no re-encoding

9.8 Every Blade Is Secretly a Matrix

The reason Geometric Algebra can absorb both of the systems above without strain is structural: every real Clifford algebra \(\mathcal{G}(p,q)\) is isomorphic to a matrix algebra, or a direct sum of two copies of one, over \(\mathbb{R}\), \(\mathbb{C}\), or \(\mathbb{H}\). This is a classical result, first observed by Élie Cartan in 1908 and rediscovered through Bott periodicity in the 1960s: which of \(\mathbb{R}\), \(\mathbb{C}\), \(\mathbb{H}\) (or \(\mathbb{R}\oplus\mathbb{R}\), \(\mathbb{H}\oplus\mathbb{H}\)) appears is fixed by \(p-q \bmod 8\), an eight-fold periodic table[8]. For the Euclidean algebras this series works in, the first three cases are:

AlgebraIsomorphic to
\(\mathcal{G}(\mathbb{R}^1)\)\(\mathbb{R}\oplus\mathbb{R}\)
\(\mathcal{G}(\mathbb{R}^2)\)\(M_2(\mathbb{R})\) — real \(2\times2\) matrices
\(\mathcal{G}(\mathbb{R}^3)\)\(M_2(\mathbb{C})\) — complex \(2\times2\) matrices (equivalently \(M_4(\mathbb{R})\))

These are not loose analogies; the isomorphisms are explicit. In \(\mathcal{G}(\mathbb{R}^2)\), map \(\mathbf{e}_1 \mapsto \sigma_z = \begin{pmatrix}1&0\\0&-1\end{pmatrix}\) and \(\mathbf{e}_2 \mapsto \sigma_x = \begin{pmatrix}0&1\\1&0\end{pmatrix}\). Both square to the identity matrix and anticommute (\(\sigma_z\sigma_x+\sigma_x\sigma_z=0\)), exactly matching \(\mathbf{e}_1^2=\mathbf{e}_2^2=1\) and \(\mathbf{e}_1\mathbf{e}_2=-\mathbf{e}_2\mathbf{e}_1\); the bivector \(\mathbf{e}_{12}\mapsto\sigma_z\sigma_x=\begin{pmatrix}0&1\\-1&0\end{pmatrix}\), which squares to \(-I\), reproducing \(\mathbf{e}_{12}^2=-1\) from §2.1 as a matrix identity rather than a symbolic one. A general multivector \(A=a_0+a_1\mathbf{e}_1+a_2\mathbf{e}_2+a_{12}\mathbf{e}_{12}\) then maps to

\[ M(A) = \begin{pmatrix} a_0+a_1 & a_2+a_{12} \\ a_2-a_{12} & a_0-a_1 \end{pmatrix}, \]

and — because this is a genuine ring homomorphism, not a convenient bookkeeping device — the geometric product \(AB\) is exactly the ordinary matrix product \(M(A)M(B)\); a quick check confirms \(M(\mathbf{e}_1)M(\mathbf{e}_2)=\sigma_z\sigma_x\) recovers \(M(\mathbf{e}_{12})\) above, as it must.

\(\mathcal{G}(\mathbb{R}^3)\) works the same way one size class up. The three Pauli matrices are

\[ \sigma_1 = \begin{pmatrix}0&1\\1&0\end{pmatrix}, \quad \sigma_2 = \begin{pmatrix}0&-i\\i&0\end{pmatrix}, \quad \sigma_3 = \begin{pmatrix}1&0\\0&-1\end{pmatrix}, \]

where this \(i\) is the ordinary complex imaginary unit — a different object from any basis vector or bivector of the algebra, and worth keeping visually distinct from them for the rest of this section. Each one squares to the identity matrix directly by computation (\(\sigma_1^2=\sigma_2^2=\sigma_3^2=I\)), and any two anticommute: \(\sigma_1\sigma_2=\begin{pmatrix}i&0\\0&-i\end{pmatrix}=i\sigma_3\), while \(\sigma_2\sigma_1=\begin{pmatrix}-i&0\\0&i\end{pmatrix}=-i\sigma_3\), so \(\sigma_1\sigma_2+\sigma_2\sigma_1=0\). Both properties together are exactly \(\mathcal{G}(\mathbb{R}^3)\)'s defining relation \(\sigma_i\sigma_j+\sigma_j\sigma_i=2\delta_{ij}I\), so mapping \(\mathbf{e}_1\mapsto\sigma_1,\ \mathbf{e}_2\mapsto\sigma_2,\ \mathbf{e}_3\mapsto\sigma_3\) is a valid representation for the same reason \(\sigma_z,\sigma_x\) was valid in 2D — these are the same matrices already familiar from quantum mechanics, arrived at here purely from the requirement that they represent 3D Euclidean basis vectors, with no physics assumed.

This closes the loop back to §9.5's derivation. Under this map, the cyclic identity \(\sigma_a\sigma_b=i\sigma_c\) (indices cyclic) sends \(\mathbf{B}_1=\mathbf{e}_2\mathbf{e}_3\mapsto i\sigma_1\), \(\mathbf{B}_2=\mathbf{e}_3\mathbf{e}_1\mapsto i\sigma_2\), and \(\mathbf{B}_3=\mathbf{e}_1\mathbf{e}_2\mapsto i\sigma_3\); since §9.5 identified \(i=-\mathbf{B}_1,\ j=-\mathbf{B}_2,\ k=-\mathbf{B}_3\), Hamilton's units land on \(i\mapsto-i\sigma_1,\ j\mapsto-i\sigma_2,\ k\mapsto-i\sigma_3\) — which checks directly: \((-i\sigma_1)(-i\sigma_2)=-\sigma_1\sigma_2=-i\sigma_3\), matching \(k\mapsto-i\sigma_3\) exactly, as \(ij=k\) requires. The set \(\{1,-i\sigma_1,-i\sigma_2,-i\sigma_3\}\) is the standard matrix representation of the unit quaternions used throughout quantum mechanics for spin-\(\tfrac12\) systems — the same four matrices generate the double cover of the rotation group, \(SU(2)\), that makes rotors work at all.

!

Once represented, GA operations are just matrix operations. With a fixed generator representation \(M\), a geometric-algebra manipulation translates directly: multivector addition and scalar multiplication become matrix addition and scalar-matrix product; for two vectors, the inner and outer products become \(\tfrac{1}{2}(M(A)M(B)+M(B)M(A))\) and \(\tfrac{1}{2}(M(A)M(B)-M(B)M(A))\) respectively, directly from §9.4's decomposition \(\mathbf{ab}=\mathbf{a}\cdot\mathbf{b}+\mathbf{a}\wedge\mathbf{b}\); a rotor's sandwich rotation \(R\mathbf{v}\tilde{R}\) becomes ordinary matrix conjugation \(M(R)M(\mathbf{v})M(R)^\dagger\) when generators are represented as Hermitian matrices, so reversion corresponds to conjugate transpose; and a blade's algebraic inverse becomes the ordinary matrix inverse \(M(A)^{-1}\), whenever it exists.

A different, coordinate-free route to the same fact is the left-regular representation: fix any basis for the \(2^n\)-dimensional space of multivectors of \(\mathcal{G}(\mathbb{R}^n)\) — for \(n=3\), the eight elements \((1,\mathbf{e}_1,\mathbf{e}_2,\mathbf{e}_3,\mathbf{e}_{12},\mathbf{e}_{31},\mathbf{e}_{23},\mathbf{e}_{123})\) — and represent left-multiplication by a fixed multivector \(A\) as the linear map \(L_A(X)=AX\) on that \(2^n\)-dimensional coefficient vector. Because the geometric product is bilinear, \(L_A\) is always an ordinary \(2^n\times2^n\) matrix acting on an ordinary coefficient vector, which is exactly what lets dense linear-algebra libraries (NumPy, cuBLAS) execute geometric-algebra code as conventional matrix-vector products rather than requiring purpose-built blade arithmetic.

9.9 Trade-offs: Matrix Backends vs. Native Blade Engines

That every multivector can be represented as a matrix does not mean it always should be. A dense \(2^n\times2^n\) representation carries real overhead for the low-grade objects — plain vectors, rotors — that dominate ordinary geometric computation: most of the matrix is structural zero, and standard matrix multiplication blends grades together, so recovering "just the bivector part" of a product computed this way requires an additional projection step rather than falling out for free. This is precisely the trade-off this series' own Ruby implementation was built to avoid: §6.1 stores every multivector's \(2^n\) coefficients as a sparse hash rather than a dense matrix, specifically so that grade extraction stays a cheap filter over the coefficients actually present rather than a projection out of a mostly-zero matrix — a design choice this chapter's matrix isomorphism now explains the motivation for directly, rather than leaving it as an unexplained implementation detail.

The matrix route earns its keep in the opposite regime: wherever the computation is already matrix-shaped, GA-as-matrices lets it ride on existing hardware-accelerated matrix kernels rather than a bespoke blade engine, and it is the natural bridge into physics formalisms — the Pauli matrices of §9.8 and the Dirac gamma matrices of relativistic quantum mechanics are both, from this chapter's point of view, just the matrix representation of \(\mathcal{G}(\mathbb{R}^3)\) and \(\mathcal{G}(3,1)\) respectively, arrived at independently by physicists decades before the Clifford-algebra connection was made explicit.

Chapter 10 puts all of this to work: building a point, a line, a plane, and a volume as blades, step by step, alongside their vector and matrix equivalents.

References

  1. Crowe, M. J. (1967/1994). A History of Vector Analysis: The Evolution of the Idea of a Vectorial System. University of Notre Dame Press / Dover.
  2. Massey, W. S. (1983). Cross products of vectors in higher-dimensional Euclidean spaces. The American Mathematical Monthly, 90(10), 697–701. https://doi.org/10.1080/00029890.1983.11971316
  3. Hamilton, W. R. Letters describing the discovery of quaternions, 16 October 1843. Trinity College Dublin, School of Mathematics archive.
  4. Shoemake, K. (1985). Animating rotation with quaternion curves. ACM SIGGRAPH Computer Graphics, 19(3), 245–254. https://doi.org/10.1145/325165.325242
  5. Thomson, W. (Lord Kelvin). Letter to R. B. Hayward, December 1892. Quoted in Thompson, S. P. (1910), The Life of Lord Kelvin (Vol. 2, p. 1138). Macmillan.
  6. Hestenes, D. (1999). New Foundations for Classical Mechanics (2nd ed.). Kluwer Academic. Chapter 5.
  7. Doran, C., & Lasenby, A. (2003). Geometric Algebra for Physicists. Cambridge University Press.
  8. Lounesto, P. (2001). Clifford Algebras and Spinors (2nd ed.). Cambridge University Press.