File Exchange

image thumbnail


version (273 KB) by David Gleich
A suite of drivers to compute the PageRank vector for a directed graph.


Updated 05 Jul 2006

No License

The Pagerank package provides a single driver call capable of running different pagerank algorithm.

1) PageRank with power iterations
2) PageRank with gauss-seidel iterations
3) PageRank as a linear system (bicgstab and gmres solvers)
4) PageRank with the arnoldi factorization
5) Approximate personalized PageRank

The included matlab file describes all the options and parameters.

For non-linux/win32 platforms, you must compile the included .c files
mex ?setup
mex pagerank_mult.c
mex pagerank_gs_mult.c
mex spmatvec_mult.c
mex spmatvec_transmult.c

The mex files provide optimized matrix-vector multiplication routines for the PageRank code and improve the performance by 10-15%.

There is a special driver included to run a set of algorithms on the same web-graph and report comparative results.


Cite As

David Gleich (2021). pagerank (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

Yan Ge


David Gleich

Thanks for the comments. I've intended to update this code for more recent versions of Matlab for a while, but somehow never find the time.

Juice Juicnator

: \ also, despite the notes in the top of pagerank.m, a flag == 0 denotes convergence, and flag==1 non-convergence.

Juice Juicnator


1. must recompile with mex on 64-bit machine
int * A_row, A_col I think needs to be mwIndex* A_row, A_col in spmatvec_transmult.c

Otherwise, you get a compile warning with mex and nonsensical, nonconverging answers.

[reproduction scenario: 64-bit machine, sparse matrix, options=power]

I suspect this change will be made in other mex compiled files too as they also had warnings.

Otherwise, so far so good.

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!