**1. Introduction**

Networks arise in many areas, such as social media, transportation, and chemistry; see [1,2] for many examples. Networks can be represented by graphs G that are made up of a set of *vertices* or *nodes* V = {*vi*}*ni*=<sup>1</sup> and a set of *edges* E = {*ei*}*mi*=1, connecting the nodes. Two distinct nodes, *vi* and *vj*, are said to be *adjacent* if there is an edge between them. The analysis of graphs by mathematical and computational methods can provide valuable information about the networks they model and is receiving considerable attention.

This paper considers networks that can be represented by simple unweighted graphs, that is, no edge starts and ends at the same node, and there is at most one edge between each pair of distinct nodes. Extension to weighted simple graphs, in which each edge has a positive weight, is straightforward. A graph is said to be undirected if every edge is a "two-way street"; a graph with at least one edge that is a "one-way street" is said to be directed. A directed edge *ek* pointing from vertex *vi* to vertex *vj* can be identified with the ordered pair (*vi*, *vj*); for an undirected edge, this pair is not ordered. A walk of length *k* in a graph is a sequence of *k* + 1 vertices *vi*1 , *vi*2 , ... , *vik*+<sup>1</sup> and a sequence of *k* edges *ej*1 ,*ej*2 , ... ,*ejk* , not necessarily distinct, such that *ejp* points from *vip* to *vip*+<sup>1</sup> in a directed graph, or connects *vip* to *vip*+<sup>1</sup> in an undirected graph, for *p* = 1, 2, ... , *k*. A path is a walk in which all the nodes are distinct.

An unweighted simple graph G with *n* nodes can be represented by its adjacency matrix *A* = [*aij*]*ni*,*j*=<sup>1</sup> ∈ R*<sup>n</sup>*×*n*, where *aij* = 1 when there is an edge from vertex *vi* to vertex *vj*; otherwise, *aij* = 0. In particular, *aii* = 0 for all *i*. Undirected graphs are associated with symmetric adjacency matrices, while the adjacency matrix for a directed graph is non-symmetric. Typically, the number of edges, *m*, is much smaller than *n*2. This makes the adjacency matrix *A* sparse. An undirected graph is said to be *connected* if there is a path

**Citation:** Concas, A.; Reichel, L.; Rodriguez, G.; Zhang, Y. Iterative Methods for the Computation of the Perron Vector of Adjacency Matrices. *Mathematics* **2021**, *9*, 1522. https:// doi.org/10.3390/math9131522

Academic Editor: Christine Böckmann

Received: 6 May 2021 Accepted: 23 June 2021 Published: 29 June 2021

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

connecting each pair of nodes. A directed graph is referred to as *strongly connected* if there is a directed path from *vi* to *vj* and vice versa for every pair of distinct nodes. The adjacency matrix *A* associated with an undirected graph G is irreducible if and only if G is connected. Similarly, the adjacency matrix *A* associated with a directed graph G is irreducible if and only if G is strongly connected.

A problem of considerable interest in network analysis is the determination of the most important vertices of a network. The notion of centrality can be used to identify these vertices. There are many centrality measures available, including degree centrality [1,2], betweenness centrality [3], hub-and-authority centrality [4], and eigenvector centrality [5].

We are interested in investigating the performance of iterative methods for determining the eigenvector centrality of vertices belonging to certain structured graphs G with many nodes *n*. The eigenvector centrality was introduced by Bonacich for quantifying the influence a node has in a network [5], beyond its nearest neighbors, in terms of spectral properties of the associated adjacency matrix. According to the Perron–Frobenius theorem, the largest eigenvalue, *ρ*, which is known as the *Perron root*, of a nonnegative irreducible matrix *A*, is unique and has a unique eigenvector **w** = [*<sup>w</sup>*1, *w*2, ... , *wn*]*<sup>T</sup>* ∈ R*n* (up to scaling) with positive components *wi*. This vector is commonly referred to as the *Perron vector* of *A*; see, for example, Meyer ([6] Section 8.3). For notational simplicity, we may assume that **w** is scaled so that **w** = 1. Here and throughout this paper, · denotes the Euclidean vector norm. The eigenvector centrality of the vertex *vi* is given by the entry *wi* of the Perron vector **w** of the adjacency matrix *A*. A vertex *vi* is considered a central, that is, important, vertex of the graph G if *wi* is the largest entry of **w**. This centrality measure also takes into account the centralities of those nodes to which *vi* is connected [7].

Blondel et al. [8] investigated the performance of the power method when applied to determining the Perron vector of a matrix of the form

$$M = \begin{bmatrix} 0 & A \\ A^T & 0 \end{bmatrix} \in \mathbb{R}^{2n \times 2n},\tag{1}$$

where *A* ∈ R*n*×*n* is the adjacency matrix for a graph G with *n* nodes, and the superscript *T* denotes transposition. *M* can be interpreted as the adjacency matrix of a bipartite graph containing 2*n* vertices partitioned into two disjoint vertex subsets, whose connections are described by *A* and occur only across, but not within, the two groups.

There are numerous methods for partitioning the vertex set of a bipartite graph G so that its adjacency matrix is of the form (1); see [2,9,10] and references therein. The Perron vector of the matrix (1) is used to determine the hub-and-authority centralities for the vertices of G [2,4] and its components give similarity scores between graph nodes. These scores were introduced by Blondel et al. [8]. There are several applications of similarity scores. These applications lead to the construction of a self-similarity matrix associated with a graph, which measures how vertices are similar to each other [8]; see [11] for an application in archaeology of the similarity matrix associated with a bipartite graph and for an algorithm for solving the seriation problem. The latter is a fundamental ordering problem that aims at finding the best enumeration order of a set of units so that in the resulting sequence, elements having higher similarity are placed close to each other.

Given an initial vector **z**0 ∈ R2*n* with positive entries, the power method applied to the matrix *M* generates the sequence of vectors

$$\mathbf{z}\_{k} = \frac{M\mathbf{z}\_{k-1}}{||M\mathbf{z}\_{k-1}||\_2}, \quad k = 1, 2, \dots \,\,\,\,\tag{2}$$

When applied to a real square matrix with a single largest eigenvalue of maximal magnitude, the power method is known to determine a sequence of vectors that converge to the span of the eigenvector associated with this eigenvalue for almost all initial vectors; see, for example, Saad ([12] Section 4.1). The following result, which highlights the property of the adjacency matrix of a bipartite graph of having a spectrum symmetric with respect

