19.8  PageRank

A search engine that finds thousands of pages containing a word must decide which to list first. One answer, which made a search engine famous, is to let the pages vote. Each page spreads its vote over the pages it links to, a vote counts for more when it comes from a page that is itself important, and “important” is whatever this circular description settles on. Written out, the circle is an eigenvector equation for a stochastic matrix. This section sets up that matrix, shows why the raw web does not give a well-defined ranking, repairs it with a single parameter, and uses Perron’s theorem (Theorem 19.1.5) to prove that the repaired matrix has exactly one ranking, with every entry positive. We then prove how fast the ranking can be computed, and work a small web exactly.

Throughout, the field is R, inequalities between vectors and matrices are entrywise as in §01, and stochastic means column-stochastic (Definition 9.11.1): nonnegative entries, every column adding up to 1. Many accounts of PageRank use rows instead; their matrices are the transposes of ours. We write 1 for the all-ones vector and J=11⊤ for the all-ones matrix.

19.8.1. The web as a Markov chain

Number the pages 1,…,n. Page j links to page i if it contains a link to it; we ignore links from a page to itself, and several links from j to i count as one. Let dj be the number of pages that page j links to, its out-degree. A page with dj=0 is called dangling: a document with no links out, such as an image or a file.

Imagine a surfer who, on page j, clicks one of its dj links, each with probability 1/dj. If xk is the probability vector of the surfer’s position after k clicks, then, exactly as in Chapter 9 §11, xk+1=Hxk, where hij=1/dj if j links to i and hij=0 otherwise. This hyperlink matrix H is local to this section; elsewhere in the book H is a Hessian. The long-run share of time the surfer spends on page i is the candidate for page i’s importance. It captures the circular description: page i receives, from each page j linking to it, the share 1/dj of j’s own weight.

At a dangling page the surfer has nowhere to go, and column j of H is zero. The standard patch sends the surfer to a page chosen uniformly at random.

Each column is a probability vector: in case (a) it has dj entries equal to 1/dj, and in case (b) n entries equal to 1/n. So P is stochastic. For instance, the web on three pages in which page 1 links to pages 2 and 3, page 2 links to page 3, and page 3 links nowhere, has P=(00131201312113).

A ranking should then be a steady state of P (Definition 9.11.2): a probability vector x with Px=x. When P is irreducible (Definition 19.2.3), there is exactly one, with every entry positive, by Proposition 19.6.1 (c); part (a) of the same proposition gives ρ(P)=1 for every stochastic P. The real web is very far from irreducible, and the three failures below are the typical ones.

Solution.

  • (a) H=(0010) has a zero column, so it is not stochastic, and H2=O. From any start the surfer is gone after two clicks: H2x0=0 is not a probability vector, and H has no steady state at all, since Hx=x forces x1=0 and then x2=x1=0. The patched P has second column (12,12) and the steady state (13,23), since P(1,2)=(0⋅1+12⋅2, 1⋅1+12⋅2)=(1,2).

  • (b) P is block diagonal with two copies of the swap (0110). Both (12,12,0,0) and (0,0,12,12) are steady states, and so is every average of the two. The chain cannot say whether page 1 matters more than page 3: the ranking is not unique.

  • (c) P is the swap. Its steady state (12,12) is unique, but from x0=e1 the chain alternates e1,e2,e1,… and never settles. The eigenvalue −1 of the swap has the same modulus as 1.

In (b) the matrix is reducible, and in (c) it is irreducible but not primitive (Definition 19.5.1): the powers of the swap are I and the swap, and neither is positive. Real webs have all three features, on a vast scale.

19.8.2. The Google matrix

The dangling patch of Definition 19.8.1 already repairs failure (a). One modification repairs the remaining two at once. Let the surfer, at every step, toss a biased coin: with probability α follow a link as before, and with probability 1−α get bored and jump to a page chosen uniformly at random from all n. The jump is called teleportation, and α the damping factor; a value around 0.85 is customary.

