phlower.tl.diffusionGraphDM
- phlower.tl.diffusionGraphDM(dm, roots, k=11, ndc=40, s=1, j=7, lmda=0.0001, sigma=None, verbose=False, lstsq_method='lstsq')
transition matrix is calculate by eigen decomposition outcome
# M’ = D^{1/2} P D^{-1/2} # S is the eigen vectors of M’ psi = D^{-1/2} S phi = S^T D^{1/2}
begin{aligned} M^s & = Q Lambda Q^{-1}Q Lambda Q^{-1}cdots Q Lambda Q^{-1}& = Q Lambda^s Q^{-1}& = D^{-1/2} S Lambda^s S^T D^{1/2} & = psi cdot Lambda^s cdot phiend{aligned}
Parameters
- dm: numpy array
dimension reduction of diffusion map input
- roots: list
list of bool values if they are root nodes
- k: int
number of nearest neighbors for diffusion map
- npc: int
number of principal components using
- ndc: int
number of diffusion components using
- s: int
number of stepes for diffusion map random walk(default 1)
- lmda: float
regularization parameter for ddhodge(default 1e-4)
- sigma: float
sigma for gaussian kernel(default None)
- verbose: bool
print out progress(default False)
- lstsq_method: str
method for least square solver, “lstsq” or “lsqr”, “lsmr”, cholesky (default “lstsq”)
Return
- dic: dict
d[‘g’]: The diffusion graph
d[‘A’]: Graph full adjacency matrix
d[‘W’]: Diffusion Distances
d[‘psi’]: Diffusion Map right eigenvectors
d[‘phi’]: Diffusion Map left eigenvectors
d[‘eig’]: Diffusion Map eigenvalues
d[‘dm’]: dimension reduction input of diffusion map