Dimensioned quaternions. Hamilton's numbers of the form a + bi + cj + dk with a unit of measurement.
Quaternions have homogeneous units of measurement. In a quaternion of type Quaternion(a) the
scalar part has unit a and the vector part has unit a*Geom3!.
make_quaternion :: for_unit a: (a, a, a, a) -> Quaternion(a) make_quaternion2 :: for_unit a: (a, a*Geom3!) -> Quaternion(a) quaternion2str :: for_unit a: (Quaternion(a), a) -> String quaternion2string :: for_unit a: (Quaternion(a), decimals, a) -> String quaternion_conjugate :: for_unit a: (Quaternion(a)) -> Quaternion(a) quaternion_inverse :: for_unit a: (Quaternion(a)) -> Quaternion(a^-1) quaternion_norm :: for_unit a: (Quaternion(a)) -> a quaternion_product :: for_unit a, b: (Quaternion(a), Quaternion(b)) -> Quaternion(a*b) quaternion_scalar :: for_unit a: (Quaternion(a)) -> a quaternion_sum :: for_unit a: (Quaternion(a), Quaternion(a)) -> Quaternion(a) quaternion_vector :: for_unit a: (Quaternion(a)) -> a*Geom3! scale_quaternion :: for_unit a, b: (a, Quaternion(b)) -> Quaternion(a*b) unit_quaternion :: for_unit a: (Quaternion(a)) -> Quaternion(1)
for_unit a: Quaternion(a)
The type of Hamilton's quaternions.
:: for_unit a: (a, a, a, a) -> Quaternion(a)
Constructs quaternion a + bi + cj + dk from parameters a, b, c and d.
:: for_unit a: (a, a*Geom3!) -> Quaternion(a)
Constructs quaternion a + bi + cj + dk from parameters a and v where v = vector3d(b, c, d).
:: for_unit a: (Quaternion(a), a) -> String
String representation of a quaternion with nr_decimals() decimals.
:: for_unit a: (Quaternion(a), decimals, a) -> String
String representation of a quaternion.
:: for_unit a: (Quaternion(a)) -> Quaternion(a)
The conjugate of a quaternion. For some quaternion a + bi + cj + dk it is a - bi - cj - dk.
:: for_unit a: (Quaternion(a)) -> Quaternion(a^-1)
The inverse of a quaternion. quaternion_product(q, inverse(q)) = 1
:: for_unit a: (Quaternion(a)) -> a
The norm of a quaternion. For some quaternion a + bi + cj + dk it is the square root of a^2 + b^2 + c^2 + d^2.
:: for_unit a, b: (Quaternion(a), Quaternion(b)) -> Quaternion(a*b)
Multiplies two quaternions.
:: for_unit a: (Quaternion(a)) -> a
The scalar part of a quaternion. For quaterion a + bi + cj + dk it is scalar a.
:: for_unit a: (Quaternion(a), Quaternion(a)) -> Quaternion(a)
Adds two quaternions.
:: for_unit a: (Quaternion(a)) -> a*Geom3!
The vector part of a quaternion. For quaterion a + bi + cj + dk it is vector3d(b, c, d).
:: for_unit a, b: (a, Quaternion(b)) -> Quaternion(a*b)
Scales a quaternion with some factor.
:: for_unit a: (Quaternion(a)) -> Quaternion(1)
Scales a quaternion to one with norm 1.
Version v0.6.0, 2026-03-05T15:49:25.894939013+01:00[Europe/Amsterdam]