4.0

4.0 | 1 rating Rate this file 121 downloads (last 30 days) File Size: 273.43 KB File ID: #11613

pagerank

by David Gleich

 

01 Jul 2006 (Updated 05 Jul 2006)

No BSD License  

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

Download Now | Watch this File

File Information
Description

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.

pagerank(A,struct('alg','eval'));

MATLAB release MATLAB 7 (R14)
Other requirements mex required (for non-linux/win32 platforms)
Zip File Content  
Other Files
spmatvec_transmult.mexa64,
spmatvec_transmult.mexglx,
pagerank_gs_mult.mexglx,
pagerank_mult.mexglx,
spmatvec_mult.mexglx,
cs-stanford.mat,
pagerank.m,
pagerank_gs_mult.c,
pagerank_gs_mult.dll,
pagerank_gs_mult.mexa64,
pagerank_mult.c,
pagerank_mult.dll,
pagerank_mult.mexa64,
spmatvec_mult.c,
spmatvec_mult.dll,
spmatvec_mult.mexa64,
spmatvec_transmult.c,
spmatvec_transmult.dll
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (3)
04 Mar 2009 Juice Juicnator

Comments:

1. must recompile with mex on 64-bit machine
2.
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.

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.

09 Apr 2009 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.

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
linear algebra David Gleich 22 Oct 2008 08:31:56
pagerank David Gleich 22 Oct 2008 08:31:56
arnoldi David Gleich 22 Oct 2008 08:31:56
linear system David Gleich 22 Oct 2008 08:31:56
bicgstab David Gleich 22 Oct 2008 08:31:56
gmres David Gleich 22 Oct 2008 08:31:56
approximation David Gleich 22 Oct 2008 08:31:56
pagerank Yosi 19 Feb 2009 09:19:19
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com