Quaternions as a normed algebra #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file we define the following structures on the space ℍ := ℍ[ℝ]
of quaternions:
- inner product space;
- normed ring;
- normed space over
ℝ
.
We show that the norm on ℍ[ℝ]
agrees with the euclidean norm of its components.
Notation #
The following notation is available with open_locale quaternion
:
ℍ
: quaternions
Tags #
quaternion, normed ring, normed space, normed algebra
@[protected, instance]
Equations
- quaternion.has_inner = {inner := λ (a b : quaternion ℝ), (a * has_star.star b).re}
@[protected, instance]
@[protected, instance]
Equations
- quaternion.inner_product_space = inner_product_space.of_core {to_has_inner := infer_instance quaternion.has_inner, conj_symm := quaternion.normed_add_comm_group._proof_1, nonneg_re := quaternion.normed_add_comm_group._proof_2, definite := quaternion.normed_add_comm_group._proof_3, add_left := quaternion.normed_add_comm_group._proof_4, smul_left := quaternion.normed_add_comm_group._proof_5}
@[protected, instance]
Equations
- quaternion.normed_division_ring = {to_has_norm := normed_add_comm_group.to_has_norm quaternion.normed_add_comm_group, to_division_ring := quaternion.division_ring real.linear_ordered_field, to_metric_space := normed_add_comm_group.to_metric_space quaternion.normed_add_comm_group, dist_eq := quaternion.normed_division_ring._proof_1, norm_mul' := quaternion.normed_division_ring._proof_2}
@[protected, instance]
Equations
- quaternion.normed_algebra = {to_algebra := quaternion.algebra (algebra.id ℝ), norm_smul_le := quaternion.normed_algebra._proof_1}
Coercion ℂ →ₐ[ℝ] ℍ
as an algebra homomorphism.
Equations
- quaternion.of_complex = {to_fun := coe coe_to_lift, map_one' := quaternion.of_complex._proof_1, map_mul' := quaternion.coe_complex_mul, map_zero' := quaternion.of_complex._proof_2, map_add' := quaternion.coe_complex_add, commutes' := quaternion.of_complex._proof_3}
The norm of the components as a euclidean vector equals the norm of the quaternion.
@[simp]
@[simp]
noncomputable
def
quaternion.linear_isometry_equiv_tuple
:
quaternion ℝ ≃ₗᵢ[ℝ] euclidean_space ℝ (fin 4)
quaternion_algebra.linear_equiv_tuple
as a linear_isometry_equiv
.
Equations
- quaternion.linear_isometry_equiv_tuple = {to_linear_equiv := {to_fun := λ (a : quaternion ℝ), ⇑((pi_Lp.equiv 2 (λ (_x : fin 4), ℝ)).symm) ![a.re, a.im_i, a.im_j, a.im_k], map_add' := quaternion.linear_isometry_equiv_tuple._proof_1, map_smul' := quaternion.linear_isometry_equiv_tuple._proof_2, inv_fun := λ (a : euclidean_space ℝ (fin 4)), {re := a 0, im_i := a 1, im_j := a 2, im_k := a 3}, left_inv := quaternion.linear_isometry_equiv_tuple._proof_5, right_inv := quaternion.linear_isometry_equiv_tuple._proof_6}, norm_map' := quaternion.norm_pi_Lp_equiv_symm_equiv_tuple}