Learn R Programming

hbm (version 1.0)

communicability: Compute Communicability between Nodes in an HBM

Description

communicability computes the scale communicability between nodes (rows) in a hierarchical block matrix hm, generated with hbm.

Usage

communicability(hm)

Arguments

hm
a hierarchical block matrix computed with hbm, with: $hm_{i,j} =$ the minimal scale (iteration) at which i and j were clustered together, or 0 if i=j

Value

communicability returns a matrix of the same dimensions as hm, where the (i,j)-th entry gives the scale-communicability between i and j in hm.

Details

The communicability of an adjacency matrix A can be expressed as $e^A$ (Estrada et al., 2012), so that the i,j-th entry is a weighted sum of all paths from i to j, where shortest paths are assigned with larger weights. For a hierarchical block matrix, computed with hbm, each scale s defines its own adjacency matrix, where all entries with values larger than s are set to 0. The scale-communicability between 2 nodes i and j in this matrix is defined here as the mean communicability across scales (excluding the largest scale).

References

Estrada, E., Hatano, N. and Benzi, M. The physics of communicability in complex networks. Physics Reports 514, 89-119 (2012). hbm's website: http://www.cl.cam.ac.uk/~ys388/hbm/

See Also

hbm to learn how to build hierarchical block matrices hbm's tutorials at http://www.cl.cam.ac.uk/~ys388/hbm/

Examples

Run this code
set.seed(2)
n = 100 # chain size
conf = generate.random.conf(n, scale = FALSE)

# compute the HBM
hm.control = hbm(exp(-1*as.matrix(dist(conf))), 2)$hm

# compute scale communicability
comm = communicability(hm.control)

# explore for position 50
plot(1:n, comm[50,], xlab = "Position", ylab = "Communicability", 
main = "Communicability for Position 50", pch=16)

# plot in original configuration
cols = rep("black", n)
cols[which(comm[50,] > 100)] = "blue"
plot(conf, xlab = "X", ylab = "Y", type = "n")
text(conf, labels = 1:n, col = cols)

Run the code above in your browser using DataLab