The Google matrix mixes following links with jumping to a random page; its fixed probability vector is the ranking.

Definition 19.8.2 (Google Matrix, PageRank Vector)

Let P∈Mn(R) be the link matrix of a web with n≥1 pages, and let 0<α<1. The matrix G=αP+1−αnJ is called the Google matrix in the literature, with damping factor α. A PageRank vector of the web is a probability vector π∈Rn with Gπ=π. Page i is ranked above page k when πi>πk.

In words: column j of G is α times column j of P, the link step, plus 1−α times the uniform vector 1n1, the jump. A PageRank vector is a steady state of the surfer’s new chain. The letter G is local to this section; elsewhere in the book G is a Gram matrix. The theorem below shows that there is exactly one, which justifies calling it the PageRank vector.

Two properties of G do all the work.

  • G is stochastic. Its entries are nonnegative, and column j adds up to α⋅1+(1−α)⋅1n⋅n=1.
  • G is positive. Every entry is at least 1−αn>0, because αP≥O and α<1 strictly.

Two degenerate values of α are excluded, and each shows why. With α=1, G=P, and the failures (b) and (c) of Example (Three ways a web can fail to rank) come back. With α=0, G=1nJ for every web, the PageRank vector is 1n1, and the links are ignored: every page ties. The damping factor trades faithfulness to the links against the good behavior of the chain, and we will see that the speed of the computation is governed by α alone.

For the three-page web above, with α=12, G=12P+16J=(16161351216135122313), with columns adding up to 1 and every entry positive.

A nonexample by minimal change. Replace the uniform jump by a jump to page 1 only: G′=αP+(1−α)e11⊤. It is still stochastic, since each column of e11⊤ is e1. What fails is positivity: in the web of Example (Three ways a web can fail to rank) (b), G′ has zeros in rows 3 and 4 of columns 1 and 2, so Perron’s theorem no longer applies. (Here the ranking is still unique, but it gives pages 3 and 4 weight zero, since no surfer ever returns to them from pages 1 and 2.) Exercise B3 shows that any jump distribution with all entries positive works as well as the uniform one.

Warning. PageRank is not a count of incoming links. A link is worth the rank of the page it comes from, divided by that page’s out-degree. In the four-page example at the end of this section, page 3 has more incoming links than any other page, yet page 1, with a single incoming link, ranks above it, because that link comes from page 3 and is page 3’s only link.

19.8.3. A unique positive ranking

Perron’s theorem, applied to the positive matrix G, settles existence, uniqueness, and positivity at once. It also turns the eigenvector problem into a linear system.

Theorem 19.8.1 (The PageRank Vector)

Let P∈Mn(R) be stochastic, 0<α<1, and G=αP+1−αnJ. Then:

  • (a) ρ(G)=1, and 1 is an eigenvalue of G of algebraic multiplicity one;
  • (b) there is exactly one probability vector π with Gπ=π, and every entry of π is positive;
  • (c) I−αP is invertible, and π is the unique solution of (I−αP)π=1−αn1.

Idea. Perron’s theorem hands us a simple eigenvalue ρ(G) with a positive eigenvector, so the only question is the value of ρ(G); the column sums pin it at 1. For (c), on probability vectors the rank-one part 1−αnJx is the constant vector 1−αn1, so the eigenvector equation becomes linear with a right-hand side.

