distances {nevada} | R Documentation |
Distances Between Networks
Description
This is a collection of functions computing the distance between two networks.
Usage
dist_hamming(x, y, representation = "laplacian")
dist_frobenius(
x,
y,
representation = "laplacian",
matching_iterations = 0,
target_matrix = NULL
)
dist_spectral(x, y, representation = "laplacian")
dist_root_euclidean(x, y, representation = "laplacian")
Arguments
x |
An |
y |
An |
representation |
A string specifying the desired type of representation,
among: |
matching_iterations |
An integer value specifying the maximum number of
runs when looking for the optimal permutation for graph matching. Defaults
to |
target_matrix |
A square numeric matrix of size |
Details
Let X
be the matrix representation of network x
and Y
be
the matrix representation of network y
. The Hamming distance between
x
and y
is given by
\frac{1}{N(N-1)} \sum_{i,j} |X_{ij} -
Y_{ij}|,
where N
is the number of vertices in networks x
and
y
. The Frobenius distance between x
and y
is given by
\sqrt{\sum_{i,j} (X_{ij} - Y_{ij})^2}.
The spectral distance between
x
and y
is given by
\sqrt{\sum_i (a_i - b_i)^2},
where
a
and b
of the eigenvalues of X
and Y
, respectively.
This distance gives rise to classes of equivalence. Consider the spectral
decomposition of X
and Y
:
X=VAV^{-1}
and
Y =
UBU^{-1},
where V
and U
are the matrices whose columns are the
eigenvectors of X
and Y
, respectively and A
and B
are
the diagonal matrices with elements the eigenvalues of X
and Y
,
respectively. The root-Euclidean distance between x
and y
is
given by
\sqrt{\sum_i (V \sqrt{A} V^{-1} - U \sqrt{B} U^{-1})^2}.
Root-Euclidean distance can used only with the laplacian matrix representation.
Value
A scalar measuring the distance between the two input networks.
Examples
g1 <- igraph::sample_gnp(20, 0.1)
g2 <- igraph::sample_gnp(20, 0.2)
dist_hamming(g1, g2, "adjacency")
dist_frobenius(g1, g2, "adjacency")
dist_spectral(g1, g2, "laplacian")
dist_root_euclidean(g1, g2, "laplacian")