dymad.numerics.dm¶
Functions
Classes
|
Diffusion map |
|
Diffusion map with dense matrix implementation |
|
Variable bandwidth diffusion map |
- class dymad.numerics.dm.DM(n_components, n_neighbors, alpha=1, epsilon=None)¶
Bases:
objectDiffusion map
Original MATLAB implementation by Tyrus Berry & John Harlim
This implementation
is class-based
accelerates epsilon estimation by a minimizer
adds an approximate interpolation method
- Parameters:
n_components – Number of diffusion map components
n_neighbors – Number of nearest neighbors for graph construction
alpha – Normalization parameter
epsilon – Kernel bandwidth; if None, it will be estimated
- fit(x)¶
- fit_transform(x)¶
- load_state_dict(d)¶
- Return type:
None
- state_dict()¶
- Return type:
dict[str,Any]
- transform(x, ifsym=False)¶
Nystrom extension for diffusion maps.
- class dymad.numerics.dm.DMF(n_components, n_neighbors=None, alpha=1, epsilon=None)¶
Bases:
objectDiffusion map with dense matrix implementation
A Knn option is added to emulate the DM class, that is a sparsified version of DM.
Also includes a KRR implementation for sanity check of other classes.
Rule of thumb comparing DM and DMF:
For eigenpairs, full DM gives accurate eigenvectors, but less accurate eigenvalues.
For KRR, full DM, i.e., without Knn, performs the best.
Whenever memory allows, use full DM.
- fit(x)¶
- fit_krr(X, y, ridge)¶
- fit_transform(x)¶
- load_state_dict(d)¶
- Return type:
None
- predict_krr(X)¶
- state_dict()¶
- Return type:
dict[str,Any]
- transform(x)¶
Nystrom extension for diffusion maps.
- class dymad.numerics.dm.VBDM(n_components, n_neighbors, Kb=None, operator=None)¶
Bases:
objectVariable bandwidth diffusion map
https://www.sciencedirect.com/science/article/pii/S1063520315000020
Original MATLAB implementation by Tyrus Berry & John Harlim
This implementation
is class-based
accelerates epsilon estimation by a minimizer
adds an approximate interpolation method
It works well when the sampling is dense
- Parameters:
n_components – Number of diffusion map components
n_neighbors – Number of nearest neighbors for graph construction
Kb – Number of nearest neighbors for density estimation
operator – ‘lb’ for Laplace-Beltrami, ‘kb’ for Kolmogorov backward
- fit(x)¶
- fit_transform(x)¶
- load_state_dict(d)¶
- Return type:
None
- state_dict()¶
- Return type:
dict[str,Any]
- transform(x, ret_den=False)¶
Interpolate eigenfunctions to new x
- transform_naive(x)¶
- dymad.numerics.dm.compDist(a, b, K)¶
- dymad.numerics.dm.dS(eps, D, F)¶
- dymad.numerics.dm.epsOpt(D, F, ret_val=False)¶
- dymad.numerics.dm.genMat(data, inds, N=None, ifsym=False)¶