GSP_TREE_MULTIRESOLUTION - Compute a multiresolution of trees

Usage

[Gs,subsampled_vertex_indices]=gsp_tree_multiresolution(G,num_levels);
[Gs,subsampled_vertex_indices]=gsp_tree_multiresolution(G,num_levels,param);

Input parameters

G Graph structure of a tree.
Nlevel Number of times to downsample and coarsen the tree.

Output parameters

Gs Cell array, with each element containing a graph structure represent a reduced tree.
subsampled_vertex_indices
 Indices of the vertices of the previous tree that are kept for the subsequent tree.

Description

Additional parameters:
param.root : The index of the root of the tree (default=1) param.reduction_method : The graph reduction method (default='resistance_distance') param.compute_full_eigen : To also compute the graph Laplacian eigenvalues for every tree in the sequence

'gsp_tree_multiresolution(G,num_levels)' computes a multiresolution of trees by repeatedly downsampling and performing a graph reduction. The downsampling is performed by keeping all vertices at even depths of the tree from the root vertex. Options for the graph reduction method include: 'unweighted', 'sum' (add the weight connecting a child node to its parent and the weight connecting the parent to the grandparent and use that weight for the edge connecting the child to the grandparent in the new graph), or 'resistance_distance', which preserves the resistance distances by setting the new weights according to:

\begin{equation*} W_{i,k}=\frac{1}{\frac{1}{W_{i,j}}+\frac{1}{W_{j,k}}} \end{equation*}

where \(W_{i,j}\) is the weight connecting a child to its parent in the original tree, and \(W_{j,k}\) is the weight connecting the parent to the grandparent in the original tree.