Exemple #1
0
    def test_curvature_derivative_at_identity(self):
        group = self.matrix_so3
        metric = InvariantMetric(group=group)
        basis = metric.normal_basis(group.lie_algebra.basis)

        result = True
        for x in basis:
            for i, y in enumerate(basis):
                for z in basis[i:]:
                    for t in basis:
                        nabla_r = metric.curvature_derivative_at_identity(x, y, z, t)
                        if not gs.all(gs.isclose(nabla_r, 0.0)):
                            print(nabla_r)
                            result = False
        self.assertTrue(result)
    def test_curvature_derivative_at_identity(self):
        group = self.matrix_so3
        lie_algebra = SkewSymmetricMatrices(3)
        metric = InvariantMetric(group=group, algebra=lie_algebra)
        basis = lie_algebra.orthonormal_basis(metric.metric_mat_at_identity)

        result = True
        for x in basis:
            for i, y in enumerate(basis):
                for z in basis[i:]:
                    for t in basis:
                        nabla_r = metric.curvature_derivative_at_identity(
                            x, y, z, t)
                        if not gs.all(gs.isclose(nabla_r, 0., atol=1e-5)):
                            print(nabla_r)
                            result = False
        self.assertTrue(result)