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 N containing (M\times M) adjacency matrices.

out.dist

a logical; TRUE for computed distance matrix as a dist object.

type

type of target structure. One of "Lap","SLap","NLap","Adj" as defined above.

Value

a named list containing

D

an (N\times N) matrix or dist 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)



[Package NetworkDistance version 0.3.4 Index]