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.