Diffusion maps

Diffusion maps leverages the relationship between heat diffusion and a random walk; an analogy is drawn between the diffusion operator on a manifold and a Markov transition matrix operating on functions defined on the graph whose nodes were sampled from the manifold [1].

This package defines a DiffMap type to represent a diffusion map results, and provides a set of methods to access its properties.

DiffMap{T <: Real} <: AbstractDimensionalityReduction

The DiffMap type represents diffusion maps model constructed for T type data.

fit(DiffMap, data; maxoutdim=2, t=1, α=1.0, ɛ=1.0)

Fit a isometric mapping model to data.


  • data: a matrix of observations. Each column of data is an observation.

Keyword arguments

  • maxoutdim: a dimension of the reduced space.
  • t: a number of transitions
  • α: a normalization parameter
  • ɛ: a Gaussian kernel variance (the scale parameter)


M = fit(DiffMap, rand(3,100)) # construct diffusion map model
R = transform(M)              # perform dimensionality reduction


  • 1Coifman, R. & Lafon, S. "Diffusion maps". Applied and Computational Harmonic Analysis, Elsevier, 2006, 21, 5-30. DOI:10.1073/pnas.0500334102