to the origin ([13] Theorem 3.14), shows why the application of the power method to the matrix (1) is not straightforward.

**Proposition 1.** *The matrix* (1) *has distinct eigenvalues of the largest magnitude.*

**Proof.** Partition the Perron vector **x** = [**x***<sup>T</sup>* 1 , **x***<sup>T</sup>* 2 ] *T* ∈ R2*n* of the matrix *M* defined by (1), where **x***i*∈ R*<sup>n</sup>*, *i* = 1, 2. Let *λ* denote the Perron root of *M*. Then, *M***x** = *λ***x** implies that

$$M\begin{bmatrix} \mathbf{x}\_1\\ -\mathbf{x}\_2 \end{bmatrix} = -\lambda \begin{bmatrix} \mathbf{x}\_1\\ -\mathbf{x}\_2 \end{bmatrix}.$$

Thus, the negative Perron root is also an eigenvalue of *M*.

The presence of more than one eigenvalue of the largest magnitude of *M* suggests that the sequence of vectors, **z**1, **z**2, **z**3, ..., might not converge to the Perron vector. Indeed, Blondel et al. [8] show that both the limits

$$\lim\_{k \to \infty} \mathbf{z}\_{2k} \quad \text{and} \quad \lim\_{k \to \infty} \mathbf{z}\_{2k-1} \tag{3}$$

exist, but they might not be the same. The limits depend on the initial vector **z**0 for the power iteration and none of the limits might be the Perron vector for *M*. Throughout this paper, **e** = [1, 1, ... , 1] *T* denotes the vector with all entries 1 of a suitable dimension. Blondel at al. ([8] Theorem 2) show that when **z**0 = **<sup>e</sup>**/**e**, the limit on the left-hand side of (3) is the Perron vector for *M*.

An advantage of the power method, when compared to other methods for computing the Perron vector of a matrix with only nonnegative entries, is that only two vectors, **<sup>z</sup>***k* and *M***<sup>z</sup>***k*, have to be stored simultaneously during the computations. The low storage requirement may be important for very large matrices; however, convergence of the power method can also be very slow when there is only one eigenvalue of the largest magnitude. The rate of convergence decreases with the distance between the Perron root and the magnitude of the second largest eigenvalue in modulus; see, for example, ([12] Section 4.1). It is therefore interesting to investigate the convergence properties of methods that converge faster, such as the Lanczos or restarted Lanczos methods, when applied to matrices of the form (1) and generalizations thereof. It is the purpose of the present paper to study the convergence of the Lanczos and restarted Lanczos methods when applied to the computation of the Perron vector of matrices of the form (1) and some generalizations. Our analysis is based on results by Blondel et al. [8]. We also discuss the computation of the Perron vector of structured matrices, somewhat related to the matrix *M*, and by application of the Arnoldi method to the submatrix *A* in (1). These particular matrices represent graphs with a chained structure that refine the notion of bipartivity [14].

This paper is organized as follows: Section 2 introduces undirected chained graphs. The adjacency matrix for this kind of graph has a staircase structure, which generalizes the structure (1). Chained graphs have been shown to be bipartite in [14], which implies that the eigenvalues of their associated adjacency matrices appear in ± pairs. Section 3 studies the performance of the Lanczos and restarted Lanczos methods when applied to computing the Perron vector for these and other symmetric adjacency matrices. The Arnoldi method and its application to estimating the Perron vector for a symmetric matrix considered by Blondel et al. [8] are described in Section 4. A few computed examples are presented in Section 5, and Section 6 contains concluding remarks.

#### **2. Undirected Chained Graphs**

This section describes --chained undirected graphs and the structure of their adjacency matrices. These graphs, which are particular bipartite graphs, were introduced in [14] and are defined as follows.

**Definition 1.** *An undirected graph* G = {V, E } *is said to be i-*chained *with initial vertex vi if the set of vertices can be subdivided into i disjoint non-empty subsets*

$$\mathcal{V} = \mathcal{V}\_1 \cup \mathcal{V}\_2 \cup \dots \cup \mathcal{V}\_{\ell\_i \prime}$$

*such that vi* ∈ V<sup>1</sup>*, and all vertices in the set* <sup>V</sup>*j, are adjacent only to vertices in the sets* <sup>V</sup>*j*−<sup>1</sup> *or* <sup>V</sup>*j*+<sup>1</sup> *for j* = 2, 3, ... , *i* − 1*, where the chain length i is the largest number of vertex subsets* V*j with this property. Moreover, the vertices in* V1 *and* V*i are adjacent only to vertices in* V2 *and* V*<sup>i</sup>*−1*, respectively. Vertex sets* V*j with consecutive indices are said to be adjacent.*

Chained graphs arise in various applications; see [8,14,15] and Section 5.

Consider an undirected --chained graph G = (V, E) with vertex set partitioning V = V1 ∪ V2 ∪···∪V-. Let *ni* be the cardinality of the vertex subset V*i* for *i* = 1, 2, ... , -. Thus, the graph G has *n* = ∑*i*=1 *ni* nodes. Order the vertices *vj* of G so that the vertices in V*i* precede those in V*i*+<sup>1</sup> for *i* = 1, 2, ... , - − 1, and define the matrix *Ai* ∈ R*ni*×*ni*+<sup>1</sup> that describes the connections between the vertices in V*i* and the vertices in V*i*+<sup>1</sup> for *i* = 1, 2, ... , - − 1. Then, the adjacency matrix *M* ∈ R*<sup>n</sup>*×*n*, associated with G, has the staircase structure

$$M = \begin{bmatrix} O & A\_1 \\ A\_1^T & O & A\_2 \\ & A\_2^T & \ddots & \ddots \\ & & \ddots & O & A\_{\ell-1} \\ & & & A\_{\ell-1}^T & O \end{bmatrix}. \tag{4}$$

**Theorem 1** ([14])**.** *An* -*-chained graph is bipartite. Conversely, if a graph is bipartite, then the graph is* -*-chained for some* - ≥ 2*.*

From Theorem 1 it follows that, for a suitable permutation matrix *P* ∈ R*<sup>n</sup>*×*n*, the adjacency matrix (4) can be permuted to the form

$$PMP^T = \left[\begin{array}{c|c}O & \mathbb{C} \\ \hline \mathbb{C}^T & O \end{array}\right],\tag{5}$$

with *C* ∈ R*no*×*ne*, where

$$n\_{\boldsymbol{\sigma}} = \sum\_{i=1}^{\lfloor (\ell+1)/2 \rfloor} n\_{2i-1\prime} \qquad \qquad n\_{\boldsymbol{\sigma}} = \sum\_{i=1}^{\lfloor \ell/2 \rfloor} n\_{2i}.$$

Here, *α* denotes the integer part of *α* ≥ 0. The structure (5) is the same as (1). It follows from Proposition 1 that the adjacency matrix for an --chained undirected graph has pairs of eigenvalues of the opposite sign, which include the Perron root.

**Example 1.** *Consider the* 3*-chained graph with adjacency matrix*

$$M = \begin{bmatrix} O & A & O \\ A^T & O & A \\ O & A^T & O \end{bmatrix} \in \mathbb{R}^{3n \times 3n},\tag{6}$$

*where A* ∈ R*n*×*n. Then*

$$M^2 = \begin{bmatrix} AA^T & O & AA \\ O & A^TA + AA^T & O \\ A^TA^T & O & A^TA \end{bmatrix} \tag{7}$$

*Introduce the permutation matrix*

$$P = \begin{bmatrix} I\_n & O & O \\ O & O & I\_n \\ O & I\_n & O \end{bmatrix} \prime$$

*where In* ∈ R*n*×*n is the identity matrix. Then, the matrix C* ∈ R2*n*×*n is defined by*

$$PMP^T = \begin{bmatrix} O & O \\ \hline O & O \\ \hline A^T & A & O \end{bmatrix} = \begin{bmatrix} O & \mathbb{C} \\ \hline \mathbb{C}^T & O \end{bmatrix}.$$

*It follows that the* ± *singular values of C are eigenvalues of M. This yields* 2*n of the eigenvalues of M. The remaining n eigenvalues vanish. We will discuss the computation of the Perron vector of matrices of the form* (6)*, as well as of matrices of the form* (4)*, in the following section.*

#### **3. The Lanczos and Restarted Lanczos Methods**

This section discusses the application of the Lanczos and restarted Lanczos methods to the computation of the Perron vector of an undirected connected graph. We first consider the Lanczos method and subsequently turn to restarted variants.

The Lanczos method reduces a large symmetric matrix to a usually much smaller symmetric tridiagonal matrix by computing an orthogonal projection onto a Krylov subspace of fairly low dimension. It is a commonly used method for determining approximations of a few large eigenvalues and associated eigenvectors of a large symmetric matrix; see, for example, [12] for a discussion of this method.

Consider an undirected connected graph G with associated adjacency matrix *A* ∈ R*<sup>n</sup>*×*n*. Application of 1 ≤ *k n* steps of the Lanczos method to *A* with initial vector **v** ∈ R*<sup>n</sup>*\{**0**} yields, generically, the Lanczos decomposition

$$AQ\_k = Q\_k T\_k + \beta\_k \mathbf{q}\_{k+1} \mathbf{e}\_{k \text{ \textquotedblleft}}^T \tag{8}$$

where the columns of the matrix *Qk* = [**<sup>q</sup>**1, **q**2, ... , **<sup>q</sup>***k*] ∈ R*n*×*<sup>k</sup>* form an orthonormal basis for the Krylov subspace,

$$\mathcal{K}\_k(A, \mathbf{v}) = \text{span}\{\mathbf{v}, A\mathbf{v}, A^2\mathbf{v}, \dots, A^{k-1}\mathbf{v}\}, \quad k = 1, 2, \dots, n$$

with **q**1 = **<sup>v</sup>**/**v**. Throughout this paper, **e***k* = [0, ... , 0, 1, 0, ... , 0]*<sup>T</sup>* denotes the *k*th axis vector of the suitable dimension. Moreover,

