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.

## Usage

```
hub_score(graph, scale = TRUE, weights = NULL, options = arpack_defaults)
authority_score(graph, scale = TRUE, weights = NULL, options = arpack_defaults)
```

## Arguments

- graph
The input graph.

- scale
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.

- weights
Optional positive weight vector for calculating weighted scores. If the graph has a

`weight`

edge 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.- options
A named list, to override some ARPACK options. See

`arpack()`

for details.

## Value

A named list with members:

- vector
The hub or authority scores of the vertices.

- value
The corresponding eigenvalue of the calculated principal eigenvector.

- options
Some information about the ARPACK computation, it has the same members as the

`options`

member returned by`arpack()`

, see that for documentation.

## Details

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.

## References

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.

## See also

`eigen_centrality()`

for eigenvector centrality,
`page_rank()`

for the Page Rank scores. `arpack()`

for
the underlining machinery of the computation.

Centrality measures
`alpha_centrality()`

,
`closeness()`

,
`diversity()`

,
`eigen_centrality()`

,
`estimate_betweenness()`

,
`harmonic_centrality()`

,
`page_rank()`

,
`power_centrality()`

,
`spectrum()`

,
`strength()`

,
`subgraph_centrality()`

## Examples

```
## An in-star
g <- make_star(10)
hub_score(g)$vector
#> [1] 3.370123e-16 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00
#> [6] 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00
authority_score(g)$vector
#> [1] 1.000000e+00 5.506804e-17 5.506804e-17 5.506804e-17 5.506804e-17
#> [6] 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] 1 0 1 0 1 0 1 0 1 0
authority_score(g2)$vector
#> [1] 1 1 1 1 1 1 1 1 1 1
```