Documentation

Mathlib.Analysis.Quaternion

Quaternions as a normed algebra #

In this file we define the following structures on the space ℍ := ℍ[ℝ] of quaternions:

We show that the norm on ℍ[ℝ] agrees with the Euclidean norm of its components.

Notation #

The following notation is available with open Quaternion or open scoped Quaternion:

Tags #

quaternion, normed ring, normed space, normed algebra

Space of quaternions over a type, denoted as ℍ[R]. Implemented as a structure with four fields: re, im_i, im_j, and im_k.

Equations
    Instances For

      Coercion from to .

      Equations
        Instances For
          @[simp]
          theorem Quaternion.re_coeComplex (z : ) :
          (↑z).re = z.re
          @[deprecated Quaternion.re_coeComplex (since := "2025-08-31")]
          theorem Quaternion.coeComplex_re (z : ) :
          (↑z).re = z.re

          Alias of Quaternion.re_coeComplex.

          @[simp]
          theorem Quaternion.imI_coeComplex (z : ) :
          (↑z).imI = z.im
          @[deprecated Quaternion.imI_coeComplex (since := "2025-08-31")]
          theorem Quaternion.coeComplex_imI (z : ) :
          (↑z).imI = z.im

          Alias of Quaternion.imI_coeComplex.

          @[simp]
          theorem Quaternion.imJ_coeComplex (z : ) :
          (↑z).imJ = 0
          @[deprecated Quaternion.imJ_coeComplex (since := "2025-08-31")]
          theorem Quaternion.coeComplex_imJ (z : ) :
          (↑z).imJ = 0

          Alias of Quaternion.imJ_coeComplex.

          @[simp]
          theorem Quaternion.imK_coeComplex (z : ) :
          (↑z).imK = 0
          @[deprecated Quaternion.imK_coeComplex (since := "2025-08-31")]
          theorem Quaternion.coeComplex_imK (z : ) :
          (↑z).imK = 0

          Alias of Quaternion.imK_coeComplex.

          @[simp]
          theorem Quaternion.coeComplex_add (z w : ) :
          ↑(z + w) = z + w
          @[simp]
          theorem Quaternion.coeComplex_mul (z w : ) :
          ↑(z * w) = z * w
          @[simp]
          theorem Quaternion.coe_real_complex_mul (r : ) (z : ) :
          r z = r * z
          @[simp]
          theorem Quaternion.coeComplex_coe (r : ) :
          r = r

          Coercion ℂ →ₐ[ℝ] ℍ as an algebra homomorphism.

          Equations
            Instances For

              The norm of the components as a Euclidean vector equals the norm of the quaternion.

              @[simp]
              theorem Quaternion.linearIsometryEquivTuple_symm_apply (a : EuclideanSpace (Fin 4)) :
              linearIsometryEquivTuple.symm a = { re := a.ofLp 0, imI := a.ofLp 1, imJ := a.ofLp 2, imK := a.ofLp 3 }
              @[simp]
              theorem Quaternion.hasSum_coe {α : Type u_1} {L : SummationFilter α} {f : α} {r : } :
              HasSum (fun (a : α) => (f a)) (↑r) L HasSum f r L
              @[simp]
              theorem Quaternion.summable_coe {α : Type u_1} {L : SummationFilter α} {f : α} :
              Summable (fun (a : α) => (f a)) L Summable f L
              theorem Quaternion.tsum_coe {α : Type u_1} {L : SummationFilter α} (f : α) :
              ∑'[L] (a : α), (f a) = (∑'[L] (a : α), f a)