Checks a flow for admissibility in a Graph

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.


Graph::admissibleFlow(G, f)


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.


Example 1

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))

Example 2

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))





The flow, specified in a table

Return Values

Either TRUE or FALSE

Was this topic helpful?