pyFM.spectral.convert.FM_to_p2p

pyFM.spectral.convert.FM_to_p2p(FM_12, evects1, evects2, use_adj=False, n_jobs=None)

Obtain a point to point map from a functional map C.

Compares embeddings of dirac functions on the second mesh Phi_2.T with embeddings of dirac functions of the first mesh Phi_1.T.

Either one can transport the first diracs with the functional map or the second ones with the adjoint, which leads to different results (the adjoint is the mathematically correct way).

Parameters:
  • FM_12 ((k2, k1) np.ndarray) – Functional map from mesh1 to mesh2 in reduced basis.

  • evects1 ((n1, k1') np.ndarray) – First k1’ eigenvectors of the first basis (k1’ > k1). First dimension can be subsampled.

  • evects2 ((n2, k2') np.ndarray) – First k2’ eigenvectors of the second basis (k2’ > k2). First dimension can be subsampled.

  • use_adj (bool, optional) – Use the adjoint method.

  • n_jobs (int, optional) – Number of parallel jobs. None (default) decides automatically, -1 uses all processes.

Returns:

p2p_21 – Match vertex i on shape 2 to vertex p2p_21[i] on shape 1, or equivalent result if the eigenvectors are subsampled.

Return type:

(n2,) np.ndarray