$$T\_k = \begin{bmatrix} \alpha\_1 & \beta\_1 \\ \beta\_1 & \alpha\_2 & \beta\_2 \\ & \ddots & \ddots & \ddots \\ & & \beta\_{k-2} & \alpha\_{k-1} & \beta\_{k-1} \\ & & & \beta\_{k-1} & \alpha\_k \end{bmatrix} \in \mathbb{R}^{k \times k}$$

is a symmetric tridiagonal matrix, the coefficient *βk* in (8) is positive, and the vector **q***k*+1 ∈ R*n* satisfies *QTk* **q***k*+1 = **0** and **<sup>q</sup>***k*+<sup>1</sup> = 1. We tacitly assume that the number of steps *k* of the Lanczos method is small enough so that the decomposition (8) with the stated properties exists. This is the generic situation.

Let *ρk* denote the largest eigenvalue of *Tk*, and let **y***k* ∈ R*<sup>k</sup>* be an associated unit eigenvector. Then, *ρk* and *Qk***y***k* are commonly referred to as a Ritz value and a Ritz vector, respectively, of *A*.

**Theorem 2.** *Consider an undirected connected graph* G *with adjacency matrix M* ∈ R*n*×*n. Then, M is symmetric and nonnegative. Let ρ denote the Perron root of M and let* **w** *be the associated*

*Perron vector. Apply k steps of the Lanczos method to M with initial vector* **e** = [1, 1, ... , 1]*<sup>T</sup>* ∈ R*n. This produces the decompositions*

$$MQ\_k = Q\_k T\_k + \beta\_k \mathbf{q}\_{k+1} \mathbf{e}\_k^T, \quad k = 0, 1, \dots \quad \dots \tag{9}$$

*Let ρk denote the largest eigenvalue of Tk with the associated Perron vector* **y***k. Then, the Ritz values ρk converge to the Perron root ρ of M and the Ritz vectors* **<sup>w</sup>***k* = *Qk***y***k converge to* **w** *as k increases. If the Lanczos method breaks down at iteration* -*, then* **<sup>w</sup>**- *is the Perron vector.*

**Proof.** The eigenvectors of *M* are stationary points of the Rayleigh quotient

$$r(\mathbf{x}) = \frac{\mathbf{x}^T M \mathbf{x}}{\mathbf{x}^T \mathbf{x}}, \qquad \mathbf{x} \in \mathbb{R}^n \langle \{\mathbf{0}\}, \mathbf{0} \rangle$$

and the eigenvalues of *M* are the values of *r*(**x**) at these stationary points. The Perron root *ρ* is the maximum value of *<sup>r</sup>*(**x**). The largest eigenvalue of *Tk* is the maximum value *ρk* of *r*(**x**) over the *k*-dimensional Krylov subspace K*k*(*<sup>M</sup>*, **<sup>e</sup>**). It follows that *ρk* ≤ *ρ*.

