## `Network::admissibleFlow` -- checks a flow for admissibility in a network

#### Introduction

`Network::admissibleFlow``(N,f)` checks if the flow `f` is admissible in the network `N` according to its vertices and their capacities.

#### Call(s)

`Network::admissibleFlow(N, f)`

#### Parameters

`N` | - | network
`f` | - | flow (a table)

#### Returns

either `TRUE` or `FALSE`

#### Details

- `Network::admissibleFlow` checks whether a given flow is an admissible flow in the specified network. A flow in a network is a table `t`, where `t[[i,j]]` gives the number of units flowing from node `i` to node `j`. `Network::admissibleFlow` returns `TRUE` if the flow is admissible. Otherwise `FALSE` is returned.
- `Network::admissibleFlow` does not check whether the flow is admissible if a flow from node `i` to node `j` is allowed to pass through other nodes. See example 2.

#### Example 1

In a cyclic network with default capacities (1), the flow with one unit flowing from each node to its successor is certainly admissible.

    >> N1 := Network::cycle([v1,v2,v3,v4]):
       Network::admissibleFlow( N1, table([v1,v2]=1,
                          [v2,v3]=1, [v3,v4]=1, [v4,v1]=1))

                                       TRUE

#### Example 2

The flow must give each connection to use directly. `Network::admissibleFlow` does not introduce ``hops''.

    >> Network::admissibleFlow( Network::cycle([v1,v2,v3]),
                     table([v1,v3]=1))

                                       FALSE

#### Changes

- used to be called `Network::AdmissibleFlow`

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000