"Mind that the 0th component of diffusion maps "
"is not used for visualization.")
adata = adata.copy() if copy else adata
dmap = dpt.DPT(adata, n_jobs=n_jobs)
// check whether we need to recompute
if dmap.evals is None or n_dcs is None or dmap.evals.size < n_dcs:
dmap.compute_eigen(n_comps=n_comps)
adata.obsm["X_diffmap"] = dmap.rbasis
adata.uns["diffmap_evals"] = dmap.evals