Use this if you are using igraph from R
Calculates the Google PageRank for the specified vertices.
page_rank( graph, algo = c("prpack", "arpack", "power"), vids = V(graph), directed = TRUE, damping = 0.85, personalized = NULL, weights = NULL, options = NULL )
graph 
The graph object. 
algo 
Character scalar, which implementation to use to carry out the
calculation. The default is 
vids 
The vertices of interest. 
directed 
Logical, if true directed paths will be considered for directed graphs. It is ignored for undirected graphs. 
damping 
The damping factor (‘d’ in the original paper). 
personalized 
Optional vector giving a probability distribution to calculate personalized PageRank. For personalized PageRank, the probability of jumping to a node when abandoning the random walk is not uniform, but it is given by this vector. The vector should contains an entry for each vertex and it will be rescaled to sum up to one. 
weights 
A numerical vector or 
options 
A named list, to override some ARPACK options. See

For the explanation of the PageRank algorithm, see the following webpage: http://infolab.stanford.edu/~backrub/google.html, or the following reference:
Sergey Brin and Larry Page: The Anatomy of a LargeScale Hypertextual Web Search Engine. Proceedings of the 7th WorldWide Web Conference, Brisbane, Australia, April 1998.
The page_rank
function uses ARPACK to perform the calculation, see
also arpack
.
Please note that the PageRank of a given vertex depends on the PageRank of all other vertices, so even if you want to calculate the PageRank for only some of the vertices, all of them must be calculated. Requesting the PageRank for only some of the vertices does not result in any performance increase at all.
Since the calculation is an iterative process, the algorithm is stopped after a given count of iterations or if the PageRank value differences between iterations are less than a predefined value.
A named list with entries:
vector 
A numeric vector with the PageRank scores. 
value 
The eigenvalue corresponding to the eigenvector with the page rank scores. It should be always exactly one. 
options 
Some information about the underlying
ARPACK calculation. See 
Tamas Nepusz ntamas@gmail.com and Gabor Csardi csardi.gabor@gmail.com
Sergey Brin and Larry Page: The Anatomy of a LargeScale Hypertextual Web Search Engine. Proceedings of the 7th WorldWide Web Conference, Brisbane, Australia, April 1998.
Other centrality scores: closeness
,
betweenness
, degree
g < sample_gnp(20, 5/20, directed=TRUE) page_rank(g)$vector g2 < make_star(10) page_rank(g2)$vector # Personalized PageRank g3 < make_ring(10) page_rank(g3)$vector reset < seq(vcount(g3)) page_rank(g3, personalized=reset)$vector