Code organization
For a user, the entry point is the DsmClustering.flowBasedMarkovClustering
method which takes the following parameters:
Parameter  Algorithmic name  Empirical useful range  Description 


 
 
Adjacency matrix between the nodes, nonnegative element 

 
 
Labels of the nodes. 

μ 
Between 
Influence factor of distance between nodes. 

α 
Normally 
Number of steps taken each iteration in the Markov clustering. 

β 
Between 
Speed factor of deciding clusters. 

ε 
 
Convergence limit. 

 
 
The bus detection algorithm to apply. 

 
 
Tuning factor for selecting bus nodes. Interpretation depends on the chosen bus detection algorithm. 
The function computes how to group the nodes into a bus and hierarchical clusters by shuffling the nodes into a different order.
The result is a Dsm
instance, which contains how the original nodes were shuffled to obtain the result, a shuffled version of the provided adjacency matrix and labels, and a tree describing the nested clustering hierarchy, with the getShuffledBase
and getShuffledSize
methods providing the node offset and length of each group in the shuffled version.