Proof.

  • (a) By Theorem 16.3.3 (a), ‖G‖1 is the largest column sum of |G|, which is 1 since G is stochastic; so ρ(G)≤1 by Theorem 16.4.1 (a). By Proposition 9.11.3 (c), 1 is an eigenvalue of G. Hence ρ(G)=1. Since every entry of G is at least 1−αn>0, Perron’s theorem (Theorem 19.1.5) applies: by its parts (a) and (b), ρ(G)=1 is an eigenvalue of algebraic multiplicity one, with an eigenvector v>0 spanning E1(G).

  • (b) Put π=v/(1⊤v), which is defined because 1⊤v>0. It is a probability vector with positive entries and Gπ=π. If π′ is another probability vector with Gπ′=π′, then π′ lies in E1(G)=span(v), so π′=cπ for some c, and comparing entry sums gives 1=c. Hence π′=π. In the language of §01, π is the Perron vector of G (Definition 19.1.2).

  • (c) If (I−αP)z=0 with z≠0, then Pz=α−1z, so α−1>1 is an eigenvalue of P; but ρ(P)≤‖P‖1=1 as in (a). So 0 is not an eigenvalue of I−αP, and I−αP is invertible by Theorem 9.2.6. For a probability vector x, Jx=1(1⊤x)=1, so Gx=αPx+1−αn1, and Gπ=π is the equation (I−αP)π=1−αn1. So π solves the system, and by invertibility it is the only solution.

So the ranking exists, is unique, and gives every page a positive score: no page is ignored, however obscure. Part (c) is how one computes it for a small web: solve an n×n linear system, with no eigenvalue in sight. A useful bonus is that the solution of (c) is automatically a probability vector. Multiplying the system on the left by 1⊤, and using 1⊤P=1⊤, (1−α)1⊤π=1−αn1⊤1=1−α, so 1⊤π=1 without being imposed.

Quick check. Two pages link to each other, and α=12. Write down G, find π, and find the eigenvalues of G.

Solution. P is the swap, so G=12(0110)+14(1111)=(14343414). Then G(1,1)=(1,1) and G(1,−1)=(−12,12)=−12(1,−1). So π=(12,12), and the eigenvalues are 1 and −12. The swap has eigenvalues 1 and −1: the second one has been multiplied by α. The next theorem says that this always happens.

19.8.4. The second eigenvalue

The PageRank vector of a real web is computed by iterating xk+1=Gxk, since the web has billions of pages and no one solves a system of that size exactly. How fast the iterates settle depends on the eigenvalues of G other than 1. For a general positive matrix, Perron’s theorem says only that they are strictly smaller than ρ in modulus, with no bound on how much smaller. For the Google matrix there is an exact description.

Theorem 19.8.2 (The Eigenvalues of the Google Matrix)

Let n≥2, let P∈Mn(R) be stochastic, let 0≤α≤1, and let G=αP+1−αnJ. Since 1 is an eigenvalue of P (Proposition 9.11.3) and pP splits over C (Theorem 6.5.1), it factors as pP(x)=(x−1)(x−μ2)⋯(x−μn) with μ2,…,μn∈C. Then pG(x)=(x−1)(x−αμ2)⋯(x−αμn). In particular, if α<1, every eigenvalue λ≠1 of G satisfies |λ|≤α.

Idea. Both P and G have 1⊤ as a left eigenvector for 1. Change basis so that 1⊤ becomes the first coordinate functional e1⊤; then both matrices become block lower triangular with a 1 in the corner. The teleportation term 1nJ=1n11⊤ only touches the first column in the new basis, so the lower-right blocks are P1 and αP1 for the same P1. The eigenvalues of P other than the 1 in the corner are those of P1; those of G are α times them.

Proof. Let N=e1(1−e1)⊤, the matrix whose first row is (0,1,…,1) and whose other rows are zero, and let S=I+N. Its first row is 1⊤ and its other rows are those of I, so e1⊤S=1⊤. Since (1−e1)⊤e1=0, N2=e1((1−e1)⊤e1)(1−e1)⊤=O, and therefore (I+N)(I−N)=I−N2=I. So S is invertible with S−1=I−N (Theorem 3.4.5).

Claim. Claim. If M∈Mn(R) satisfies 1⊤M=1⊤, then the first row of SMS−1 is e1⊤.

Proof. The first row is e1⊤SMS−1=1⊤MS−1=1⊤S−1=e1⊤SS−1=e1⊤.

