I'd really like to try out QVM because I have to switch between a half dozen matrix, vector and quaternion types constantly and would prefer not to write functions for each conversion and operations between them. Examples of the formats I need to handle are: *Eigen http://eigen.tuxfamily.org/index.php?title=Main_Page:* Eigen::Affine3d Eigen::Quaterniond + rotation and translation versions *vrep http://www.coppeliarobotics.com/helpFiles/en/apiFunctions.htm#simBuildMatrix...:* float[3] (vrep vector) float[4] (vrep quaternion) float[12] (vrep homogeneous transform matrix) *cisstVector https://github.com/jhu-cisst/cisst/tree/master/cisstVector:* vctDynamicVector https://github.com/jhu-cisst/cisst/blob/master/cisstVector/vctDynamicVector.... vctQuaternion https://github.com/jhu-cisst/cisst/blob/master/cisstVector/vctQuaternion.h vctDynamicMatrix https://github.com/jhu-cisst/cisst/blob/master/cisstVector/vctDynamicMatrix.... There are also fixed versions of the "Dynamic" objects. + rotation & translations Is there any particular concerns I need to take regarding alignment, ordering (row vs column major) etc? For example, the ordering of the quaternion data components differ between eigen and rep: // 0123 // vrep quat is ordered xyzw, // eigen quat is ordered wxyz Any advice on how to go about this would be appreciated so I can try QVM out! Cheers! Andrew Hundt