MCPcopy Create free account
hub / github.com/DeepGraphLearning/S3F / compute_HKS

Function compute_HKS

s3f/surface.py:76–89  ·  view source on GitHub ↗
(eigen_vecs, eigen_vals, num_t, t_min=0.1, t_max=1000, scale=1000)

Source from the content-addressed store, hash-verified

74
75
76def compute_HKS(eigen_vecs, eigen_vals, num_t, t_min=0.1, t_max=1000, scale=1000):
77 eigen_vals = eigen_vals.flatten()
78 assert eigen_vals[1] > 0
79 assert np.min(eigen_vals) > -1E-6
80 assert np.array_equal(eigen_vals, sorted(eigen_vals))
81
82 t_list = np.geomspace(t_min, t_max, num_t)
83 phase = np.exp(-np.outer(t_list, eigen_vals[1:]), dtype='f')
84 wphi = phase[:, None, :] * eigen_vecs[None, :, 1:]
85 HKS = np.einsum('tnk,nk->nt', wphi, eigen_vecs[:, 1:]) * scale
86 heat_trace = np.sum(phase, axis=1)
87 HKS /= heat_trace
88
89 return HKS
90
91
92def compute_curvatures(xyz, normals, batch, curvature_scales):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected