- Introduction
- Construction of Multigraphs
- The Vertex--Set and Edge--Set of Multigraphs
- EdgeIndices(u, v) : GrphVert, GrphVert -> SeqEnum
- EdgeMultiplicity(u, v) : GrphVert, GrphVert -> RngIntElt
- Edges(u, v) : GrphVert, GrphVert -> SeqEnum
- IncidentEdges(u) : GrphVert -> SetEnum
- E ! < { u, v }, i > : GrphEdgeSet, < . > -> GrphEdge
- E ! < [ u, v ], i > : GrphEdgeSet, < . > -> GrphEdge
- pE.i {E . i} : GrphEdgeSet, RngIntElt -> GrphEdge
- EndVertices(e) : GrphEdge ->{ GrphVert, GrphVert }
- InitialVertex(e) : GrphEdge -> GrphVert
- TerminalVertex(e) : GrphEdge -> GrphVert
- Index(e) : GrphEdge -> RngIntElt
- s eq t : GrphEdge, GrphEdge -> BoolElt
- Example MultiGraph_GrphMult_Edges (H159E4)
- Vertex and Edge Decorations
- Vertex Decorations: Labels
- AssignLabel(~G, u, l) : GrphMult, GrphVert, . ->
- AssignLabels(~G, S, L) : GrphMult, [GrphVert], SeqEnum ->
- AssignVertexLabels(~G, L) : GrphMult, SeqEnum ->
- IsLabelled(u) : GrphVert -> BoolElt
- IsLabelled(V) : GrphVertSet -> BoolElt
- IsVertexLabelled(G) : GrphMult -> BoolElt
- Label(u) : GrphVert -> .
- Labels(S) : [GrphVert] -> SeqEnum
- Labels(V) : GrphVertSet -> SeqEnum
- VertexLabels(G) : GrphMult -> SeqEnum
- DeleteLabel(~G, u) : GrphMult, GrphVert ->
- DeleteLabels(~G, S) : GrphMult, [GrphVert] ->
- DeleteVertexLabels(~G) : GrphMult ->
- Edge Decorations
- Assigning Edge Decorations
- AssignLabel(~G, e, l) : GrphMult, GrphEdge, . ->
- AssignLabels(~G, S, D) : GrphMult, [GrphEdge], SeqEnum ->
- AssignEdgeLabels(~G, D) : GrphMult, SeqEnum ->
- Testing for Edge Decorations
- Reading Edge Decorations
- Deleting Edge Decorations
- Unlabelled, or Uncapacitated, or Unweighted Graphs
- Standard Construction for Multigraphs
- Subgraphs
- Incremental Construction of Multigraphs
- Adding Vertices
- Removing Vertices
- Adding Edges
- G + { u, v } : GrphMultUnd, { { GrphVert, GrphVert } } -> GrphMultUnd, GrphEdge
- G + { { u, v } } : GrphMultUnd, { { GrphVert, GrphVert } } -> GrphMultUnd
- G +:= { u, v } : GrphMultUnd, { GrphVert, GrphVert } ->
- AddEdge(G, u, v) : GrphMult, GrphVert, GrphVert -> GrphMult, GrphEdge
- AddEdge(G, u, v, l) : GrphMultUnd, GrphVert, GrphVert, . -> GrphMult, GrphEdge
- AddEdge(G, u, v, c) : GrphNet, GrphVert, RngIntElt, . -> GrphNet, GrphEdge
- AddEdge(G, u, v, c, l) : GrphNet, GrphVert, GrphVert, RngIntElt, . -> GrphNet, GrphEdge
- AddEdge(~G, u, v) : GrphMult, GrphVert, GrphVert ->
- AddEdges(G, S) : GrphMultUnd, { { GrphVert, GrphVert } } -> GrphMultUnd
- AddEdges(G, S, L) : GrphMult, SeqEnum, SeqEnum -> GrphMult
- AddEdges(~G, S) : GrphMultUnd, { { GrphVert, GrphVert } } ->
- Removing Edges
- Vertex Insertion, Contraction
- Unions of Multigraphs
- Conversion Functions
- Orientated Graphs
- Converse
- Converting between Simple Graphs and Multigraphs
- UnderlyingGraph(G) : GrphMult -> GrphUnd, GrphVertSet, GrphEdgeSet
- UnderlyingDigraph(G) : GrphMult-> GrphDir, GrphVertSet, GrphEdgeSet
- UnderlyingMultiGraph(G) : Grph -> GrphMultUnd, GrphVertSet, GrphEdgeSet
- UnderlyingMultiDigraph(G) : Grph -> GrphMultDir, GrphVertSet, GrphEdgeSet
- UnderlyingNetwork(G) : Grph -> GrphNet, GrphVertSet, GrphEdgeSet
- Elementary Invariants and Predicates for Multigraphs
- Adjacency and Degree
- Connectedness
- Spanning Trees
- Planar Graphs
- Distances, Shortest Paths and Minimum Weight Trees
- Reachable(u, v : parameters) : GrphVert, GrphVert -> BoolElt, RngElt
- Distance(u, v : parameters) : GrphVert, GrphVert -> RngElt
- Distances(u : parameters) : GrphVert -> Eseq
- PathExists(u, v : parameters) : GrphVert, GrphVert -> BoolElt, Eseq
- Path(u, v : parameters) : GrphVert, GrphVert -> Eseq
- Paths(u : parameters) : GrphVert -> Eseq
- GeodesicExists(u, v : parameters) : GrphVert, GrphVert -> BoolElt, Eseq
- Geodesic(u, v : parameters) : GrphVert, GrphVert -> Eseq
- Geodesics(u : parameters) : GrphVert -> Eseq
- HasNegativeWeightCycle(u : parameters) : GrphVert -> BoolElt
- HasNegativeWeightCycle(G) : Grph -> BoolElt
- AllPairsShortestPaths(G : parameters) : Grph -> SeqEnum, SeqEnum
- MinimumWeightTree(u : parameters) : GrphVert -> SeqEnum
- Example MultiGraph_GrphMult_ShortP (H159E12)
- Example MultiGraph_GrphMult_MinW (H159E13)
- Bibliography
V2.28, 13 July 2023