Returns HITS hubs and authorities values for nodes.

Deprecated since version 2.6: hits_numpy is deprecated and will be removed in networkx 3.0.

The HITS algorithm computes two numbers for a node. Authorities estimates the node value based on the incoming links. Hubs estimates the node value based on outgoing links.


A NetworkX graph

normalizedbool (default=True)

Normalize results by the sum of all of the values.

(hubs,authorities)two-tuple of dictionaries

Two dictionaries keyed by node containing the hub and authority values.


The eigenvector calculation uses NumPy’s interface to LAPACK.

The HITS algorithm was designed for directed graphs but this algorithm does not check if the input graph is directed and will execute on undirected graphs.



A. Langville and C. Meyer, “A survey of eigenvector methods of web information retrieval.” http://citeseer.ist.psu.edu/713792.html


Jon Kleinberg, Authoritative sources in a hyperlinked environment Journal of the ACM 46 (5): 604-32, 1999. doi:10.1145/324133.324140. http://www.cs.cornell.edu/home/kleinber/auth.pdf.


>>> G = nx.path_graph(4)

The hubs and authorities are given by the eigenvectors corresponding to the maximum eigenvalues of the hubs_matrix and the authority_matrix, respectively.

The hubs and authority matrices are computed from the adjancency matrix:

>>> adj_ary = nx.to_numpy_array(G)
>>> hubs_matrix = adj_ary @ adj_ary.T
>>> authority_matrix = adj_ary.T @ adj_ary

hits_numpy maps the eigenvector corresponding to the maximum eigenvalue of the respective matrices to the nodes in G:

>>> hubs, authority = nx.hits_numpy(G)