added dual quaternion class as an alternative to matrices