Subgraph centrality of a vertex measures the number of subgraphs a vertex participates in, weighting them according to their size.

## Usage

subgraph_centrality(graph, diag = FALSE)

## Arguments

graph

The input graph, it should be undirected, but the implementation does not check this currently.

diag

Boolean scalar, whether to include the diagonal of the adjacency matrix in the analysis. Giving FALSE here effectively eliminates the loops edges from the graph before the calculation.

## Value

A numeric vector, the subgraph centrality scores of the vertices.

## Details

The subgraph centrality of a vertex is defined as the number of closed loops originating at the vertex, where longer loops are exponentially downweighted.

Currently the calculation is performed by explicitly calculating all eigenvalues and eigenvectors of the adjacency matrix of the graph. This effectively means that the measure can only be calculated for small graphs.

## References

Ernesto Estrada, Juan A. Rodriguez-Velazquez: Subgraph centrality in Complex Networks. Physical Review E 71, 056103 (2005).

eigen_centrality(), page_rank()

Centrality measures alpha_centrality(), betweenness(), closeness(), diversity(), eigen_centrality(), harmonic_centrality(), hub_score(), page_rank(), power_centrality(), spectrum(), strength()

## Author

Gabor Csardi csardi.gabor@gmail.com based on the Matlab code by Ernesto Estrada

## Examples


g <- sample_pa(100, m = 4, dir = FALSE)
sc <- subgraph_centrality(g)
cor(degree(g), sc)
#> [1] 0.929038