Basis on a quaternion-like algebra #
Main definitions #
QuaternionAlgebra.Basis A c₁ c₂: a basis for a subspace of anR-algebraAthat has the same algebra structure asℍ[R,c₁,c₂].QuaternionAlgebra.Basis.self R: the canonical basis forℍ[R,c₁,c₂].QuaternionAlgebra.Basis.compHom b f: transform a basisbby an AlgHomf.QuaternionAlgebra.lift: Define anAlgHomout ofℍ[R,c₁,c₂]by its action on the basis elementsi,j, andk. In essence, this is a universal property. Analogous toComplex.lift, but takes a bundledQuaternionAlgebra.Basisinstead of just aSubtypeas the amount of data / proves is non-negligible.
A quaternion basis contains the information both sufficient and necessary to construct an
R-algebra homomorphism from ℍ[R,c₁,c₂] to A; or equivalently, a surjective
R-algebra homomorphism from ℍ[R,c₁,c₂] to an R-subalgebra of A.
Note that for definitional convenience, k is provided as a field even though i_mul_j fully
determines it.
- i : A
- j : A
- k : A
Instances For
Since k is redundant, it is not necessary to show q₁.k = q₂.k when showing q₁ = q₂.
There is a natural quaternionic basis for the QuaternionAlgebra.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- QuaternionAlgebra.Basis.instInhabitedBasisQuaternionAlgebraInstRingInstAlgebraQuaternionAlgebraToSemiringInstRingToCommSemiringId = { default := QuaternionAlgebra.Basis.self R }
Intermediate result used to define QuaternionAlgebra.Basis.liftHom.
Equations
- QuaternionAlgebra.Basis.lift q x = (algebraMap R A) x.re + x.imI • q.i + x.imJ • q.j + x.imK • q.k
Instances For
A QuaternionAlgebra.Basis implies an AlgHom from the quaternions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Transform a QuaternionAlgebra.Basis through an AlgHom.
Equations
- QuaternionAlgebra.Basis.compHom q F = { i := F q.i, j := F q.j, k := F q.k, i_mul_i := ⋯, j_mul_j := ⋯, i_mul_j := ⋯, j_mul_i := ⋯ }
Instances For
A quaternionic basis on A is equivalent to a map from the quaternion algebra to A.
Equations
- QuaternionAlgebra.lift = { toFun := QuaternionAlgebra.Basis.liftHom, invFun := QuaternionAlgebra.Basis.compHom (QuaternionAlgebra.Basis.self R), left_inv := ⋯, right_inv := ⋯ }
Instances For
Two R-algebra morphisms from a quaternion algebra are equal if they agree on i and j.
Two R-algebra morphisms from the quaternions are equal if they agree on i and j.