get_distance_matrix {diffudist} | R Documentation |
Diffusion Distance Matrix
Description
Returns a matrix where each entry encodes the diffusion distance between two nodes of a network.
The diffusion distance at time \tau
between nodes i, j \in G
is defined as
D_{\tau}(i, j) = \vert \mathbf{p}(t|i) - \mathbf{p}(t|j) \vert_2
with \mathbf{p}(t|i) = (e^{- \tau L})_{i\cdot} = \mathbf{e}_i e^{- \tau L}
indicating the i-th row of the stochastic matrix e^{- \tau L}
and
representing the probability (row) vector of a random walk dynamics
corresponding to the initial condition \mathbf{e}_i
, i.e. the random
walker is in node i
at time \tau = 0
with probability 1.
Usage
get_distance_matrix(
g,
tau,
type = "Normalized Laplacian",
weights = NULL,
as_dist = FALSE,
verbose = TRUE
)
getDistanceMatrix(g, tau, type = "Normalized Laplacian", weights = NULL,
verbose = TRUE)
get_DDM(
g,
tau,
type = "Normalized Laplacian",
weights = NULL,
as_dist = FALSE,
verbose = TRUE
)
Arguments
g |
a (single-layer) network |
tau |
diffusion time |
type |
default "Normalized Laplacian". The type of Laplacian (i.e. of dynamics) to consider. Other types available are:
Note that you can type abbreviations, e.g. "L", "N", "Q", "M" for the
respective types (case is ignored). The argument match is done through
|
weights |
edge weights, representing the strength/intensity (not the cost!) of each link. If weights is NULL (the default) and g has an edge attribute called weight, then it will be used automatically. If this is NA then no weights are used (even if the graph has a weight attribute). |
as_dist |
If the function should return a matrix or an object of class "dist" as returned from [stats::as.dist]. Default is FALSE if the number of nodes is smaller than 1000. |
verbose |
default TRUE |
Value
The diffusion distance matrix D_t
, a square numeric matrix
of the L^2
-norm distances between posterior probability vectors, i.e.
Euclidean distances between the rows of the stochastic matrix
P(t) = e^{-\tau L}
, where -L = -(I - T)
is the generator of the
continuous-time random walk (Markov chain) of given type
over network
g
.
Functions
-
getDistanceMatrix()
: Old deprecated function
References
De Domenico, M. (2017). Diffusion Geometry Unravels the Emergence of Functional Clusters in Collective Phenomena. Physical Review Letters. doi:10.1103/PhysRevLett.118.168301
Bertagnolli, G., & De Domenico, M. (2021). Diffusion geometry of multiplex and interdependent systems. Physical Review E, 103(4), 042301. doi:10.1103/PhysRevE.103.042301 arXiv: 2006.13032
See Also
get_diffusion_probability_matrix
Examples
g <- igraph::sample_pa(10, directed = FALSE)
dm_crw <- get_distance_matrix(g, tau = 1)
dm_merw <- get_distance_matrix(g, tau = 1, type = "MERW")