Note
Use cv::eigenNonSymmetric for calculation of real eigenvalues and eigenvectors of non-symmetric matrix.
>>> cv2.eigenNonSymmetric(mat)
(array([[ 6.],
[-7.]], dtype=float32), array([[-0.24325, -0.97301],
[-0.94868, 0.31623]], dtype=float32))
looks better. don’t ask me why eigen() doesn’t check for symmetry and reject, or why it has this restriction in the first place.