Gives the index in 1,…,Q2 (directed) or 1,…,Q∗(Q+1)/2 (undirected) that corresponds to group pair (q,l). Works also for vectors of indices q and l.
convertGroupPair(q, l, Q, directed =TRUE)
Arguments
q: Group index q
l: Group index l
Q: Total number of groups Q
directed: Boolean for directed (TRUE) or undirected (FALSE) case
Returns
Index corresponding to the group pair (q,l)
Details
Relations between groups (q,l) are stored in vectors, whose indexes depend on whether the graph is directed or undirected.
Directed case :: * The (q,l) group pair is converted into the index (q−1)∗Q+l
Undirected case :: * The (q,l) group pair with q\<=l is converted into the index (2∗Q−q+2)∗(q−1)/2+l−q+1
Examples
# Convert the group pair (3,2) into an index, where the total number of group is 3,# for directed and undirected graphq <-3l <-2Q <-3directedIndex <- convertGroupPair(q,l,Q)undirectedIndex <- convertGroupPair(q,l,Q,FALSE)