Last updated October 7, 2026 · Report an error
Quaternions extend complex numbers with two extra imaginary units (i, j, k), and they're the standard way to represent 3D rotations without the gimbal-lock problems of Euler angles. This tool handles the core quaternion operations: addition, the (non-commutative) Hamilton product, conjugate, and norm.
How it works
Addition combines quaternions component-wise. The Hamilton product uses the defining relations i²=j²=k²=ijk=-1 (and ij=k, jk=i, ki=j) to expand the product of two quaternions into its four components. The conjugate flips the sign of the three imaginary parts, and the norm is the square root of the sum of all four components squared.
- Enter q₁: a (real).
- Enter q₁: b (i).
- Enter q₁: c (j).
- Enter q₁: d (k).
- Enter q₂: a (real).
- Enter q₂: b (i).
- Enter q₂: c (j).
- Enter q₂: d (k).
- Click Calculate to see your results.
Examples
Multiplying pure imaginary units
i×j=k (following directly from the defining Hamilton relations).
A general product
(1+2i+3j+4k)×(2+0i+1j+0k) computes to a specific new quaternion using the full Hamilton product formula.
Who should use it
- Abstract algebra and computer graphics coursework on quaternions.
- Verifying a hand-computed Hamilton product.
Industry applications
- Computer graphics and game development (3D rotations)
- Robotics and aerospace (orientation tracking)
Advantages
- Computes the Hamilton product, sum, conjugates, and norms all in one step.
- Correctly applies the non-commutative multiplication rules.
Limitations
- Does not directly convert a quaternion to/from a rotation matrix or Euler angles.
Common mistakes to avoid
- Assuming quaternion multiplication commutes like real number multiplication — always compute q₁q₂ and q₂q₁ separately if both are needed.
Best practices
- When representing a rotation, keep the quaternion normalized (norm = 1) — the conjugate of a unit quaternion is also its inverse, a handy shortcut.
Tips
- A unit quaternion (norm=1) representing a rotation has a conjugate that is also its inverse — no separate matrix inversion needed.