Blondel et al. ([8] Theorem 2) show that, using the initial vector **<sup>e</sup>**/**e**, the sequence **<sup>z</sup>**2*k* in (2) generated by the power method converges to the Perron vector **w** of *M*. The unit vector **<sup>z</sup>**2*k* lives in K2*<sup>k</sup>*(*<sup>M</sup>*, **<sup>e</sup>**). Clearly,

$$\mathbf{z}\_{2k}^T \mathbf{M} \mathbf{z}\_{2k} \le \rho\_{2k} \le \rho. \tag{10}$$

Since the Krylov subspaces <sup>K</sup>*j*(*<sup>M</sup>*, **<sup>e</sup>**), *j* = 1, 2, . . . are nested, it follows that

$$
\mathcal{P}2k - 2 \stackrel{\prec}{\leq} \mathcal{P}2k - 1 \stackrel{\prec}{\leq} \mathcal{P}2k.\tag{11}
$$

It is a consequence of the mentioned result by Blondel et al. [8] that the Lanczos method does not break down until the Perron vector has been determined. Assume, to the contrary, that the Lanczos method breaks down at step *k*. Then, the relation (9) is replaced by

$$MQ\_k = Q\_k T\_{k\sigma}$$

which shows that the range of *Qk* forms an invariant subspace of *M*. This implies that the vector *M***<sup>z</sup>***k*, determined by the power method in the next step, lives in the range of *Qk*. This would imply that the Perron root of *M* is the Perron root of *Tk*, and therefore the Lanczos method determines the Perron root and Perron vector.

It follows from (10) that *ρ*2*k* converges to *ρ* and, due to (11), the sequence *ρj* converges monotonically to *ρ* (from below) as *j* increases. Let **y***j* ∈ R*j* be the Perron vector of *Tj*. Since *Tj* is an irreducible symmetric tridiagonal matrix, the unit vector **y***j* is uniquely determined. Then, the associated Ritz vectors **<sup>w</sup>***j* = *Qj***<sup>y</sup>***j* converge to the Perron vector of *M* as *j* increases. We remark that the Ritz vectors **<sup>w</sup>***j* so obtained, *j* ≥ 1, may have small negative entries. This is of no importance, since we are interested in determining the largest component(s) of these vectors.

The iterations of the Lanczos method applied to *M* are terminated as soon as two consecutive approximations **<sup>w</sup>***k*−1 and **<sup>w</sup>***k* of the Perron vector are close enough, that is, as soon as

$$\left\|\mathbf{w}\_{k} - \mathbf{w}\_{k-1}\right\| \leq \epsilon,\tag{12}$$

for some user-specified (small) value of > 0. Note that

$$||\mathbf{w}\_k - \mathbf{w}\_{k-1}|| = ||Q\_k \mathbf{y}\_k - Q\_{k-1} \mathbf{y}\_{k-1}|| = \left|| \mathbf{y}\_k - \begin{bmatrix} \mathbf{y}\_{k-1} \\ 0 \end{bmatrix} \right||.$$

Thus, it suffices to choose a *k* large enough so that

$$\left\| \mathbf{y}\_{k} - \left[ \begin{array}{c} \mathbf{y}\_{k-1} \\ 0 \end{array} \right] \right\| \leq \epsilon.$$

The Lanczos iteration is described by Algorithm 1. The algorithm applies the Lanczos method to a general real symmetric matrix *M* ∈ R*<sup>n</sup>*×*n*. In Line 14 of the algorithm, the symmetric tridiagonal matrix *Tk*−<sup>1</sup> ∈ R(*k*−<sup>1</sup>)×(*k*−<sup>1</sup>) is augmented by appending a row and a column to obtain the new symmetric tridiagonal matrix *Tk* ∈ R*k*×*k*.

**Algorithm 1** Determine the Perron vector of the matrix *M* by the Lanczos method.

**Require:** Adjacency matrix *M* ∈ R*n*×*n* and initial vector **e** = **1**. **Ensure:** Approximation **w** of the Perron vector of *M*. 1: *β*0 = 0, **q**0 = **0**, **q**1 = **ee** , **w**0 = **0**, *k* = 1 2: *α*1 = **q***T*1 *M***q**1 3: **r** = *M***q**1 − *<sup>α</sup>*1**q**1 4: *β*1 = **r** 5: **q**2 = **<sup>r</sup>**/*β*1 6: *T*1 = *α*1 7: *Q*1 = **q**1, **w**1 = **q**1 8: **while <sup>w</sup>***k* − **<sup>w</sup>***k*−<sup>1</sup> > **do** 9: *k* = *k* + 1 10: *αk* = **q***Tk M***q***k* 11: **r** = *M***q***k* − *<sup>α</sup>k***q***k* − *β<sup>k</sup>*−1**q***k*−<sup>1</sup> 12: *βk* = **r** 13: **q***k*+1 = **<sup>r</sup>**/*βk* 14: *Tk* = *Tk*−<sup>1</sup> *β<sup>k</sup>*−1**e***k*−<sup>1</sup> *β<sup>k</sup>*−1**<sup>e</sup>***Tk*−<sup>1</sup> *αk* 15: *Qk* = [*Qk*−<sup>1</sup> **<sup>q</sup>***k*] 16: Compute the Perron vector **y***k* of *Tk* 17: **<sup>w</sup>***k* = *Qk***y***k* 18: **end while** 19: **w** = **<sup>w</sup>***k*

The following example compares the results of finding the most important vertices of each vertex subset of an undirected 4-chained graph by the power method and the Lanczos method with initial vector **e**. In this comparison, we terminate the iterations with the power method as soon as two consecutive approximations **<sup>z</sup>**2*k* and **<sup>z</sup>**2(*k*−<sup>1</sup>) of the Perron vector are sufficiently close, that is, as soon as

$$\left\|\mathbf{z}\_{2k} - \mathbf{z}\_{2(k-1)}\right\| \leq \epsilon. \tag{13}$$

**Example 2.** *This example uses the Citeseer Index data set downloaded on June 2007 from the Citeseer<sup>X</sup> website [16]. The data set consists of a list of papers with some information such as authors, journals, and institutions. We extracted an undirected 4-chained network from this data set. It shows relations between the vertex subsets institutions, authors, papers and journals. The number of vertices that represent institutions, authors, papers and journals are 20, 58, 26 and 21, respectively. The power method and the Lanczos method are applied with the stopping criteria (13) and (12), respectively, with* = 10−4*.*

*Both the power and Lanczos methods identify vertex v*1 *as the most important university, vertices v*21 *and v*22 *as the most important authors, vertex v*81 *as the most important paper, and vertex v*108 *as the most important journal. The power method terminates the iterations after step 364, while the Lanczos method stops at step 26. Thus, the Lanczos method requires the evaluation of significantly fewer matrix–vector products with the matrix M than the power method to determine the most important vertices of each vertex subset.*

Typically, the Lanczos method yields much faster convergence to the Perron vector of a symmetric nonnegative matrix *M* than the power method. However, it has the drawback of requiring storage space for the matrix *Qk* in (9). The need to store the matrix *Qk* may make it difficult to apply the Lanczos method to compute the Perron vector of very large adjacency matrices. We describe two standard approaches for circumventing this difficulty. They restart the Lanczos iterations in different ways.


**Example 3.** *We applied Algorithm 2 to the adjacency matrix of the 4-chained network described in Example 2, with* = 10−4*. The stopping criterion was satisfied at step 20. The algorithm determined the same vertices as the standard Lanczos method in Example 2. The main differences between Algorithm 1 and Algorithm 2 are that the latter requires less computer storage, but more matrix–vector product evaluations with M (40 vs. 26). The difference in the number of steps required by Algorithms 1 and 2 depends in part on the different stopping criteria used. In Algorithm 1, the iterations are terminated when two consecutive Ritz vectors are close enough, while Algorithm 2 is terminated when two consecutive Ritz values are sufficiently close.*

We turn to computing the Perron vector of *M* by the restarted Lanczos method described in (ii). This method applies *k* steps of the Lanczos method to the matrix *M* with initial vector **e** to determine the decomposition (9), and computes the Perron vector **y**(1) ∈ R*<sup>k</sup>* of the symmetric tridiagonal matrix *Tk* in this decomposition. We denote the Perron root of *Tk* by *<sup>ρ</sup>*(1). Then, *Qk***y**(1) is the Ritz vector of *M* that best approximates the Perron vector, and *ρ*(1) is the corresponding Ritz value. The computed Ritz vector may have negative entries, while the Perron vector of *M* is known to only have strictly positive entries. We therefore set all entries of *Qk***y**(1) that are smaller than a small *δ* > 0, say *δ* = <sup>10</sup>−8, to *δ*, and refer to the vector so obtained as '**<sup>z</sup>**(1).

#### **Algorithm 2** Determine the Perron vector of the matrix *M* by applying twice the Lanczos recursions.

**Require:** Adjacency matrix *M* ∈ R*n*×*n* and initial vector **e** = **1**. **Ensure:** Approximation **w** of the Perron vector of *M*. 1: *β*0 = 0, **q**1 = **<sup>e</sup>**/**e**, *ρ*0 = 0, *k* = 1 2: *α*1 = **q***T*1 *M***q**1 3: **r** = *M***q**1 − *<sup>α</sup>*1**q**1 4: *β*1 = **r** 5: **q**0 = **q**1 6: **q**1 = **<sup>r</sup>**/*β*1 7: *T*1 = *α*1, *ρ*1 = *α*1 8: **while** |*ρk* − *ρk*−<sup>1</sup>| > **do** 9: *k* = *k* + 1 10: *αk* = **q***T*1 *M***q**1 11: **r** = *M***q**1 − *<sup>α</sup>k***q**1 − *β<sup>k</sup>*−1**q**<sup>0</sup> 12: *βk* = **r** 13: **q**0 = **q**1 14: **q**1 = **<sup>r</sup>**/*βk* 15: *Tk* = *Tk*−<sup>1</sup> *β<sup>k</sup>*−1**e***k*−<sup>1</sup> *β<sup>k</sup>*−1**<sup>e</sup>***Tk*−<sup>1</sup> *αk* 16: Compute the largest eigenvalue *ρk* of *Tk* 17: **end while** 18: Compute the Perron vector **y***k* = [**y**(1) *k* , **y**(2) *k* , ··· , **y**(*k*) *k* ] of matrix *Tk* 19: **q**0 = **0**, **q**1 = **e**/**e** 20: **w** = **y**(1) *k* **q**1 21: **for** *i* = 1, . . . , *k* − 1 **do** 22: **r** = *M***q**1 − *<sup>α</sup>i***q**1 − *β<sup>i</sup>*−1**q**<sup>0</sup> 23: **q**0 = **q**1 24: **q**1 = **<sup>r</sup>**/*βi* 25: **w** = **w** + **y**(*<sup>i</sup>*+<sup>1</sup>) *k* **q**1 26: **end for**

