|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Hamilton's hypercomplex numbers q = a + bi + cj + dk. More...
Public Types | |
| using | scalar_type = R |
Friends | |
| constexpr bool | operator== (const Quaternion &, const Quaternion &)=default |
| constexpr Quaternion | operator+ (const Quaternion &q, const Quaternion &p) |
| q + p component-wise. | |
| constexpr Quaternion | operator- (const Quaternion &q, const Quaternion &p) |
| q - p component-wise. | |
| constexpr Quaternion | operator* (const R &s, const Quaternion &q) |
| Scalar left-multiplication. | |
| constexpr Quaternion | operator* (const Quaternion &q, const R &s) |
| Scalar right-multiplication. | |
| constexpr Quaternion | operator* (const Quaternion &q, const Quaternion &p) |
| Quaternion multiplication q * p (non-commutative). | |
Hamilton's hypercomplex numbers q = a + bi + cj + dk.
| R | The scalar component type (an exact ring, e.g. Rational<>). |
Multiplication is non-commutative: ij = k but ji = -k.
|
friend |
Quaternion multiplication q * p (non-commutative).
Using the Hamilton product formula: (a1 + b1 i + c1 j + d1 k)(a2 + b2 i + c2 j + d2 k)