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
    @[instance_reducible]
    noncomputable instance Quaternion.instInnerReal :
    Equations
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem Quaternion.norm_coe (a : ℝ) :
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.

    Coercion from ℂ to ℍ.

    Equations
    • ↑z = { re := z.re, imI := z.im, imJ := 0, imK := 0 }
    Instances For
      @[simp]
      theorem Quaternion.re_coeComplex (z : ℂ) :
      (↑z).re = z.re
      @[simp]
      theorem Quaternion.imI_coeComplex (z : ℂ) :
      (↑z).imI = z.im
      @[simp]
      theorem Quaternion.imJ_coeComplex (z : ℂ) :
      (↑z).imJ = 0
      @[simp]
      theorem Quaternion.imK_coeComplex (z : ℂ) :
      (↑z).imK = 0
      @[simp]
      theorem Quaternion.coeComplex_add (z w : ℂ) :
      ↑(z + w) = ↑z + ↑w
      @[simp]
      theorem Quaternion.coeComplex_mul (z w : ℂ) :
      ↑(z * w) = ↑z * ↑w
      @[simp]
      @[simp]
      @[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
      • One or more equations did not get rendered due to their size.
      Instances For

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

        QuaternionAlgebra.linearEquivTuple as a LinearIsometryEquiv.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[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)