Orientations of multigraphs #
An orientation of a multigraph orders the two ends of every actual edge. The edge identity is retained, so parallel edges can be oriented independently. A loop has equal tail and head and therefore gives one directed loop, without an additional choice of direction.
The explicit arrow family Graph.Orientation.Hom has one arrow for each actual edge, from its
chosen tail to its chosen head. It can be supplied directly to quiver and network constructions
without installing a Quiver instance on the graph's vertex type. Reversing an orientation
reverses every arrow while preserving its edge identity.
Main declarations #
Graph.Orientation: an ordering of the ends of every actual edge.Graph.Orientation.ofEdgeEnds: an arbitrary orientation available for every multigraph.Graph.Orientation.ofHead: the orientation with prescribed heads.Graph.Orientation.reverse: reversal of every chosen edge direction.Graph.Orientation.Hom: the associated explicit arrow family.Graph.Orientation.totalHomEquiv: the total arrows are equivalent to the actual edges.
An orientation of a multigraph chooses a tail and head for every actual edge, compatible with that edge's incidence. Parallel edges retain separate choices, while a loop necessarily has the same tail and head.
The chosen tail of an actual edge.
The chosen head of an actual edge.
The chosen tail and head are the two ends of the edge.
Instances For
The chosen tail is incident to its edge.
The chosen head is incident to its edge.
The orientation choosing a prescribed incident vertex as the head of every edge; the tail is the other end, which is the head itself for a loop.
Instances For
Two orientations either agree on an edge or orient it in opposite directions.
Every multigraph admits an orientation, obtained from a representative of each unordered pair of edge ends.
Instances For
Reverse every edge of an orientation.
Instances For
Reversing every edge is an involutive equivalence on orientations.
Instances For
The explicit family of arrows selected by an orientation. An arrow from x to y is an
actual edge whose chosen tail is x and whose chosen head is y.
- edge : ↑G.edgeSet
The actual edge underlying the arrow.
The arrow's source is the chosen tail of its edge.
The arrow's target is the chosen head of its edge.
Instances For
The underlying edge of an oriented arrow links its source and target.
Regard an actual edge as the arrow from its chosen tail to its chosen head.
Instances For
All arrows of an orientation, with their source and target vertices.
Instances For
The total arrows of an orientation are exactly the actual edges of the multigraph. This equivalence retains parallel edge identities and sends a loop to one arrow.
Instances For
The edge identity determines an oriented arrow, including its endpoints.