Checks a flow for admissibility in a Graph
Graph::admissibleFlow(G, f) checks if the flow f is admissible in the Graph G according to its vertices and their capacities.
Graph::admissibleFlow checks whether a given flow is an admissible flow in the specified graph. A flow in a graph is a table t, where t[[i,j]] gives the number of units flowing from vertex i to vertex j. Graph::admissibleFlow returns TRUE if the flow is admissible. Otherwise FALSE is returned.
Graph::admissibleFlow does not check whether the flow is admissible, if a flow from vertex i to vertex j is allowed to pass through other vertices. See Example 2.
In a cyclic graph with default capacities (1), the flow with one unit flowing from each vertex to its successor is certainly admissible:
G1 := Graph::createCircleGraph([v1, v2, v3, v4]): Graph::admissibleFlow(G1, table([v1, v2] = 1, [v2, v3] = 1, [v3, v4] = 1, [v4, v1] = 1))
The flow must be specified in whole. Graph::admissibleFlow does not include "hops", like skipping vertices in the path:
Graph::admissibleFlow(Graph::createCircleGraph([v1, v2, v3]), table([v1, v3] = 1))