The vector '**z**(1) is used to determine an improved approximation of the Perron vector of *M*. Thus, we apply *k* steps of the Lanczos method to *M* with initial vector '**<sup>z</sup>**(1). This gives a decomposition analogous to (9). We compute the Perron vector **y**(2) ∈ R*<sup>k</sup>* and the Perron root *ρ*(2) of the symmetric tridiagonal matrix in this decomposition. Proceeding similarly as described above, we obtain a new approximation of the Perron vector of *M*. We denote this approximation by '**<sup>z</sup>**(2). The latter vector is used as an initial vector for *k* steps of the Lanczos method applied to *M*, which yields a new approximation, '**<sup>z</sup>**(3), of the Perron vector and a new approximation *ρ*(3) of the Perron root of *M*. This approximate Perron vector is computed, similarly, as '**<sup>z</sup>**(2). We determine approximate Perron vectors '**z**(*i*) and Perron roots *ρ*(*i*) for *i* = 2, 3, ..., until two consecutive Perron vector approximations are sufficiently close, that is, until

$$\left\|\hat{\mathbf{z}}^{(i)} - \hat{\mathbf{z}}^{(i-1)}\right\| \leq \epsilon,\tag{14}$$

for a user-supplied tolerance > 0.

The following result shows that the vectors '**z**(*i*) converge to the Perron vector of *M* when the number of Lanczos steps, *k*, used to determine '**z**(*i*) from '**z**(*<sup>i</sup>*−<sup>1</sup>) for *i* = 2, 3, ..., is large enough and the stopping criterion (14) is not applied.

