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 $$T$$ (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 $$T$$. These dyadic powers of $$T$$ 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 $$T$$ decrease (i.e., its spectrum decays), then these higher powers become compressible. From these decaying dyadic powers of $$T$$ 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 $$T$$ at these scales.

In the algorithm below, the subscript notation $$\Phi_a$$ and $$\Psi_b$$ represents the scaling basis functions at scale $$a$$ and the wavelet basis functions at scale $$b$$ respectively. The notation $$[\Phi_b]_{\Phi_a}$$ denotes the matrix representation of the scaling basis $$\Phi_b$$ represented with respect to the basis $$\Phi_a$$. Lastly, the notation $$[T]_{\Phi_a}^{\Phi_b}$$ denotes the matrix represents of the operator $$T$$, where the row space of $$T$$ is represented with respect to the basis $$\Phi_a$$, and the column space of $$T$$ is represented with respect to the basis $$\Phi_b$$. Otherwise put, the domain of operator $$T$$ is represented with respect to the basis $$\Phi_a$$ and the range is represented with respect to the basis $$\Phi_b$$. The function $$QR$$ is a sparse QR decomposition with $$\epsilon$$ precision.

// Input: //   $$T$$ is the matrix representation of the diffusion operator. //   $$\epsilon$$ is the precision of the QR decomposition, e.g., 1e-6. //   $$J$$ is the maximum number of scale levels (note: this is an optional upper bound, it may converge sooner.) // Output: //   $$\lbrace\Phi_j\rbrace$$ is the set of scaling basis functions indexed by scale $$j$$. //   $$\lbrace\Psi_j\rbrace$$ is the set of wavelet basis functions indexed by scale $$j$$. $$\lbrace\Phi_j\rbrace, \lbrace\Psi_j\rbrace \leftarrow \text{function DiffusionWaveletTree} ( T, \epsilon , J ):$$ $$\textbf{for } j\leftarrow 0 \text{ to } J-1$$: $$[\Phi_{j+1}]_{\Phi_j}, [T^{2^j}]_{\Phi_j}^{\Phi_{j+1}} \leftarrow QR\left([T^{2^j}]_{\Phi_j}^{\Phi_{j}}, \epsilon\right) $$ $$[T^{2^{j+1}}]_{\Phi_{j+1}}^{\Phi_{j+1}} \leftarrow \left([T^{2^j}]_{\Phi_j}^{\Phi_{j+1}} [\Phi_{j+1}]_{\Phi_j}\right)^2$$ $$[\Psi_j]_{\Phi_j} \leftarrow QR\left(I_{\langle\Phi_j\rangle}-[\Phi_{j+1}]_{\Phi_j}\left([\Phi_{j+1}]_{\Phi_j}\right)^*, \epsilon\right)$$ $$\textbf{end for}$$

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.