def test_geodesic_log_euclidean(): old_dist = geodesic_logeuclid(m1.numpy_array, m2.numpy_array, 0.5) m1.reset_fields() m2.reset_fields() new_dist = Geodesic.log_euclidean(m1, m2, 0.5) return _get_state(old_dist, new_dist, "geodesic riemannian")
def compute(matrice_order, loop_number): tmp = numpy.random.rand(matrice_order, 2 * matrice_order) a = numpy.dot(tmp, tmp.T) / 1000 l = [a] covmats = numpy.array(l) for i in range(0, loop_number): mean = mean_logeuclid(covmats) l += [geodesic_logeuclid(covmats[j, :, :], mean) for j in range(covmats.shape[0])] covmats = numpy.array(l)
def compute(matrice_order, loop_number): tmp = numpy.random.rand(matrice_order, 2 * matrice_order) a = numpy.dot(tmp, tmp.T) / 1000 l = [a] covmats = numpy.array(l) for i in range(0, loop_number): mean = mean_logeuclid(covmats) l += [ geodesic_logeuclid(covmats[j, :, :], mean) for j in range(covmats.shape[0]) ] covmats = numpy.array(l)