**Theorem 3.** *Let M* ∈ R*n*×*n be the adjacency matrix of an undirected connected graph* G*, and let ρ and* **w** *denote the Perron root and Perron vector of M, respectively. Apply the restarted Lanczos method described above with initial vector* **e** *and without the stopping criterion* (14)*. If the number of Lanczos steps between restarts, k, is large enough, then the computed sequence* '**<sup>z</sup>**(*i*)*, i* = 1, 2, ...*,* *of approximations of the Perron vector converges to* **w** *as i increases. Similarly, the computed sequence ρ*(*i*) *for i* = 1, 2, . . .*, of approximations of the Perron root ρ, converges to ρ as i increases.*

**Proof.** Blondel et al. ([8] Theorem 2) show that, given a strictly positive initial vector, the sequence **<sup>z</sup>**2*k*, *k* = 1, 2, ..., in Equation (2) generated by the power method, converges to the Perron vector of *M*. It follows that Theorem 2 also holds when the initial vector **e** is replaced by any vector with all entries being strictly positive. In particular, Theorem 2 holds for all the initial vectors '**<sup>z</sup>**(*i*), *i* = 0, 1, 2, ..., used in the restarted Lanczos method. Let us set '**z**(0) = **e**.

The Ritz value *<sup>ρ</sup>*(*i*), determined by the restarted Lanczos method, satisfies

$$\boldsymbol{\rho}^{(i)} = \max\_{\mathbf{x} \in \mathcal{K}\_k(M, \hat{\mathbf{x}}^{(i-1)})} \frac{\mathbf{x}^T M \mathbf{x}}{\mathbf{x}^T \mathbf{x}}.$$

It follows that, unless '**z**(*<sup>i</sup>*−<sup>1</sup>) is a stationary point of the Rayleigh quotient, *ρ*(*i*) > *<sup>ρ</sup>*(*<sup>i</sup>*−<sup>1</sup>). According to Theorem 2, the vector '**z**(*<sup>i</sup>*−<sup>1</sup>) can be a stationary point only if it is the Perron vector. Thus, we may assume that *ρ*(*i*) > *<sup>ρ</sup>*(*<sup>i</sup>*−<sup>1</sup>).

The vector '**z**(*i*) used in the next restart is not the Ritz vector of *M* that corresponds to the Rayleigh quotient *<sup>ρ</sup>*(*i*), because all entries smaller than some tiny *δ* > 0 in this Ritz vector are set to *δ*. This means that the Rayleigh quotient

$$\rho\_{\text{mod}}^{(i)} = \frac{(\widehat{\mathbf{z}}^{(i-1)})^T \mathbf{M} \widehat{\mathbf{z}}^{(i-1)}}{(\widehat{\mathbf{z}}^{(i-1)})^T \widehat{\mathbf{z}}^{(i-1)}}$$

may be smaller than *<sup>ρ</sup>*(*i*). We have to choose the number of Lanczos steps between restarts, *k*, large enough so that *ρ*(*i*) mod is significantly larger than *ρ*(*<sup>i</sup>*−<sup>1</sup>) for every *i*. This secures the convergence of the vectors '**z**(*i*) to the Perron vector **w** of *M* as *i* increases.

**Example 4.** *We apply the restarted Lanczos method to the same adjacency matrix M as in Example 2 to compute its Perron vector and to identify the most important vertices of the associated graph. We let* = 10−<sup>4</sup> *in* (14) *and carry out k* = 10 *steps of the Lanczos method between restarts. All entries smaller than δ* = 10−<sup>8</sup> *in the Ritz vectors of M associated with the Perron roots of consecutively generated symmetric tridiagonal matrices are set to δ. For the present example, the restarted Lanczos method requires seven restarts, thus, 70 matrix–vector product evaluations are carried out. The computational load is larger than for Algorithm 1, but the storage requirement of the restarted method is smaller and is independent of the number of restarts necessary.*

#### **4. The Arnoldi Method**

The Arnoldi method can be applied to compute approximations of a few eigenvalues and associated eigenvectors of a large non-symmetric matrix *A* ∈ R*<sup>n</sup>*×*n*. We will describe a novel application to the computation of the Perron vector of a large symmetric matrix. A thorough discussion of the Arnoldi method and its properties is provided by Saad ([12] Chapter 6). Here, we only provide a brief outline.

The application of 1 ≤ *k n* steps of the Arnoldi method applied to a large matrix *A*∈ R*n*×*n* with initial vector **v** ∈ R*<sup>n</sup>*\{**0**} gives, generically, the Arnoldi decomposition

$$AQ\_k = Q\_k H\_k + h\_{k+1,k} \mathbf{q}\_{k+1} \mathbf{e}\_k^T \tag{15}$$

where

$$H\_k = \begin{bmatrix} h\_{11} & h\_{12} & h\_{13} & \dots & h\_{1k} \\ h\_{21} & h\_{22} & h\_{23} & \dots & \dots & h\_{2k} \\ & h\_{321} & h\_{33} & \dots & \dots & h\_{3k} \\ & & \ddots & \ddots & \vdots \\ & & & h\_{k,k-1} & h\_{kk} \end{bmatrix} \in \mathbb{R}^{k \times k}$$

is an upper Hessenberg matrix with positive subdiagonal entries, the matrix *Qk* ∈ R*n*×*<sup>k</sup>* has orthonormal columns, **q***k*+1 ∈ R*n* is a unit vector such that *QTk* **q***k*+1 = **0**, and *hk*+1,*<sup>k</sup>* is a nonnegative scalar. Each step of the Arnoldi method requires the evaluation of one matrix vector product with *A*. The decomposition (15) exists, provided that the Arnoldi method, outlined in Algorithm 3, does not break down because of a division by zero. This situation is very rare; we therefore will not dwell on it further.

Let *ρk* denote the largest eigenvalue of *Hk*, and let **y***k* ∈ R*<sup>k</sup>* be an associated unit eigenvector. Then, *ρk* and **<sup>w</sup>***k* = *Qk***y***k* are the corresponding Ritz value and Ritz vector of *A*, respectively. The iterations with the Arnoldi method are terminated when two consecutive approximations of the Perron vector are sufficiently close, that is, when

$$\|
\mathbf{w}\_{k} - \mathbf{w}\_{k-1}\| \le \epsilon$$

for some user-specified tolerance > 0. Algorithm 3 describes the Arnoldi method with initial vector **e**.

