No License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.5 | 2 ratings Rate this file 13 Downloads (last 30 days) File Size: 273 KB File ID: #11613 Version: 1.0
image thumbnail



David Gleich (view profile)


01 Jul 2006 (Updated )

A suite of drivers to compute the PageRank vector for a directed graph.

| Watch this File

File Information

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.


MATLAB release MATLAB 7 (R14)
Other requirements mex required (for non-linux/win32 platforms)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
25 Aug 2010 zhengchen

09 Apr 2009 David Gleich

David Gleich (view profile)

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.

Comment only
04 Mar 2009 Juice Juicnator

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

Comment only
04 Mar 2009 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.

Contact us