experimental/src/georegression/fitting/se/MotionSe3PointCrossCovariance_F64.java
private void extractQuaternionFromQ( SimpleMatrix q ) {
		SimpleEVD<SimpleMatrix> evd = q.eig();
		int indexMax = evd.getIndexMax();

		SimpleMatrix v_max = evd.getEigenVector( indexMax );

		quat.w = (double) v_max.get( 0 );
		quat.x = (double) v_max.get( 1 );
		quat.y = (double) v_max.get( 2 );
		quat.z = (double) v_max.get( 3 );
		quat.normalize();

		ConvertRotation3D_F64.quaternionToMatrix( quat, motion.getR() );
	}
private void extractQuaternionFromQ( SimpleMatrix q ) {
		SimpleEVD<SimpleMatrix> evd = q.eig();
		int indexMax = evd.getIndexMax();

		SimpleMatrix v_max = evd.getEigenVector( indexMax );

		quat.w = (double) v_max.get( 0 );
		quat.x = (double) v_max.get( 1 );
		quat.y = (double) v_max.get( 2 );
		quat.z = (double) v_max.get( 3 );
		quat.normalize();

		ConvertRotation3D_F64.quaternionToMatrix( quat, motion.getR() );
	}
The unit eigenvector corresponding to the maximum eigenvalue of Q is the rotation
parameterized as a quaternion.