Since P is stochastic, 1⊤P=1⊤, and the claim gives SPS−1=(10⊤bP1) for some b∈Rn−1 and P1∈Mn−1(R). For the teleportation term, S(1n11⊤)S−1=1n(S1)(1⊤S−1)=1n(S1)e1⊤, using 1⊤S−1=e1⊤ from the proof of the claim. Its only nonzero column is the first, 1nS1, whose first entry is 1n1⊤1=1. So it equals (10⊤cO) for some c∈Rn−1, and SGS−1=αSPS−1+(1−α)S(1nJ)S−1=(10⊤αb+(1−α)cαP1). Similar matrices have the same characteristic polynomial (Theorem 7.10.3), and xI minus a block lower triangular matrix is block lower triangular, so by Theorem 7.8.4 pP(x)=(x−1)pP1(x),pG(x)=(x−1)pαP1(x). Comparing the first with pP(x)=(x−1)(x−μ2)⋯(x−μn) and canceling the nonzero factor x−1 (in C[x], a product of nonzero polynomials is nonzero) gives pP1(x)=(x−μ2)⋯(x−μn). If α>0, then pαP1(x)=det(xI−αP1)=αn−1det(xαI−P1)=αn−1∏j=2n(xα−μj)=∏j=2n(x−αμj), where the second step takes the factor α out of each of the n−1 rows. If α=0, then pαP1(x)=det(xI)=xn−1=∏j(x−0⋅μj). Either way the formula for pG follows.

For the last sentence, each μj is an eigenvalue of P, so |μj|≤ρ(P)≤‖P‖1=1 by Theorem 16.4.1 (a) and Theorem 16.3.3 (a). The eigenvalues of G are the roots of pG: the number 1 and the αμj, each of modulus at most α. If α<1, none of the αμj equals 1, so every eigenvalue λ≠1 is some αμj, and |λ|≤α. This proves the theorem.

The theorem gives more than a bound. It shows again that 1 is a simple eigenvalue of G when α<1, without Perron’s theorem, and it says that the rest of the spectrum of G is the rest of the spectrum of P, shrunk by the factor α. The bound is attained whenever P itself has 1 as a repeated eigenvalue, as for the two separate webs of Example (Three ways a web can fail to rank) (b) (Exercise C2), and whenever P has −1 as an eigenvalue, as in the Quick check. So for a web with two or more pieces that no link leaves, as large webs typically have, the second eigenvalue of G has modulus exactly α, and no better bound is possible.

19.8.5. How fast the iteration converges

The eigenvalue bound predicts that iterates approach π at a rate like αk. For this particular matrix the prediction can be proved directly, with an explicit constant, by measuring errors in the 1-norm of Chapter 16.

Proposition 19.8.3 (Convergence at the Damping Rate)

Let P, α, G and π be as in Theorem 19.8.1, let x0 be any probability vector, and let xk=Gkx0. Then for every k≥0, ‖xk−π‖1≤αk‖x0−π‖1≤2αk. In particular, xk→π entrywise.

Idea. The error ϵk=xk−π is a difference of probability vectors, so its entries add up to 0, and the teleportation term kills it. What remains is αP, and a stochastic matrix never increases the 1-norm.

Proof. Each xk is a probability vector by Proposition 9.11.3 (a), since G is stochastic. Put ϵk=xk−π, so 1⊤ϵk=1−1=0. Since Gπ=π, ϵk+1=Gxk−Gπ=Gϵk=αPϵk+1−αn1(1⊤ϵk)=αPϵk. By Theorem 16.3.3 (a), ‖P‖1=1, the largest column sum of the nonnegative matrix P, so ‖Pϵk‖1≤‖ϵk‖1 (Definition 16.3.2). Hence ‖ϵk+1‖1≤α‖ϵk‖1, and by induction on k, ‖ϵk‖1≤αk‖ϵ0‖1. Finally ‖ϵ0‖1≤‖x0‖1+‖π‖1=2, as both are probability vectors. Each entry of ϵk has modulus at most ‖ϵk‖1≤2αk, and αk→0 because 0<α<1, one of the calculus facts recorded in Chapter 9 §11. A sequence whose terms are at most 2αk in absolute value, with 2αk→0, tends to 0 straight from the definition of a limit: once 2αk<ε, so is every such term. So xk→π entrywise.

