The current code throws "GSP_GRAPH_SPARSIFY: Epsilon out of required range" if gsp_graph_multiresolution() comes to the point that the current graph has three nodes. I think L175 in gsp_graph_multiresolution.m should be if Gs{lev+1}.N>3 as 2/sqrt(3)>1, a condition in gsp_graph_sparsify(). Another useful condition would be sum(find(Gs{lev+1}.A,1))>0 as otherwise there is nothing to sparsify and this later leads to error in results=gendist(Pe',q,1);.
In addition a piggy-backed comment: gsp_graph_sparsify() should be documented that it is non-deterministic.
The current code throws "GSP_GRAPH_SPARSIFY: Epsilon out of required range" if
gsp_graph_multiresolution()
comes to the point that the current graph has three nodes. I think L175 in gsp_graph_multiresolution.m should beif Gs{lev+1}.N>3
as 2/sqrt(3)>1, a condition ingsp_graph_sparsify()
. Another useful condition would besum(find(Gs{lev+1}.A,1))>0
as otherwise there is nothing to sparsify and this later leads to error inresults=gendist(Pe',q,1);
. In addition a piggy-backed comment:gsp_graph_sparsify()
should be documented that it is non-deterministic.