Diffusion wavelets
Diffusion wavelets are a fast multiscale framework for the analysis of functions on discrete (or discretized continuous) structures like graphs, manifolds, and point clouds in Euclidean space. Diffusion wavelets are an extension of classical wavelet theory from harmonic analysis. Unlike classical wavelets whose basis functions are predetermined, diffusion wavelets are adapted to the geometry of a given diffusion operator  (e.g., a heat kernel or a random walk). Moreover, the diffusion wavelet basis functions are constructed by dilation using the dyadic powers (powers of two) of . These dyadic powers of  diffusion over the space and propagate local relationships in the function throughout the space until they become global. And if the rank of higher powers of  decrease (i.e., its spectrum decays), then these higher powers become compressible. From these decaying dyadic powers of  comes a chain of decreasing subspaces. These subspaces are the scaling function approximation subspaces, and the differences in the subspace chain are the wavelet subspaces.

Diffusion wavelets were first introduced in 2004 by Ronald Coifman and Mauro Maggioni at Yale University.

Algorithm 
This algorithm constructs the scaling basis functions and the wavelet basis functions along with the representations of the diffusion operator  at these scales.

In the algorithm below, the subscript notation  and  represents the scaling basis functions at scale  and the wavelet basis functions at scale  respectively.  The notation  denotes the matrix representation of the scaling basis  represented with respect to the basis .  Lastly, the notation  denotes the matrix represents of the operator , where the row space of  is represented with respect to the basis , and the column space of  is represented with respect to the basis .  Otherwise put, the domain of operator  is represented with respect to the basis  and the range is represented with respect to the basis .  The function  is a sparse QR decomposition with  precision. 

 // Input:
 //     is the matrix representation of the diffusion operator.
 //     is the precision of the QR decomposition, e.g., 1e-6.
 //     is the maximum number of scale levels (note: this is an optional upper bound, it may converge sooner.)
 // Output:
 //     is the set of scaling basis functions indexed by scale .
 //     is the set of wavelet basis functions indexed by scale .
   
 
     :

Applications

Mathematics
Diffusion wavelets are of general interest in mathematics.  Specifically, they allow for the direct calculation of the Green′s function and the inverse graph Laplacian.

Computer science
Diffusion wavelets have been used extensively in computer science, especially in machine learning.  They have been applied to the following fields:
 solving Markov decision processes and Markov chains for machine learning,
 transfer learning,
 value function approximation in reinforcement learning,
 dimensionality reduction,
 mesh compression for 3D graphics,
 topic model analysis of document corpora.
 relation extraction.

See also 
 Wavelets

References

External links
Mauro Maggioni's MATLAB code implementation
Chang Wang's diffusion wavelet page

Wavelets