nd.dsd {NetworkDistance} | R Documentation |
Discrete Spectral Distance
Description
Discrete Spectral Distance (DSD) is defined as the Euclidean distance between
the spectra of various matrices, such as adjacency matrix A
("Adj"
),
(unnormalized) Laplacian matrix L=D-A
("Lap"
),
signless Laplacian matrix |L|=D+A
("SLap"
), or
normalized Laplacian matrix \tilde{L}=D^{-1/2}LD^{-1/2}
.
Usage
nd.dsd(A, out.dist = TRUE, type = c("Lap", "SLap", "NLap", "Adj"))
Arguments
A |
a list of length |
out.dist |
a logical; |
type |
type of target structure. One of |
Value
a named list containing
- D
an
(N\times N)
matrix ordist
object containing pairwise distance measures.- spectra
an
(N\times M-1)
matrix where each row is top-M-1
vibrational spectra.
References
Wilson RC, Zhu P (2008). “A study of graph spectra for comparing graphs and trees.” Pattern Recognition, 41(9), 2833–2841. ISSN 00313203.
Examples
## load example data and extract only a few
data(graph20)
gr.small = graph20[c(1:5,11:15)]
## compute distance matrix
output <- nd.dsd(gr.small, out.dist=FALSE)
## visualize
opar <- par(no.readonly=TRUE)
par(pty="s")
image(output$D[,10:1], main="two group case", axes=FALSE, col=gray(0:32/32))
par(opar)