Function alpha_centrality
computes Katz centrality for a graph:
g = read_graph(file = "EVGraphDirected.gml", format = "gml")
coords = layout_in_circle(g)
plot(g,
layout = coords,
vertex.size = 20,
vertex.color = "white",
edge.arrow.size = 0.4)

A = as_adjacency_matrix(g)
eig = eigen(A)$values
r = max(abs(eig))
alpha = 0.85 / r
(x = alpha_centrality(g, alpha = alpha, exo = 1))
## A B C D E F G H
## 17.73198 203.77891 174.21208 19.68468 21.98198 19.68468 1.00000 1.00000
## I L M
## 1.00000 1.00000 1.00000
plot(g,
layout = coords,
vertex.size = 25,
vertex.color = "white",
vertex.label = round(x, 0),
vertex.label.cex = 0.80,
edge.arrow.size = 0.4)

alpha = 0.5 / r
x = alpha_centrality(g, alpha = alpha, exo = 1)
plot(g,
layout = coords,
vertex.size = 25,
vertex.color = "white",
vertex.label = round(x, 2),
vertex.label.cex = 0.80,
edge.arrow.size = 0.4)

alpha = 0.15 / r
x = alpha_centrality(g, alpha = alpha, exo = 1)
plot(g,
layout = coords,
vertex.size = 25,
vertex.color = "white",
vertex.label = round(x, 2),
vertex.label.cex = 0.80,
edge.arrow.size = 0.4)
