Constructs routing matrix from link relationships. Determines routes using (weighted) shortest-path calculation (mirroring OSPF). Currently handles tied paths arbitrarily; will incorporate fractions for tie resolution in next version. Can optionally include aggregate source and destination flows for each node; this can make a major difference for some topologies. Tomogravity methods typically make use of such information, which most routers collect. Note that resulting routing matrix need not be of full row rank.

1 2 | ```
buildRoutingMatrix(nodes, src, dest, weights = NULL, agg = FALSE,
sep = "_", aggChar = "*", verbose = 0)
``` |

`nodes` |
vector (lenght n) of node identifiers |

`src` |
vector (length m) of sources, one per link, matched with dest |

`dest` |
vector (length n) of destination identifiers, one per link, matched with src |

`weights` |
numeric vector (length m) of weights for each link; used in shortest-path routing calculations (roughly OSPF) |

`agg` |
logical for whether to include aggregate source and destination flows for each node |

`sep` |
character separator between node id's for link and OD names |

`aggChar` |
character to indicate aggregate flows; should be distinct from sep |

`verbose` |
integer level of verbosity; 0 is silent, >=1 are increasing levels of reporting |

List consisting of routing matrix `A`

(dense) of
dimensions m x n and iGraph object for network `topo`

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.