The bound does not depend on the web at all: not on the number of pages, not on how they link. With α=0.85, fifty steps guarantee ‖x50−π‖1≤2(0.85)50<6⋅10−4, and ninety guarantee an error below 10−6, for a web of any size. Each step is cheap, because G is never formed: by the proof of Theorem 19.8.1 (c), Gx=αPx+1−αn1 for a probability vector x, and Px needs one operation per link, plus one shared correction for the dangling pages.

In the language of §05, G is primitive (Definition 19.5.1), since G1 is already positive, and Theorem 19.5.2 gives Gk→π1⊤, with right Perron vector π and left Perron vector 1, normalized by 1⊤π=1. The proposition adds the rate, and the rate is what makes the method practical. The iteration xk+1=Gxk is the power method; Chapter 24 studies it for general matrices, where the rate is governed by the ratio of the two largest eigenvalue moduli, here at most α.

19.8.6. A small web, exactly

Example (Four pages, one dangling)

A web has four pages. Page 1 links to pages 2 and 3; page 2 links to pages 3 and 4; page 3 links to page 1; page 4 is dangling. With α=45, find the Google matrix, the PageRank vector, and the ranking, and compare |λ2| with α.

Solution. The link matrix. Pages 1 and 2 have out-degree 2, page 3 has out-degree 1, and page 4 is dangling, so by Definition 19.8.1 P=(001141200141212014012014),20G=16P+J=(11175911599151915), since 20α=16 and 20⋅1−α4=1. Every column of 20G adds up to 20, and every entry is positive.

The linear system. By Theorem 19.8.1 (c), (I−45P)π=1201. Multiplying by 5 gives (5I−4P)π=141, that is, 5π1−4π3−π4=14,−2π1+5π2−π4=14,−2π1−2π2+5π3−π4=14,−2π2+4π4=14. Express everything through π4. The fourth equation gives π2=2π4−18. The second then gives 2π1=5π2−π4−14=9π4−78, so π1=92π4−716. The first gives 4π3=5π1−π4−14=432π4−3916, so π3=438π4−3964. Substituting into the third, (−9−4+2158−1)π4+(78+14−19564)=1038π4−12364=14, so 1038π4=13964 and π4=139824. Back-substituting, π=1824(265, 175, 245, 139). Check. The entries add up to 824/824=1, as they must. With y=(265,175,245,139), the first row of 20G gives 265+175+17⋅245+5⋅139=5300=20⋅265, and the other rows give 3500=20⋅175, 4900=20⋅245 and 2780=20⋅139. So Gπ=π.

The ranking. Page 1 first (≈0.322), then page 3 (≈0.297), page 2 (≈0.212) and page 4 (≈0.169). Page 3 is linked from pages 1 and 2, while the dangling page 4 feeds every page equally; page 1 is linked only from page 3. Yet page 1 wins, because page 3 passes its whole weight to it, while pages 1, 2 and 4 split theirs.

The second eigenvalue. Expanding the determinant gives pP(x)=(x−1)(x3+34x2+18x−116),pG(x)=(x−1)(x3+35x2+225x−4125), and the second cubic is α3 times the first evaluated at x/α, as Theorem 19.8.2 predicts: 34⋅45=35, 18⋅1625=225, 116⋅64125=4125. The cubic for P has one real root near 0.199 and two complex ones of modulus about 0.560. So |λ2(G)|≈0.8×0.560≈0.448, comfortably below α=0.8: for this web the iteration converges faster than Proposition 19.8.3 guarantees.

19.8.7. Exercises

A. Check your understanding

