| nd.gdd | R Documentation |
Graph Diffusion Distance (nd.gdd) quantifies the difference between two weighted graphs of same size. It takes
an idea from heat diffusion process on graphs via graph Laplacian exponential kernel matrices. For a given
adjacency matrix A, the graph Laplacian is defined as
L := D-A
where D_{ii}=\sum_j A_{ij}. For two adjacency matrices A_1 and A_2,
GDD is defined as
d_{gdd}(A_1,A_2) = max_t \sqrt{\| \exp(-tL_1) -\exp(-tL_2) \|_F^2}
where \exp(\cdot) is matrix exponential, \|\cdot\|_F a Frobenius norm, and L_1 and L_2
Laplacian matrices corresponding to A_1 and A_2, respectively.
nd.gdd(A, out.dist = TRUE, vect = seq(from = 0.1, to = 1, length.out = 10))
A |
a list of length |
out.dist |
a logical; |
vect |
a vector of parameters |
a named list containing
an (N\times N) matrix or dist object containing pairwise distance measures.
an (N\times N) matrix whose entries are maximizer of the cost function.
hammond_graph_2013NetworkDistance
## load data and extract a subset
data(graph20)
gr.small = graph20[c(1:5,11:15)]
## compute distance matrix
output = nd.gdd(gr.small, out.dist=FALSE)
## visualize
opar = par(no.readonly=TRUE)
par(pty="s")
image(output$D[,10:1], main="two group case", col=gray((0:32)/32), axes=FALSE)
par(opar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.