WikiLeanRecent changes · Proposals · Flags · Stats · About

Diff — Quaternion

Revision #1520 → #2183 · back to history

modifiedQuaternion6fa58f62269e
FieldFrom #1520To #2183
mathlib.declQuaternion
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`Quaternion R := ℍ[R,-1,0,-1]` defines quaternions over a ring, instantiated as `ℍ[R]`.
statusformalized
modifiedZero quaterniona3b36d60a4e3
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.instZero
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
noteThe `Zero ℍ[R,c₁,c₂,c₃]` instance defines `0 = ⟨0,0,0,0⟩`.
statusformalized
modifiedScalar and vector parts of a quaternionea15fb979f6d
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.im
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`QuaternionAlgebra.re` (the structure projection) and `QuaternionAlgebra.im` give the scalar and vector parts, with `re_add_im : ↑a.re + a.im = a`.
statusformalized
modifiedScalar quaternionccaca97d2ed1
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.eq_re_iff_mem_range_coe
mathlib.match_kindinvocation
mathlib.moduleMathlib.Algebra.Quaternion
noteThere is no named `IsScalar`/`isReal` predicate, but `eq_re_iff_mem_range_coe` (and `star_eq_self`) characterize quaternions equal to their real part.
statuspartial
modifiedVector quaternion83d841c7545b
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.star_eq_neg
mathlib.match_kindinvocation
mathlib.moduleMathlib.Algebra.Quaternion
noteMathlib lacks a named `IsVector` predicate, but characterizes vector quaternions via `star_eq_neg ↔ a.re = 0`.
statuspartial
modifiedQuaternions as a 4-dimensional vector space8875f39fbb62
FieldFrom #1520To #2183
mathlib.declQuaternion.finrank_eq_four
mathlib.match_kindgeneralization
mathlib.moduleMathlib.Algebra.Quaternion
note`finrank_eq_four` and `rank_eq_four` show `Module.finrank R ℍ[R] = 4`, with explicit `basisOneIJK` basis.
statusformalized
modifiedHamilton product30cc010a21ba
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.instMul
mathlib.match_kindgeneralization
mathlib.moduleMathlib.Algebra.Quaternion
noteThe `Mul ℍ[R,c₁,c₂,c₃]` instance encodes the Hamilton product with explicit formula (`mk_mul_mk`).
statusformalized
modifiedQuaternions form a division algebrabf2efed52bdc
FieldFrom #1520To #2183
mathlib.declQuaternion.instDivisionRing
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`instance instDivisionRing : DivisionRing ℍ[R]` (for linearly ordered field `R`) gives the division algebra structure; combined with `Algebra R ℍ[R]`.
statusformalized
modifiedMultiplication of basis elements by 1c434105bb852
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.mk_mul_mk
mathlib.match_kindinvocation
mathlib.moduleMathlib.Algebra.Quaternion
noteMultiplication by `1` follows from the `One` and `Mul` instances and `mk_mul_mk` computes any product including those with `1`.
statusformalized
modifiedProducts of basis elements i, j, k726025d2056e
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.Basis.i_mul_k
mathlib.match_kindgeneralization
mathlib.moduleMathlib.Algebra.QuaternionBasis
noteThe `QuaternionAlgebra.Basis` API contains the products `i_mul_k`, `k_mul_i`, `k_mul_j`, `j_mul_k`, `k_mul_k` (for the standard quaternion algebra these recover ij=k etc.).
statusformalized
modifiedCenter of a noncommutative ringcdab202859cd
FieldFrom #1520To #2183
mathlib.declSubring.center
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Ring.Subring.Basic
note`Subring.center R` is the subring of elements commuting with every element of `R`.
statusformalized
modifiedCenter of the quaternion algebra18177bc35918
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteI could not locate a Mathlib theorem identifying `Subring.center ℍ[ℝ]` with the scalar quaternions.
statusnot_formalized
modifiedEquation z^2 + 1 = 0 over quaternions98e379170f2a
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo theorem stating the equation `z^2+1=0` over `ℍ` has infinitely many solutions appears in Mathlib.
statusnot_formalized
modifiedHamilton product expansionb5b124fa5a68
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.mk_mul_mk
mathlib.match_kindgeneralization
mathlib.moduleMathlib.Algebra.Quaternion
note`mk_mul_mk` (and `re_mul`, `imI_mul`, `imJ_mul`, `imK_mul` for `Quaternion`) expands the Hamilton product componentwise.
statusformalized
modifiedScalar part and vector part3f7caa821eff
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.im
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`re` (projection) and `im : ℍ[R,c₁,c₂,c₃] → ℍ[R,c₁,c₂,c₃]` define the scalar and vector parts.
statusformalized
modifiedConjugate of a quaternion9aae9fa2d4fe
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.instStarQuaternionAlgebra
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
noteQuaternion conjugation is the `Star` instance on `ℍ[R,c₁,c₂,c₃]`, with `imI_star`, `imJ_star`, `imK_star` giving the negation formulas.
statusformalized
modifiedConjugation is an involutionbc85c8dfed21
FieldFrom #1520To #2183
mathlib.declstar_star
mathlib.match_kindinvocation
mathlib.moduleMathlib.Algebra.Star.Basic
noteMathlib's `StarRing ℍ[R,c₁,c₂,c₃]` instance (`instStarRing`) makes conjugation an involution, so `star_star a = a`.
statusformalized
modifiedConjugate of a product reverses orderdec2db3840ad
FieldFrom #1520To #2183
mathlib.declstar_mul
mathlib.match_kindinvocation
mathlib.moduleMathlib.Algebra.Star.Basic
noteInherited from `StarRing ℍ[R,c₁,c₂,c₃]`: `star (a * b) = star b * star a`.
statusformalized
addedConjugation expressible via quaternion arithmetic2c6669f3cd1f
modifiedExtracting scalar and vector parts via conjugation06af08e97a5c
FieldFrom #1520To #2183
mathlib.declQuaternion.self_add_star
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`self_add_star : a + star a = 2 * a.re` (and `re_add_im`, `sub_re_self`) recover the scalar and vector parts via conjugation.
statusformalized
modifiedNorm of a quaternion42ef6682c446
FieldFrom #1520To #2183
mathlib.declQuaternion.normSq
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`normSq a = (a * star a).re`, and the `NormedAddCommGroup ℍ` instance in `Mathlib.Analysis.Quaternion` provides the norm itself.
statusformalized
addedQuaternion norm equals Euclidean norm on R^456ef0c7d3ba7
modifiedNorm scales by absolute value of real scalar3252901f8f91
FieldFrom #1520To #2183
mathlib.declQuaternion.instNormedAlgebra
mathlib.match_kindinvocation
mathlib.moduleMathlib.Analysis.Quaternion
noteThe `NormedAlgebra ℝ ℍ` instance (and `Quaternion.norm_coe`) makes scalar multiplication norm-multiplicative: `‖r • q‖ = |r| * ‖q‖`.
statusformalized
modifiedNorm is multiplicative85d89787da50
FieldFrom #1520To #2183
mathlib.declQuaternion.instNormedDivisionRing
mathlib.match_kindexact
mathlib.moduleMathlib.Analysis.Quaternion
noteThe `NormedDivisionRing ℍ` instance bundles `norm_mul a b = ‖a‖ * ‖b‖`; `normSq` is also a `MonoidWithZeroHom`.
statusformalized
modifiedDistance between quaternions0d550a505d7e
FieldFrom #1520To #2183
mathlib.declQuaternion.instNormedAddCommGroup
mathlib.match_kindinvocation
mathlib.moduleMathlib.Analysis.Quaternion
noteDistance `dist a b = ‖a - b‖` follows from the `NormedAddCommGroup ℍ` instance.
statusformalized
modifiedQuaternions form a metric spaceb1c1ab86322d
FieldFrom #1520To #2183
mathlib.declQuaternion.instNormedAddCommGroup
mathlib.match_kindexact
mathlib.moduleMathlib.Analysis.Quaternion
note`NormedAddCommGroup ℍ` (plus `CompleteSpace ℍ`) endows quaternions with a metric/complete metric space structure.
statusformalized
modifiedUnit quaternion and versorfa791764d0f6
FieldFrom #1520To #2183
mathlib.declQuaternion.instNormOneClass
mathlib.match_kindinvocation
mathlib.moduleMathlib.Analysis.Quaternion
noteUnit quaternions are not a named subgroup, but can be expressed via `unitary ℍ` or `Metric.sphere (0:ℍ) 1`; no dedicated `UnitQuaternion`/`versor` declaration exists.
statuspartial
modifiedPolar decomposition of nonzero quaternion494035403c8b
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteMathlib has no explicit theorem decomposing a nonzero quaternion uniquely as norm × unit quaternion.
statusnot_formalized
modifiedReciprocal of a quaternion2bc9edb2127c
FieldFrom #1520To #2183
mathlib.declQuaternion.instInv
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`instInv : Inv ℍ[R]` defines `a⁻¹ = (normSq a)⁻¹ • star a` (via `instGroupWithZero`/`instDivisionRing`).
statusformalized
modifiedQuaternions form a non-commutative associative algebra8dd2e844b22d
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra.instAlgebra
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`Algebra R ℍ[R]` plus `Ring ℍ[R]` give the associative algebra structure; non-commutativity is implicit in the multiplication formula.
statusformalized
modifiedFrobenius theorem1fd07009a68f
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteMathlib does not contain Frobenius's classification of finite-dimensional associative real division algebras.
statusnot_formalized
modifiedHurwitz's theorembe02f9e32273
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteHurwitz's classification of normed division algebras over ℝ (ℝ, ℂ, ℍ, 𝕆) is not in Mathlib.
statusnot_formalized
modifiedQuaternion group Q_89ab9a89cadb5
FieldFrom #1520To #2183
mathlib.declQuaternionGroup
mathlib.match_kindgeneralization
mathlib.moduleMathlib.GroupTheory.SpecificGroups.Quaternion
note`QuaternionGroup n` is the generalized quaternion group of order `4n`; `QuaternionGroup 2` is Q₈.
statusformalized
modifiedQuaternions as quotient of real group ring of Q_87542229c2b31
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo isomorphism `ℝ[Q₈]/⟨1+x⟩ ≃ ℍ` appears in Mathlib.
statusnot_formalized
modifiedDot product of vector quaternionse68b1ea24d2b
FieldFrom #1520To #2183
mathlib.declQuaternion.inner_def
mathlib.match_kindgeneralization
mathlib.moduleMathlib.Analysis.Quaternion
noteThe inner product `⟪a,b⟫ = (a * star b).re` from the `InnerProductSpace ℝ ℍ` instance specializes to the 3D dot product on vector quaternions, but there is no dedicated `dot` for them.
statuspartial
modifiedCross product of vector quaternionsa857ab3b6d9b
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
note`Matrix.crossProduct` exists on `Fin 3 → R` but there is no formal identification of it with the vector part of `p*q` on vector quaternions.
statusnot_formalized
modifiedCommutator of vector quaternionsbcba7b735d98
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThere is no Mathlib lemma identifying `p*q - q*p` of vector quaternions with twice the cross product.
statusnot_formalized
modifiedCommutativity criterion via collinearity53409bc87e7d
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteMathlib has no theorem characterizing commuting quaternions by collinear vector parts.
statusnot_formalized
modifiedUnit quaternions identified with rotations2724c8948094
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo Mathlib declaration realizes the map from unit quaternions to SO(3) rotations.
statusnot_formalized
modifiedRepresentation as complex 2x2 matrices36ab1a9a5d00
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo ring homomorphism `ℍ →* Matrix (Fin 2) (Fin 2) ℂ` realizing the standard 2×2 representation is in Mathlib.
statusnot_formalized
modifiedProperties of complex 2x2 representationfe158304d935
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo properties (determinant=normSq, trace=2re, etc.) of a quaternion-to-2×2-complex representation appear in Mathlib.
statusnot_formalized
modifiedRepresentation as real 4x4 matrices5903bcd28a64
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo quaternion-to-4×4-real representation is defined in Mathlib.
statusnot_formalized
modified48 distinct real 4x4 representationsa54a4cc595f2
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo combinatorial statement about 48 such representations is in Mathlib.
statusnot_formalized
modifiedLagrange's four-square theorem9f4406accf1b
FieldFrom #1520To #2183
mathlib.declNat.sum_four_squares
mathlib.match_kindexact
mathlib.moduleMathlib.NumberTheory.SumFourSquares
note`Nat.sum_four_squares n : ∃ a b c d, a^2 + b^2 + c^2 + d^2 = n` is Lagrange's four-square theorem.
statusformalized
modifiedQuaternions via Cayley–Dickson constructionf200a79b4469
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThe Cayley–Dickson construction is not in Mathlib.
statusnot_formalized
modifiedSquare roots of -1 form the unit sphere1f46b4ca12af
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteI could not find a Mathlib theorem characterizing `{q : ℍ | q^2 = -1}` as the unit 2-sphere in vector quaternions.
statusnot_formalized
modifiedOnly negative real quaternions have infinitely many square rootsce49bb86bf18
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo statement counting square roots of quaternions appears in Mathlib.
statusnot_formalized
modifiedComplex plane embedded via square root of -1a0309d6741ac
FieldFrom #1520To #2183
mathlib.declQuaternion.ofComplex
mathlib.match_kindspecial_case
mathlib.moduleMathlib.Analysis.Quaternion
note`Quaternion.ofComplex : ℂ →ₐ[ℝ] ℍ` is the canonical embedding using `i`; a general statement that any square root of `-1` induces an embedding is not formalized.
statuspartial
modifiedSubalgebra generated by non-real quaternion911d40ce1a1a
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo theorem identifying the subalgebra generated by a non-real quaternion with `ℂ` is in Mathlib.
statusnot_formalized
modifiedCommutative subrings of the quaternion ring5694ec81139c
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo description of commutative subrings of ℍ in terms of collinear vector parts is in Mathlib.
statusnot_formalized
modifiedExistence of square roots of arbitrary quaternions46d5d4f46e33
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteMathlib has no `∃ r, r^2 = q` statement for arbitrary quaternions.
statusnot_formalized
modifiedNumber of square roots by quaternion type57df117e6fb5
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo case analysis of square-root multiplicity by quaternion type is in Mathlib.
statusnot_formalized
modifiedExponential of a quaternion08de3d09cd08
FieldFrom #1520To #2183
mathlib.declQuaternion.exp_eq
mathlib.match_kindexact
mathlib.moduleMathlib.Analysis.Normed.Algebra.QuaternionExponential
note`NormedSpace.exp ℝ : ℍ → ℍ` is available and `Quaternion.exp_eq` gives the closed-form `exp q = exp q.re • (cos‖q.im‖ + (sin‖q.im‖/‖q.im‖) • q.im)`.
statusformalized
modifiedLogarithm of a quaternion43a15dd9591a
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThere is no `Quaternion.log` definition in Mathlib.
statusnot_formalized
modifiedPolar decomposition of a quaternion952e1e28bb3e
FieldFrom #1520To #2183
mathlib.declQuaternion.exp_eq
mathlib.match_kindinvocation
mathlib.moduleMathlib.Analysis.Normed.Algebra.QuaternionExponential
noteThe polar form `q = ‖q‖ exp(θ n̂)` is implicit via `exp_eq` plus norm/im decomposition but not stated as its own decomposition theorem.
statuspartial
modifiedPolar form of a unit quaternion31cc9b7a8762
FieldFrom #1520To #2183
mathlib.declQuaternion.exp_of_re_eq_zero
mathlib.match_kindinvocation
mathlib.moduleMathlib.Analysis.Normed.Algebra.QuaternionExponential
note`exp_of_re_eq_zero` gives `exp(n̂ θ) = cos θ + sin θ · n̂` for imaginary `q`, the polar form of a unit quaternion, though no `polarForm` definition is named.
statuspartial
modifiedPower of a quaternion1e93d3b1ab8e
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteReal (non-integer) powers of quaternions are not defined in Mathlib (only `Monoid.npow`/`zpow`).
statusnot_formalized
modifiedGeodesic distance between unit quaternions3cc9ab869550
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo geodesic distance on the unit-quaternion 3-sphere is defined in the Mathlib quaternion files.
statusnot_formalized
modifiedConjugation by unit quaternion as rotation529fe02b814e
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo theorem that `v ↦ q * v * q⁻¹` is a rotation of ℝ³ is in Mathlib.
statusnot_formalized
modifiedUnit quaternions double cover SO(3)36d8bac1f7b6
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThe double cover `Spin(3) → SO(3)` via unit quaternions is not formalized in Mathlib.
statusnot_formalized
modifiedVersors' group isomorphic to SU(2)350728ab4d4f
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo isomorphism between unit quaternions and SU(2) is formalized in Mathlib.
statusnot_formalized
modifiedRing of Hurwitz quaternionsf2449caf7ded
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThe Hurwitz integer ring is absent from Mathlib (the only `Hurwitz` hits are zeta-function lemmas).
statusnot_formalized
added24 unit Hurwitz quaternions form the 24-cell0cecf37c3635
modifiedQuaternion algebra over a field3c6052824d69
FieldFrom #1520To #2183
mathlib.declQuaternionAlgebra
mathlib.match_kindexact
mathlib.moduleMathlib.Algebra.Quaternion
note`QuaternionAlgebra R a b c` defines the generalized quaternion algebra over any ring `R`, including any field.
statusformalized
modifiedClassification of quaternion algebras454796f70f6c
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteClassification of quaternion algebras over a field as either a division algebra or `M₂(F)` is not in Mathlib.
statusnot_formalized
modifiedReflection formula in Cl_{3,0}a7466dc1aa2c
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThe Clifford-algebra reflection identity `r' = -w r w` for `Cl₃,₀(ℝ)` is not formalized.
statusnot_formalized
modifiedIsomorphism between quaternions and even Cl_{3,0}4e5ac43842ec
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteNo isomorphism `ℍ ≃ₐ[ℝ] CliffordAlgebra⁺ (Q₃,₀)` appears in Mathlib.
statusnot_formalized
modifiedBrauer group of the reals0de941477218
FieldFrom #1520To #2183
mathlib.decl
mathlib.match_kind
mathlib.module
noteThe `BrauerGroup` is defined in `Mathlib.Algebra.BrauerGroup.Defs`, but `Br(ℝ) ≃ ℤ/2` is not proved.
statusnot_formalized
modifiedArtin–Wedderburn theorem (Wedderburn's part)acb30bff2240
FieldFrom #1520To #2183
mathlib.declIsSemisimpleRing.isSemisimpleRing_iff_pi_matrix_divisionRing
mathlib.match_kindexact
mathlib.moduleMathlib.RingTheory.SimpleModule.WedderburnArtin
note`isSemisimpleRing_iff_pi_matrix_divisionRing` (and `exists_ringEquiv_matrix_divisionRing` for simple Artinian rings) is the Artin–Wedderburn structure theorem.
statusformalized
deletedScalar quaternion (restated)46669b4a114d
deletedVector quaternion (restated)50b3667fab0b