Exercise (A1)
  • (a) Define the Google matrix of a web and its PageRank vector.
  • (b) Why is every entry of G positive, and which three conclusions does Theorem 19.1.5 then give?
  • (c) True or false: with α=1, every web has exactly one PageRank vector. Justify your answer.
  • (d) True or false: the page with the most incoming links always has the highest PageRank. Justify your answer.
  • (e) For α=0.85, what does Theorem 19.8.2 say about the eigenvalues of G other than 1? Can the bound be improved for every web?
  • (f) True or false: after 10 steps of xk+1=Gxk from any probability vector, ‖x10−π‖1≤2α10. Justify your answer.

Solution.

  • (a) For a web with link matrix P (Definition 19.8.1) and 0<α<1, G=αP+1−αnJ. A PageRank vector is a probability vector π with Gπ=π.

  • (b) αP has nonnegative entries and 1−αnJ has every entry equal to 1−αn>0, since α<1. Perron’s theorem then gives: ρ(G) is an eigenvalue of algebraic multiplicity one; it has an eigenvector with all entries positive; every other eigenvalue has modulus strictly less than ρ(G). Here ρ(G)=1.

  • (c) False. With α=1, G=P, and for two pairs of pages linking only to each other, Example (Three ways a web can fail to rank) (b) gives two different steady states.

  • (d) False. In Example (Four pages, one dangling), page 3 has the most incoming links, but page 1 ranks first.

  • (e) Every eigenvalue λ≠1 has |λ|≤0.85. The bound cannot be improved for every web: when the link matrix has −1 or a repeated 1 among its eigenvalues, G has an eigenvalue of modulus exactly 0.85 (the Quick check, and Exercise C2).

  • (f) True, by Proposition 19.8.3 with k=10.

B. Practice

Exercise (B1: A three-page web)

For the three-page web after Definition 19.8.1 (page 1 links to pages 2 and 3, page 2 to page 3, page 3 is dangling), with α=12, find the PageRank vector by solving the system of Theorem 19.8.1 (c). Hence rank the pages.

Solution. With P as in the text, (I−12P)π=161. Multiplying by 12 gives (12I−6P)π=21: 12π1−2π3=2,−3π1+12π2−2π3=2,−3π1−6π2+10π3=2. The first gives π3=6π1−1. The second becomes −3π1+12π2−12π1+2=2, so π2=54π1. The third becomes −3π1−152π1+60π1−10=2, so 992π1=12 and π1=833. Then π2=1033 and π3=4833−1=1533. So π=133(8, 10, 15), whose entries add up to 1. Check against the original system: 12⋅8−2⋅15=66=2⋅33, −24+120−30=66, −24−60+150=66. Hence page 3 ranks first, then page 2, then page 1.

Exercise (B2: A cycle of three pages)

Three pages link in a cycle: 1 to 2, 2 to 3, 3 to 1. Let 0<α<1.

  • (a) Write down P and show that pP(x)=x3−1.
  • (b) Use Theorem 19.8.2 to find the eigenvalues of G, and check your answer against trG.
  • (c) Find π, and explain why the bound of Theorem 19.8.2 is attained.

Solution.

  • (a) Column j of P is ej+1, with e4 read as e1: P=(001100010),det(xI−P)=det(x0−1−1x00−1x)=x⋅x2+(−1)⋅((−1)(−1)−x⋅0)=x3−1, expanding along the first row.

  • (b) x3−1=(x−1)(x−ω)(x−ω―) with ω=−12+32i, so μ2=ω, μ3=ω―, and the eigenvalues of G are 1,αω,αω―. Their sum is 1+α(ω+ω―)=1−α. Directly, trG=αtrP+1−α3trJ=0+(1−α), which agrees (Theorem 9.3.3).

  • (c) P1=1 and J1=31, so G1=α1+(1−α)1=1, and π=131 by the uniqueness in Theorem 19.8.1. The eigenvalues αω and αω― have modulus α|ω|=α, so the bound |λ|≤α holds with equality.

Exercise (B3: Personalized jumps)

