QVM: Quaternions, Vectors, Matrices