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)
Exemple #3
0
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)