ALP User Documentation 0.7.0
Algebraic Programming User Documentation

A Pregelstyle PageRanklike algorithm. More...
#include <pregel_pagerank.hpp>
Classes  
struct  Data 
The algorithm parameters. More...  
Static Public Member Functions  
template<typename PregelType >  
static grb::RC  execute (grb::interfaces::Pregel< PregelType > &pregel, grb::Vector< IOType > &scores, size_t &steps_taken, const Data ¶meters=Data(), const size_t max_steps=0) 
A convenience function for launching a PageRank algorithm over a given Pregel instance. More...  
static void  program (IOType ¤t_score, const IOType &incoming_message, IOType &outgoing_message, const Data ¶meters, grb::interfaces::PregelState &pregel) 
The vertexcentric PageRanklike program. More...  
A Pregelstyle PageRanklike algorithm.
This vertexcentric program does not correspond to the canonical PageRank algorithm by Brin and Page. In particular, it misses corrections for dangling nodes and does not perform convergence checks in any norm.
IOType  The type of the PageRank scores (e.g., double ). 
localConverge  Whether vertices become inactive once their local scores have converged, or whether to terminate only when all vertices have converged. 

inlinestatic 
A convenience function for launching a PageRank algorithm over a given Pregel instance.
PregelType  The nonzero type of an edge in the Pregel instance. 
This convenience function materialises the buffers expected to be passed into the Pregel instance, and selects the expected monoid for executing this program.
The following arguments are mandatory:
[in]  pregel  The Pregel instance that this program should execute on. 
[out]  scores  A vector that corresponds to the scores corresponding to each vertex. It must be of size equal to the number of vertices \( n \) in the pregel instance, and must have \( n \) capacity and values. The initial contents are ignored by this algorithm. 
[out]  steps_taken  How many rounds the program took until termination. 
The following arguments are optional:
[in]  parameters  The algorithm parameters. If not given, default values will be substituted. 
[in]  max_steps  The maximum number of rounds this program may take. If not given, the number of rounds will be unlimited. 

inlinestatic 
The vertexcentric PageRanklike program.
[out]  current_score  The current rank corresponding to this vertex. 
[in]  incoming_message  Neighbour contributions to our score. 
[out]  outgoing_message  The score contribution to send to our neighbours. 
[in]  parameters  The algorithm parameters. 
[in,out]  pregel  The state of the Pregel interface. 
The Pregel program expects incoming messages to be aggregated using a plus monoid over elements of IOType.