def cayley_mat(s): s = np.asarray(s, float) return np.eye(3) * (1. - np.dot(s, s)) + 2.*skew(s) + 2.*np.outer(s, s)
def essential_matrix_from_relative_pose(Rrel, prel): return np.dot(Rrel, skew(prel))
def cayley_av_mat(x): return (np.eye(3) - skew(x)) * 2. / (1. + np.dot(x, x))