See centralize() for a summary of graph centralization.

## Usage

centr_eigen(
graph,
directed = FALSE,
scale = TRUE,
options = arpack_defaults(),
normalized = TRUE
)

## Arguments

graph

The input graph.

directed

logical scalar, whether to use directed shortest paths for calculating eigenvector centrality.

scale

Whether to rescale the eigenvector centrality scores, such that the maximum score is one.

options

This is passed to eigen_centrality(), the options for the ARPACK eigensolver.

normalized

Logical scalar. Whether to normalize the graph level centrality score by dividing by the theoretical maximum.

## Value

A named list with the following components:

vector

The node-level centrality scores.

value

The corresponding eigenvalue.

options

ARPACK options, see the return value of eigen_centrality() for details.

centralization

The graph level centrality index.

theoretical_max

The same as above, the theoretical maximum centralization score for a graph with the same number of vertices.

Other centralization related: centr_betw_tmax(), centr_betw(), centr_clo_tmax(), centr_clo(), centr_degree_tmax(), centr_degree(), centr_eigen_tmax(), centralize()

## Examples

# A BA graph is quite centralized
g <- sample_pa(1000, m = 4)
centr_degree(g)$centralization #> [1] 0.1357814 centr_clo(g, mode = "all")$centralization
#> [1] 0.3885529
centr_betw(g, directed = FALSE)$centralization #> [1] 0.2004031 centr_eigen(g, directed = FALSE)$centralization
#> [1] 0.9345768

# The most centralized graph according to eigenvector centrality
g0 <- make_graph(c(2, 1), n = 10, dir = FALSE)
g1 <- make_star(10, mode = "undirected")
centr_eigen(g0)$centralization #> [1] 1 centr_eigen(g1)$centralization
#> [1] 0.75