Algorithm Anti-Differentiation and A case study with PageRank, min-cuts, and flow
David F. Gleich
Michael W. Mahoney
Contents
These are the computational codes and data that go along with the ICML 2014 paper
David F. Gleich and Michael Mahoney
Algorithm Anti-Differentiation: A case study with min-cuts, spectral, and flow
In Proceedings of the International Conference on Machine Learning, 2014.
Downloads
-
l1pagerank-icml.tar.gz The ICML version of the l1 pagerank codes
Files
Demos
figure_1_example.mProduce the vectors for Figure 1 in the ICML paperexample_netscience.mProduce the netscience Figures for the ICML paperdemos/simple_example.mA simple example suitable for live demos
Algorithms
-
acl_method.mAn implementation of the Andersen-Chung-Lang push method to compute a PageRank vector -
flow_improve.mAn algorithm for the FlowImprove method of Andersen and Lang -
prl1_gurobi.mUse gurobi to solve an l1-PageRank problem prcut_gurobi.mUse gurobi to solve a min-cut on the PageRank cut graph
Helpers
cut_graph.mConstruct the cut-graph for FlowImiprovegeneral_cut_graph.mConstruct the PageRank cut-graph for general constructions.gmatrices.mReturn a struct of all the matrices associated with a graph.igraph_draw.mUse igraph via python to layout a graphincidence_matrix.mCreate the node-edge indicence matrix for a graphlaplacian.mConsruct the Laplacian matrix of a graphload_graph.mLoad one of the datasets and avoid icky path problemsnlaplacian.mConstruct the normalized Laplacian of a graphnormout.mCompute a row-stochastic matrix from an adjacency matrix.set_figure_size.mThe most useful script to make Matlab figures look goodsetup_paths.mAdd all the required libraries to the matlab path, and the code itselfwadjacency.mConstruct the weighted adjacency matrix of a graph
Testing
test_prcut_gurobi.mMake sure gurobi and CVX agree for the prcut problemtest_prl1_gurobi.mMake sure gurobi and CVX agree for the prl1 problem
Exploration
This directory contains a whole bunch of scripts that we developed while working out the theory. Think of this as a lab-notebook for what we looked at before the full picture came together.