Let P∈Mn(R) be stochastic, 0<α<1, and let v be a probability vector with every vi>0. Put Gv=αP+(1−α)v1⊤: the surfer now jumps to page i with probability vi.

  • (a) Prove that Gv is stochastic and positive, and deduce that it has exactly one probability vector π with Gvπ=π, and that π>0.
  • (b) Prove that π is the unique solution of (I−αP)π=(1−α)v.
  • (c) For two pages linking to each other, α=12 and v=(34,14), find π.

Solution.

  • (a) The entries of Gv are αpij+(1−α)vi≥(1−α)vi>0. Column j adds up to α+(1−α)1⊤v=α+1−α=1. So Gv is stochastic and positive. The proof of Theorem 19.8.1 (a) and (b) used only these two facts, so it applies word for word: ρ(Gv)=1 is an eigenvalue of algebraic multiplicity one with a positive eigenvector, and its normalization π is the only probability vector fixed by Gv.

  • (b) For a probability vector x, Gvx=αPx+(1−α)v(1⊤x)=αPx+(1−α)v, so Gvπ=π says (I−αP)π=(1−α)v. The matrix I−αP is invertible, as in the proof of Theorem 19.8.1 (c), so the solution is unique.

  • (c) P is the swap, and the system is π1−12π2=38, −12π1+π2=18. The first gives π1=38+12π2, and the second becomes −316+34π2=18, so π2=512 and π1=38+524=712. So π=(712,512): the preferred page 1 gains, but less than its jump weight 34, because half the time the surfer follows the link to page 2.

C. Going deeper

Exercise (C1: PageRank as a sum over paths)

Let P, α, G and π be as in Theorem 19.8.1.

  • (a) Prove that π=1−αn∑k=0∞αkPk1.
  • (b) Deduce that πi≥1−αn for every i.
  • (c) Suppose no page is dangling and no page links to page i. Prove that πi=1−αn exactly.

Hint for (a): Theorem 16.5.1 with the 1-norm.

Solution.

  • (a) By Theorem 16.3.3 (a), ‖αP‖1=α‖P‖1=α<1, the largest column sum of αP. By Theorem 16.5.1 (a), I−αP is invertible and (I−αP)−1=∑k≥0αkPk. By Theorem 19.8.1 (c), π=1−αn(I−αP)−11, which is the stated series.

  • (b) Every term αkPk1 has nonnegative entries, and the term k=0 is 1. So each entry of the sum is at least 1, since a limit of partial sums that are all at least 1 is at least 1, and πi≥1−αn.

  • (c) From Gπ=π and the proof of Theorem 19.8.1 (c), π=αPπ+1−αn1. Row i of P is zero: pij≠0 only if page j links to page i or page j is dangling, and neither happens. So (Pπ)i=0 and πi=1−αn, the smallest possible value by (b).

Exercise (C2: When the bound is attained)

Let P∈Mn(R) be stochastic, 0<α<1, and G=αP+1−αnJ.

  • (a) Suppose P has two different steady states u≠w. Prove that G(u−w)=α(u−w), so that α is an eigenvalue of G.
  • (b) For the web of Example (Three ways a web can fail to rank) (b), find all eigenvalues of G, with multiplicity, and check your answer against (a).

Solution.

  • (a) Put z=u−w≠0. Both are probability vectors, so 1⊤z=0 and Jz=1(1⊤z)=0. Hence Gz=αPu−αPw+0=α(u−w)=αz, and α is an eigenvalue of G with eigenvector z.

  • (b) P is block diagonal with two blocks (0110), each with characteristic polynomial x2−1, so pP(x)=(x2−1)2=(x−1)(x−1)(x+1)(x+1) by Theorem 7.8.4. By Theorem 19.8.2, with μ2=1 and μ3=μ4=−1, the eigenvalues of G are 1,α,−α,−α. The eigenvalue α is the one found in (a), with u=(12,12,0,0), w=(0,0,12,12) and eigenvector z=12(1,1,−1,−1); indeed Pz=z and Jz=0, so Gz=αz.

Found a typo or a mistake? Report it, or read this page’s source

The text of this book is licensed under CC BY-NC-SA 4.0.