Binary package “libmath-quaternion-perl” in ubuntu xenial

Perl routines to handle operations on quaternions

 Math::Quaternion lets you create and manipulate quaternions. A quaternion is a
 mathematical object developed as a kind of generalization of complex numbers,
 usually represented by an array of four real numbers, and is often used to
 represent rotations in three-dimensional space.
 .
 See, for example, http://mathworld.wolfram.com/Quaternion.html for more
 details on the mathematics of quaternions.
 .
 Quaternions can be added, subtracted, and scaled just like complex numbers or
 vectors -- they can also be multiplied, but quaternion multiplication DOES
 NOT COMMUTE. That is to say, if you have quaternions $q1 and $q2, then in
 general $q1*$q2 != $q2*$q1. This is related to their use in representing
 rotations, which also do not commute.