**Algorithm 3** Estimate the Perron vector of matrix *A* with the Arnoldi method with initial vector **e**.

**Require:** Adjacency matrix *A* ∈ R*n*×*n* and initial vector **e** = **1**. **Ensure:**Ritzvectoroftheadjacencymatrix*A*.

 **<sup>w</sup>***k* 1: **q**1 = **<sup>e</sup>**/**e**, **w**0 = **0**, *k* = 1 2: *h*11 = **q***T*1 *A***q**1 3: **r** = *A***q**1 − *h*11**q**1 4: *h*21 = **r** 5: **q**2 = **<sup>r</sup>**/*h*21 6: *H*1 = *h*11 7: *Q*1 = **q**1, **w**1 = **q**1 8: **while <sup>w</sup>***k* − **<sup>w</sup>***k*−<sup>1</sup> > **do** 9: *k* = *k* + 1 10: *r* = *A***q***k* 11: **for** *i* = 1, 2, . . . , *k* **do** 12: *hik* = **q***Ti r* 13: **r** = **r** − *hik***q***i* 14: **end for** 15: *hk*+1,*<sup>k</sup>* = **r** 16: **q***k*+1 = **<sup>r</sup>**/*hk*+1,*<sup>k</sup>* 17: *Hk* = *Hk*−<sup>1</sup> {*hik*}*<sup>k</sup>*−<sup>1</sup> *i*=1 *hk*,*k*−1**<sup>e</sup>***Tk*−<sup>1</sup> *hk*,*<sup>k</sup>* 18: *Qk* = [*Qk*−<sup>1</sup> **<sup>q</sup>***k*] 19: Compute the Perron vector **y***k* of *Hk* 20: **<sup>w</sup>***k* = *Qk***y***k* 21: **end while** 22: **w** = **<sup>w</sup>***k*

> Blondel et al. consider the computation of the Perron vector of the central block

$$\mathbf{C} = A^T \mathbf{A} + A A^T \tag{16}$$

of the matrix (7), where the matrix *A* ∈ R*n*×*n* may be non-symmetric; see [8] Theorem 6. One approach is to apply the Lanczos method to *C*. Then, each iteration requires the evaluation of two matrix–vector products with *A* and two with *AT*. We will compare this approach to the application of *k* steps of the Arnoldi method to *A*.

The Arnoldi decomposition suggests the approximation *A* ≈ *QkHkQTk* , from which we obtain

$$A^T A + A A^T \approx \mathbb{Q}\_k (H\_k^T H\_k + H\_k H\_k^T) \mathbb{Q}\_k^T. \tag{17}$$

Let *ρk* be the largest eigenvalue of *H<sup>T</sup> k Hk* + *HkH<sup>T</sup> k* and let **y***k* be the associated Perron vector. Then, the vector **<sup>w</sup>***k* = *Qk***y***k* provides an approximation of the Perron vector of the matrix *ATA* + *AAT*. The main advantage of using this approximation, when compared to the application of the Lanczos method to the matrix (16), is that the computation of the approximation (17) only requires the evaluation of *k* matrix–vector products with *A*, while the computation of *k* steps of the Lanczos method to the matrix (16) demands the evaluation of 4*k* matrix–vector products with *A* or *AT*. For many matrices *A*, the right-hand side of (17) gives an accurate approximation of the Perron vector for a few Arnoldi steps. We provide an illustration below. However, the use of (17) is not always beneficial as the next example shows.

**Example 5.** *Let A* ∈ R*n*×*n be a Jordan block with the eigenvalue zero. Then, A is an adjacency matrix associated with a simple directed graph. The graph and the matrix are displayed in Figure 1.*

.

**Figure 1.** A directed graph G and its adjacency matrix *A*.

*The Perron root of A is* 0*, with Perron vector* **e**1 = [1, 0, ... , 0] *T. When applying the Arnoldi method to A with initial vector* **e***, the k-dimensional Krylov subspace* K*k*(*<sup>A</sup>*, **e**) *is spanned by the first k vectors of*

$$\mathcal{K}\_n(A, \mathbf{e}) = \text{span}\{\mathbf{e}, A\mathbf{e}, A^2 \mathbf{e}, \dots, A^{n-1} \mathbf{e}\} = \text{span}\left\{ \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \\ 1 \end{bmatrix}, \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \\ 0 \end{bmatrix}, \dots, \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \\ 0 \end{bmatrix} \right\}.$$

*In particular, the Perron vector is not contained in the subspaces* K*k*(*<sup>A</sup>*, **e**)*for k* = 1, 2, ... , *n* <sup>−</sup>1*. This implies that one has to carry out n steps with the Arnoldi algorithm to determine an accurate approximation of the Perron vector of A. For the present matrix A, Formula* (17) *requires n steps of the Arnoldi algorithm applied to A to give an accurate approximation of a Perron vector of* (16)*.*

*We turn to the spectral factorization of the matrix* (16)*. This matrix is diagonal with eigenvalue* 2 *of multiplicity n* − 2*. The corresponding eigenvectors form the eigenspace*

> span{**<sup>e</sup>**2, **e**3,..., **<sup>e</sup>***n*−<sup>1</sup>}.

**Example 6.** *Let A* ∈ R*n*×*n represent the adjacency matrix of a directed circular graph. The adjacency matrix and the associated graph are displayed in Figure 2.*

**Figure 2.** A directed circular graph G and its adjacency matrix *A*.

*In this example, the matrix* (16) *is diagonal, with Perron root* 2 *of multiplicity n. In particular, the vector* **e** *is a Perron vector. Application of one step of the Arnoldi algorithm to the the circulant matrix A with initial vector* **e** *yields the eigenvector* **e***. Thus, the Arnoldi algorithm performs well.*

**Example 7.** *Consider the up-shift matrix on the right-hand side of Figure 1 of order* 1000*. By adding the perturbation γ* = 10−<sup>3</sup> *to the entry* (1000, <sup>1</sup>)*, we obtain an adjacency matrix A that represents a weighted directed circular graph. Thus, the graph is strongly connected. The associated matrix* (16) *is diagonal with Perron root* 2 *with eigenspace* span{**<sup>e</sup>**2, **e**3, ... , **<sup>e</sup>***n*−<sup>1</sup>}*. When applying the Arnoldi algorithm to A with initial vector* **e***,* 1000 *steps are required to approximate the Perron vector. In this case, the Arnoldi algorithm performs poorly.*

We conclude that the Arnoldi method may not provide useful approximations of the Perron vector of certain non-symmetric adjacency matrices *A* in a reasonable number of steps. The application of the Arnoldi method to *A* to compute the Perron vector of the matrix (16) can be competitive with the application of the Lanczos method to the latter matrix, but this is not guaranteed. The closer the adjacency matrix *A* is to the set of symmetric matrices, the better the Arnoldi method, applied to *A*, can be expected to perform.

#### **5. Application to Real World Networks**

In this section, we apply the iterative methods discussed in this paper to the computation of the Perron vector of large real-world networks, and compare the results obtained.

We start by analyzing a particular 3-chained network and seek to determine the most important vertices of each index subset according to the eigenvector centrality. Some social bookmarking services, such as Delicious, allow their users to put tags on web pages. The relationship between users, web pages and tags, can be represented by a 3-chained network [15]. A data set of Delicious bookmarks, which contains 105,000 bookmarks and 1867 users, is available at the Grouplens web site [17]. We selected data from January 2010 to February 2010 and constructed a 3-chained graph G with the three vertex subsets: 456 users, 4253 web pages, and 5962 tags. The total numbers of vertices and edges are 10,671 and 23,550 respectively. The 3-chained network is undirected and represented by the adjacency matrix *M* ∈ R10671×10671.

We used the power method, Lanczos iteration, and restarted the Lanczos iteration to estimate the Perron vector of *M* and to find the most important vertices of each vertex subset. Denote the computed approximations of the Perron vectors of *M*, obtained by applying the methods mentioned, by **s***P*, **s***L*, and **s***RL*, respectively. Let the initial vector be **e** and the tolerance be 10−<sup>10</sup> for all the methods. To estimate the accuracy of the methods, we consider as exact the principal eigenvector **s**exact of *M* computed by the built-in function eigs from MATLAB.

Before determining the most important vertices, we first check the accuracy of the approximations of the Perron vector of *M* computed by the above mentioned methods. We calculate the error, that is, the 2-norm of the difference between each computed approximation of the Perron vector and **s**exact. The errors of the estimated Perron vectors are 0.3461 for the power method 3.22 × 10−<sup>5</sup> for Lanczos iteration, and 6.69 × 10−<sup>8</sup> for restarted Lanczos iteration. From the errors, we observe that the Ritz vector obtained from the restarted Lanczos method is the most accurate estimator. The Ritz vector from the Lanczos algorithm is moderately accurate, while the vector found by the power method is fairly different from the exact Perron vector **s**exact.

Let us now look at the performances of each method for finding the most important vertices in the three subsets "users", "web pages" and "tags". The results determined by the above methods and the number of iterations required are displayed in Table 1. The most important vertices determined by **s**exact are displayed in the "Built-in" column. All of the methods identify the vertices *v*142, *v*1368 and *v*4796 as the most important user, web page and tag, respectively. The last row, "iterations", shows that the standard Lanczos method requires 17 matrix–vector product evaluations with *A*. For the restarted Lanczos, labeled ResLanc, 10 Lanczos steps are performed between each restart. Thus, it requires in this case 30 matrix–vector products. The power method requires the largest number of matrix–vector products. The rate of convergence of the approximation of the Perron vector of *M* computed by the Lanczos method is faster than those of the other two methods. The Ritz vector of the restarted Lanczos iteration converges more slowly but the computations require less storage space.

**Table 1.** The most important vertices found by the methods discussed for each vertex set, and the number of iterations required by each method.


To better understand the numerical performance of the methods, we applied them to six undirected networks of different sizes. They are listed, together with their number of nodes, in the first column of Table 2:


Table 2 displays the number of matrix–vector product evaluations carried out by the methods considered to reach convergence. We also report the results obtained for the delicious network for comparison. The label Lanczos2 denotes the results obtained by Algorithm 2, that is, by applying the Lanczos recursion twice to save storage space. In this case, the number of matrix–vector product evaluations is roughly twice the number of iterations required by the standard algorithm (Algorithm 1) if the stopping criterion is adjusted to produce the same accuracy in the approximation of the Perron vector. The restarted Lanczos method (ResLanc) was executed with both ten and five iterations between each restart, so the number of matrix–vector product evaluations is obtained by multiplying the number of iterations by ten and five, respectively. For the other methods, the number of matrix–vector product evaluations coincides with the number of iterations. Table 3 reports the 2-norm errors for each method. The Perron vector returned by the function eigs of MATLAB is considered the exact vector.

**Table 2.** Number of matrix–vector product evaluations required by the methods to reach convergence.



**Table 3.** Errors produced by the methods with respect to the Perron vector computed by the eigs function of MATLAB.

We see that the power method requires more iterations than the Lanczos algorithm (Algorithm 1) and delivers approximations of the Perron vector of worse accuracy. Applying the Lanczos method twice by Algorithm 2 saves storage but results in a heavier computational load in order to produce the same accuracy of the computed approximation of the Perron vector. The restarted Lanczos approach has the remarkable feature of requiring the same number of matrix products when it is executed, performing ten and five iterations between consecutive restarts. This means that just a few iterations are sufficient to guarantee convergence. The computer storage requirement is much smaller than for the Lanczos method. The errors in the computed approximations of the Perron vector achieved by the restarted Lanczos method are smaller than the errors obtained with the Lanczos methods (Algorithms 1 and 2). Table 2 indicates that the restarted Lanczos method can be competitive.

## **6. Conclusions**

This paper compares the computational effort and storage requirements of the power method, Lanczos method, and the restarted Lanczos method to determine the Perron vector for a large symmetric adjacency matrix. The application of the Arnoldi iteration is also considered. The power method yields quite a slow convergence, much slower than that of the Lanczos method. However, due to its large storage requirement for large adjacency matrices, the latter method is not practical to use for large-scale networks. Different ways of restarting the Lanczos iterations are considered and found to combine faster convergence than the power method with less storage requirement than the Lanczos method.

**Author Contributions:** Methodology, A.C., L.R., G.R. and Y.Z. All authors have read and agreed to the published version of the manuscript.

**Funding:** A.C. and G.R. were supported by the INdAM-GNCS research project "Tecniche numeriche per l'analisi delle reti complesse e lo studio dei problemi inversi" and and the Regione Autonoma della Sardegna research project "Algorithms and Models for Imaging Science (AMIS)" [RASSR57257]. L.R. was supported by NSF gran<sup>t</sup> DMS-1720259.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.
