geometric_kernels.utils.manifold_utils

Utilities for dealing with manifolds.

Module Contents

geometric_kernels.utils.manifold_utils.manifold_laplacian(x, manifold, egrad, ehess)[source]

Computes the manifold Laplacian of a given function at a given point x. The manifold Laplacian equals the trace of the manifold Hessian, i.e., \(\Delta_M f(x) = \sum_{i=1}^{d} \nabla^2 f(x_i, x_i)\), where \([x_i]_{i=1}^{d}\) is an orthonormal basis of the tangent space at x.

Warning

This function only works for hyperspheres out of the box. We will need to change that in the future.

Parameters:
  • x (lab.Numeric) – A point on the manifold at which to compute the Laplacian.

  • manifold – A geomstats manifold.

  • egrad – Euclidean gradient of the given function at x.

  • ehess – Euclidean Hessian of the given function at x.

Returns:

Manifold Laplacian of the given function at x.

See Jost [2011] (Chapter 3.1) for mathematical details.

geometric_kernels.utils.manifold_utils.tangent_onb(manifold, x)[source]

Computes an orthonormal basis on the tangent space at x.

Warning

This function only works for hyperspheres out of the box. We will need to change that in the future.

Parameters:
  • manifold – A geomstats manifold.

  • x – A point on the manifold.

Returns:

An [d, d]-shaped array containing the orthonormal basis on manifold at x.