Kleinberg's hub and authority centrality scores.Source:
The hub scores of the vertices are defined as the principal eigenvector of \(A A^T\), where \(A\) is the adjacency matrix of the graph.
hub_score(graph, scale = TRUE, weights = NULL, options = arpack_defaults) authority_score(graph, scale = TRUE, weights = NULL, options = arpack_defaults)
The input graph.
Logical scalar, whether to scale the result to have a maximum score of one. If no scaling is used then the result vector has unit length in the Euclidean norm.
Optional positive weight vector for calculating weighted scores. If the graph has a
weightedge attribute, then this is used by default. This function interprets edge weights as connection strengths. In the random surfer model, an edge with a larger weight is more likely to be selected by the surfer.
A named list, to override some ARPACK options. See
A named list with members:
The hub or authority scores of the vertices.
The corresponding eigenvalue of the calculated principal eigenvector.
Some information about the ARPACK computation, it has the same members as the
optionsmember returned by
arpack(), see that for documentation.
Similarly, the authority scores of the vertices are defined as the principal eigenvector of \(A^T A\), where \(A\) is the adjacency matrix of the graph.
For undirected matrices the adjacency matrix is symmetric and the hub scores are the same as authority scores.
J. Kleinberg. Authoritative sources in a hyperlinked environment. Proc. 9th ACM-SIAM Symposium on Discrete Algorithms, 1998. Extended version in Journal of the ACM 46(1999). Also appears as IBM Research Report RJ 10076, May 1997.
eigen_centrality() for eigenvector centrality,
page_rank() for the Page Rank scores.
the underlining machinery of the computation.
## An in-star g <- make_star(10) hub_score(g)$vector #>  3.370123e-16 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 #>  1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 authority_score(g)$vector #>  1.000000e+00 5.506804e-17 5.506804e-17 5.506804e-17 5.506804e-17 #>  5.506804e-17 5.506804e-17 5.506804e-17 5.506804e-17 5.506804e-17 ## A ring g2 <- make_ring(10) hub_score(g2)$vector #>  1 0 1 0 1 0 1 0 1 0 authority_score(g2)$vector #>  1 1 1 1 1 1 1 1 1 1