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.

Instances For
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    @[simp]
    theorem Quaternion.norm_coe (a : ℝ) :
    @[implicit_reducible]
    @[implicit_reducible]

    Coercion from ℂ to ℍ.

    Instances For
      @[implicit_reducible]
      @[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.

      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)