% Computes website page rank from an adjacency matrix. % A adjacency matrix for web pages % q jump quotient % % Returns: google matrix G, page rank vector p function [G p] = rank(A, q) if nargin < 2; q = 0.15; end G = zeros(size(A)); n = size(A,1); s = sum(A,2); for r = 1 : n for c = 1 : n if s(c) > 0 G(r,c) = q/n + (1 - q)*A(c,r) / s(c); else G(r,c) = 1/n; end end end [V D] = eig(G); x = 1; % Stores index of eigenvalue closest to 1 with i == 0 for r = 1 : n if imag(D(r,r)) == 0 && abs(1 - D(r,r)) < abs(1 - D(x,x)) x = r; end end p = V(:,x) ./ sum(V(:,x)); end