digeo.nn.BiharmonicDistance#

class digeo.nn.BiharmonicDistance(mesh, k_eig=128, eps=1e-05)[source]#

Bases: Module

Initialize the BiharmonicDistance module.

For a detailed description of the module, see Biharmonic Distance in the user guide.

Parameters:
  • mesh (Mesh) – The mesh used.

  • k_eig (int) – The number of eigenvalues and eigenvectors to compute for the Laplacian.

  • eps (float) – A small constant added to the Laplacian during eigendecomposition to ensure numerical stability.

forward(points, targets, pairwise=False)[source]#

Compute the biharmonic distance between two sets of points on the surface given their eigenfunctions.

Parameters:
  • points (MeshPointBatch) – The first set of points for which to compute distances.

  • targets (MeshPointBatch) – The second set of points for which to compute distances.

  • pairwise (bool, optional) – Whether to compute all pairwise distances between points and targets, or just the per-attribute distances (if points and targets have the same number of points).