# Multigraphs

- [Introduction](multig-introduction.md)

- [Construction of Multigraphs](multig-constr.md)

  - [Construction of a General Multigraph](multig-constr.md#construction-of-a-general-multigraph)

    - [`MultiGraph<n | edges >: RngIntElt, List → GrphMultUnd, GrphVertSet, GrphEdgeSet`](multig-constr.md#constructor-constructor-multigraph-rngintelt-list-grphmultund-grphvertset-grphedgeset)

    - [`MultiGraph<S | edges >: SetEnum, List → GrphMultUnd, GrphVertSet, GrphEdgeSet`](multig-constr.md#constructor-constructor-multigraph-setenum-list-grphmultund-grphvertset-grphedgeset)

    - [`MultiGraph<S | edges >: SetIndx, List → GrphMultUnd, GrphVertSet, GrphEdgeSet`](multig-constr.md#constructor-constructor-multigraph-setindx-list-grphmultund-grphvertset-grphedgeset)

    - [`Example: GrphMultUnd Constr`](multig-constr.md#example-ex-3c3311)

  - [Construction of a General Multidigraph](multig-constr.md#construction-of-a-general-multidigraph)

    - [`MultiDigraph<n | edges >: RngIntElt, List → GrphMultDir, GrphVertSet, GrphEdgeSet`](multig-constr.md#constructor-constructor-multidigraph-rngintelt-list-grphmultdir-grphvertset-grphedgeset)

    - [`MultiDigraph<S | edges >: SetEnum, List → GrphMultDir, GrphVertSet, GrphEdgeSet`](multig-constr.md#constructor-constructor-multidigraph-setenum-list-grphmultdir-grphvertset-grphedgeset)

    - [`MultiDigraph<S | edges >: SetIndx, List → GrphMultDir, GrphVertSet, GrphEdgeSet`](multig-constr.md#constructor-constructor-multidigraph-setindx-list-grphmultdir-grphvertset-grphedgeset)

    - [`Example: GrphMultDir Constr`](multig-constr.md#example-ex-f50793)

  - [Printing of a Multi(di)graph](multig-constr.md#printing-of-a-multi-di-graph)

  - [Operations on the Support](multig-constr.md#operations-on-the-support)

    - [`Support(G): GrphMult → SetIndx`](multig-constr.md#function-support-grphmult)

    - [`Support(V): GrphVertSet → SetIndx`](multig-constr.md#function-support-grphvertset)

    - [`ChangeSupport(G, S): GrphMult, SetIndx → GrphMult, GrphVertSet, GrphEdgeSet`](multig-constr.md#function-changesupport-grphmult-setindx)

    - [`ChangeSupport(~G, S): GrphMult, SetIndx`](multig-constr.md#function-changesupport-grphmult-setindx-ref)

    - [`StandardGraph(G): GrphMult → GrphMult`](multig-constr.md#function-standardgraph-grphmult)

    - [`Example: GrphMult Support`](multig-constr.md#example-ex-256013)

- [The Vertex–Set and Edge–Set of Multigraphs](multig-vertex-edge-set.md)

  - [`EdgeIndices(u, v): GrphVert, GrphVert → SeqEnum`](multig-vertex-edge-set.md#function-edgeindices-grphvert-grphvert)

  - [`Indices(u, v): GrphVert, GrphVert → SeqEnum`](multig-vertex-edge-set.md#function-indices-grphvert-grphvert)

  - [`EdgeMultiplicity(u, v): GrphVert, GrphVert → RngIntElt`](multig-vertex-edge-set.md#function-edgemultiplicity-grphvert-grphvert)

  - [`Multiplicity(u, v): GrphVert, GrphVert → RngIntElt`](multig-vertex-edge-set.md#function-multiplicity-grphvert-grphvert)

  - [`Edges(u, v): GrphVert, GrphVert → SeqEnum`](multig-vertex-edge-set.md#function-edges-grphvert-grphvert)

  - [`IncidentEdges(u): GrphVert → SetEnum`](multig-vertex-edge-set.md#function-incidentedges-grphvert)

  - [`E ! < { u, v }, i >: GrphEdgeSet, < . > → GrphEdge`](multig-vertex-edge-set.md#operation-op-grphedgeset)

  - [`E ! < [ u, v ], i >: GrphEdgeSet, < . > → GrphEdge`](multig-vertex-edge-set.md#operation-op-grphedgeset-2)

  - [`E.i {E . i}: GrphEdgeSet, RngIntElt → GrphEdge`](multig-vertex-edge-set.md#operation-multigraph-e-i)

  - [`EndVertices(e): GrphEdge → { GrphVert, GrphVert }`](multig-vertex-edge-set.md#function-endvertices-grphedge)

  - [`EndVertices(e): GrphEdge → [ GrphVert, GrphVert ]`](multig-vertex-edge-set.md#function-endvertices-grphedge-2)

  - [`InitialVertex(e): GrphEdge → GrphVert`](multig-vertex-edge-set.md#function-initialvertex-grphedge)

  - [`TerminalVertex(e): GrphEdge → GrphVert`](multig-vertex-edge-set.md#function-terminalvertex-grphedge)

  - [`Index(e): GrphEdge → RngIntElt`](multig-vertex-edge-set.md#function-index-grphedge)

  - [`s eq t: GrphEdge, GrphEdge → BoolElt`](multig-vertex-edge-set.md#operation-op-eq-grphedge-grphedge)

  - [`Example: GrphMult Edges`](multig-vertex-edge-set.md#example-ex-16c702)

- [Vertex and Edge Decorations](multig-decorations.md)

  - [Vertex Decorations: Labels](multig-decorations.md#vertex-decorations-labels)

    - [`AssignLabel(~G, u, l): GrphMult, GrphVert, .`](multig-decorations.md#function-assignlabel-grphmult-grphvert-ref)

    - [`AssignLabels(~G, S, L): GrphMult, [GrphVert], SeqEnum`](multig-decorations.md#function-multigraph-assignlabels)

    - [`AssignLabels(~G, S, L): GrphMult, { @ GrphVert @}, SeqEnum`](multig-decorations.md#function-assignlabels-grphmult-grphvert-seqenum-ref)

    - [`AssignVertexLabels(~G, L): GrphMult, SeqEnum`](multig-decorations.md#function-assignvertexlabels-grphmult-seqenum-ref)

    - [`IsLabelled(u): GrphVert → BoolElt`](multig-decorations.md#function-islabelled-grphvert)

    - [`IsLabelled(V): GrphVertSet → BoolElt`](multig-decorations.md#function-islabelled-grphvertset)

    - [`IsVertexLabelled(G): GrphMult → BoolElt`](multig-decorations.md#function-isvertexlabelled-grphmult)

    - [`Label(u): GrphVert → .`](multig-decorations.md#function-label-grphvert)

    - [`Labels(S): [GrphVert] → SeqEnum`](multig-decorations.md#function-labels-grphvert)

    - [`Labels(V): GrphVertSet → SeqEnum`](multig-decorations.md#function-labels-grphvertset)

    - [`VertexLabels(G): GrphMult → SeqEnum`](multig-decorations.md#function-vertexlabels-grphmult)

    - [`DeleteLabel(~G, u): GrphMult, GrphVert`](multig-decorations.md#function-deletelabel-grphmult-grphvert-ref)

    - [`DeleteLabels(~G, S): GrphMult, [GrphVert]`](multig-decorations.md#function-deletelabels-grphmult-grphvert-ref)

    - [`DeleteVertexLabels(~G): GrphMult`](multig-decorations.md#function-deletevertexlabels-grphmult-ref)

  - [Edge Decorations](multig-decorations.md#edge-decorations)

    - [Assigning Edge Decorations](multig-decorations.md#assigning-edge-decorations)

      - [`AssignLabel(~G, e, l): GrphMult, GrphEdge, .`](multig-decorations.md#function-assignlabel-grphmult-grphedge-ref)

      - [`AssignCapacity(~G, e, c): GrphMult, GrphEdge, RngIntElt`](multig-decorations.md#function-assigncapacity-grphmult-grphedge-rngintelt-ref)

      - [`AssignWeight(~G, e, w): GrphMult, GrphEdge, RngElt`](multig-decorations.md#function-assignweight-grphmult-grphedge-rngelt-ref)

      - [`AssignLabels(~G, S, D): GrphMult, [GrphEdge], SeqEnum`](multig-decorations.md#function-assignlabels-grphmult-grphedge-seqenum-ref)

      - [`AssignLabels(~G, S, D): GrphMult, { @ GrphEdge @}, SeqEnum`](multig-decorations.md#function-assignlabels-grphmult-grphedge-seqenum-ref-2)

      - [`AssignCapacities(~G, S, D): GrphMult, [GrphEdge], [RngIntElt]`](multig-decorations.md#function-assigncapacities-grphmult-grphedge-rngintelt-ref)

      - [`AssignCapacities(~G, S, D): GrphMult, { @ GrphEdge @}, [RngIntElt]`](multig-decorations.md#function-assigncapacities-grphmult-grphedge-rngintelt-ref-2)

      - [`AssignWeights(~G, S, D): GrphMult, [GrphEdge], [RngElt]`](multig-decorations.md#function-assignweights-grphmult-grphedge-rngelt-ref)

      - [`AssignWeights(~G, S, D): GrphMult, { @ GrphEdge @}, [RngElt]`](multig-decorations.md#function-assignweights-grphmult-grphedge-rngelt-ref-2)

      - [`AssignEdgeLabels(~G, D): GrphMult, SeqEnum`](multig-decorations.md#function-assignedgelabels-grphmult-seqenum-ref)

      - [`AssignCapacities(~G, D): GrphMult, [RngIntElt]`](multig-decorations.md#function-assigncapacities-grphmult-rngintelt-ref)

      - [`AssignWeights(~G, D): GrphMult, [RngElt]`](multig-decorations.md#function-assignweights-grphmult-rngelt-ref)

    - [Testing for Edge Decorations](multig-decorations.md#testing-for-edge-decorations)

      - [`IsLabelled(e): GrphEdge → BoolElt`](multig-decorations.md#function-islabelled-grphedge)

      - [`IsLabelled(E): GrphEdgeSet → BoolElt`](multig-decorations.md#function-islabelled-grphedgeset)

      - [`IsEdgeLabelled(G): GrphMult → BoolElt`](multig-decorations.md#function-isedgelabelled-grphmult)

      - [`IsEdgeLabelled(G): Grph → BoolElt`](multig-decorations.md#function-isedgelabelled-grph)

      - [`IsCapacitated(E): GrphEdgeSet → BoolElt`](multig-decorations.md#function-iscapacitated-grphedgeset)

      - [`IsEdgeCapacitated(G): GrphMult → BoolElt`](multig-decorations.md#function-isedgecapacitated-grphmult)

      - [`IsEdgeCapacitated(G): Grph → BoolElt`](multig-decorations.md#function-isedgecapacitated-grph)

      - [`IsWeighted(E): GrphEdgeSet → BoolElt`](multig-decorations.md#function-isweighted-grphedgeset)

      - [`IsEdgeWeighted(G): GrphMult → BoolElt`](multig-decorations.md#function-isedgeweighted-grphmult)

      - [`IsEdgeWeighted(G): Grph → BoolElt`](multig-decorations.md#function-isedgeweighted-grph)

    - [Reading Edge Decorations](multig-decorations.md#reading-edge-decorations)

      - [`Label(e): GrphEdge → .`](multig-decorations.md#function-label-grphedge)

      - [`Capacity(e): GrphEdge → RngIntElt`](multig-decorations.md#function-capacity-grphedge)

      - [`Weight(e): GrphEdge → RngElt`](multig-decorations.md#function-weight-grphedge)

      - [`Labels(S): [GrphEdge] → SeqEnum`](multig-decorations.md#function-labels-grphedge)

      - [`Capacities(S): [GrphEdge] → SeqEnum`](multig-decorations.md#function-capacities-grphedge)

      - [`Weights(S): [GrphEdge] → SeqEnum`](multig-decorations.md#function-weights-grphedge)

      - [`Labels(E): GrphEdgeSet → SeqEnum`](multig-decorations.md#function-labels-grphedgeset)

      - [`Capacities(E): GrphEdgeSet → SeqEnum`](multig-decorations.md#function-capacities-grphedgeset)

      - [`Weights(E): GrphEdgeSet → SeqEnum`](multig-decorations.md#function-weights-grphedgeset)

      - [`EdgeLabels(G): GrphMult → SeqEnum`](multig-decorations.md#function-edgelabels-grphmult)

      - [`EdgeLabels(G): Grph → SeqEnum`](multig-decorations.md#function-edgelabels-grph)

      - [`EdgeCapacities(G): GrphMult → SeqEnum`](multig-decorations.md#function-edgecapacities-grphmult)

      - [`EdgeCapacities(G): Grph → SeqEnum`](multig-decorations.md#function-edgecapacities-grph)

      - [`EdgeWeights(G): GrphMult → SeqEnum`](multig-decorations.md#function-edgeweights-grphmult)

      - [`EdgeWeights(G): Grph → SeqEnum`](multig-decorations.md#function-edgeweights-grph)

    - [Deleting Edge Decorations](multig-decorations.md#deleting-edge-decorations)

      - [`DeleteLabel(~G, e): GrphMult, GrphEdge`](multig-decorations.md#function-deletelabel-grphmult-grphedge-ref)

      - [`DeleteCapacity(~G, e): GrphMult, GrphEdge`](multig-decorations.md#function-deletecapacity-grphmult-grphedge-ref)

      - [`DeleteWeight(~G, e): GrphMult, GrphEdge`](multig-decorations.md#function-deleteweight-grphmult-grphedge-ref)

      - [`DeleteLabels(~G, S): GrphMult, [GrphEdge]`](multig-decorations.md#function-deletelabels-grphmult-grphedge-ref)

      - [`DeleteCapacities(~G, S): GrphMult, [GrphEdge]`](multig-decorations.md#function-deletecapacities-grphmult-grphedge-ref)

      - [`DeleteWeights(~G, S): GrphMult, [GrphEdge]`](multig-decorations.md#function-deleteweights-grphmult-grphedge-ref)

      - [`DeleteEdgeLabels(~G): GrphMult`](multig-decorations.md#function-deleteedgelabels-grphmult-ref)

      - [`DeleteCapacities(~G): GrphMult`](multig-decorations.md#function-deletecapacities-grphmult-ref)

      - [`DeleteWeights(~G): GrphMult`](multig-decorations.md#function-deleteweights-grphmult-ref)

  - [Unlabelled, or Uncapacitated, or Unweighted Graphs](multig-decorations.md#unlabelled-or-uncapacitated-or-unweighted-graphs)

    - [`UnlabelledGraph(G): GrphMult → GrphMult`](multig-decorations.md#function-unlabelledgraph-grphmult)

    - [`UncapacitatedGraph(G): GrphMult → GrphMult`](multig-decorations.md#function-uncapacitatedgraph-grphmult)

    - [`UnweightedGraph(G): GrphMult → GrphMult`](multig-decorations.md#function-unweightedgraph-grphmult)

    - [`Example: GrphMult Labels`](multig-decorations.md#example-ex-51c6ce)

    - [`Example: Cayley Graph`](multig-decorations.md#example-ex-c76dcd)

    - [`Example: GrphMult EdgesDecs`](multig-decorations.md#example-ex-1a5a8b)

- [Standard Construction for Multigraphs](multig-stand-constr.md)

  - [Subgraphs](multig-stand-constr.md#subgraphs)

    - [`sub< G | list >: GrphMult, List → GrphMult, GrphVertSet, GrphEdgeSet`](multig-stand-constr.md#constructor-constructor-sub-grphmult-list-grphmult-grphvertset-grphedgeset)

    - [`Example: GrphMult Sub`](multig-stand-constr.md#example-ex-d47089)

  - [Incremental Construction of Multigraphs](multig-stand-constr.md#incremental-construction-of-multigraphs)

    - [Adding Vertices](multig-stand-constr.md#adding-vertices)

      - [`G + n: GrphMult, RngIntElt → GrphMult`](multig-stand-constr.md#operation-op-plus-grphmult-rngintelt)

      - [`G +:= n: GrphMult, RngIntElt`](multig-stand-constr.md#operation-operation-grphmult-rngintelt)

      - [`AddVertex(~G): GrphMult`](multig-stand-constr.md#function-addvertex-grphmult-ref)

      - [`AddVertices(~G, n): GrphMult, RngIntElt`](multig-stand-constr.md#function-addvertices-grphmult-rngintelt-ref)

      - [`AddVertex(~G, l): GrphMult, .`](multig-stand-constr.md#function-addvertex-grphmult-ref-2)

      - [`AddVertices(~G, n, L): GrphMult, RngIntElt, SeqEnum`](multig-stand-constr.md#function-addvertices-grphmult-rngintelt-seqenum-ref)

    - [Removing Vertices](multig-stand-constr.md#removing-vertices)

      - [`G - v: GrphMult, GrphVert → GrphMult`](multig-stand-constr.md#operation-op-minus-grphmult-grphvert)

      - [`G - U: GrphMult, {  GrphVert } → GrphMult`](multig-stand-constr.md#operation-op-minus-grphmult-grphvert-2)

      - [`G -:= v: GrphMult, GrphVert`](multig-stand-constr.md#operation-operation-grphmult-grphvert)

      - [`G -:= U: GrphMult, {  GrphVert }`](multig-stand-constr.md#operation-operation-grphmult-grphvert-2)

      - [`RemoveVertex(~G, v): GrphMult, GrphVert`](multig-stand-constr.md#function-removevertex-grphmult-grphvert-ref)

      - [`RemoveVertices(~G, U): GrphMult, {  GrphVert }`](multig-stand-constr.md#function-removevertices-grphmult-grphvert-ref)

    - [Adding Edges](multig-stand-constr.md#adding-edges)

      - [`G + { u, v }: GrphMultUnd, {{ GrphVert, GrphVert } } → GrphMultUnd, GrphEdge`](multig-stand-constr.md#operation-op-plus-grphmultund-grphvert-grphvert)

      - [`G + [ u, v ]: GrphMultDir, {  [ GrphVert, GrphVert ] } → GrphMultDir, GrphEdge`](multig-stand-constr.md#operation-op-plus-grphmultdir-grphvert-grphvert)

      - [`G + [ u, v ]: GrphNet, {  [ GrphVert, GrphVert ] } → GrphNet, GrphEdge`](multig-stand-constr.md#operation-op-plus-grphnet-grphvert-grphvert)

      - [`G + { { u, v } }: GrphMultUnd, { { GrphVert, GrphVert } } → GrphMultUnd`](multig-stand-constr.md#operation-op-plus-grphmultund-grphvert-grphvert-2)

      - [`G + [ { u, v } ]: GrphMultUnd, [ { GrphVert, GrphVert } ] → GrphMultUnd`](multig-stand-constr.md#operation-op-plus-grphmultund-grphvert-grphvert-3)

      - [`G + { [ u, v ] }: GrphMultDir, {  [ GrphVert, GrphVert ] } → GrphDir`](multig-stand-constr.md#operation-op-plus-grphmultdir-grphvert-grphvert-2)

      - [`G + [ [ u, v ] ]: GrphMultDir, [ [ GrphVert, GrphVert ] ] → GrphDir`](multig-stand-constr.md#operation-op-plus-grphmultdir-grphvert-grphvert-3)

      - [`G + { [ u, v ] }: GrphNet, {  [ GrphVert, GrphVert ] } → GrphNet`](multig-stand-constr.md#operation-op-plus-grphnet-grphvert-grphvert-2)

      - [`G + [ [ u, v ] ]: GrphNet, [ [ GrphVert, GrphVert ] ] → GrphNet`](multig-stand-constr.md#operation-op-plus-grphnet-grphvert-grphvert-3)

      - [`G +:= { u, v }: GrphMultUnd, { GrphVert, GrphVert }`](multig-stand-constr.md#operation-operation-grphmultund-grphvert-grphvert)

      - [`G +:= [ u, v ]: GrphDir, [ GrphVert, GrphVert ]`](multig-stand-constr.md#operation-operation-grphdir-grphvert-grphvert)

      - [`G +:= [ u, v ]: GrphNet, [ GrphVert, GrphVert ]`](multig-stand-constr.md#operation-operation-grphnet-grphvert-grphvert)

      - [`G +:= { { u, v } }: GrphMultUnd, { {  GrphVert, GrphVert  } }`](multig-stand-constr.md#operation-operation-grphmultund-grphvert-grphvert-2)

      - [`G +:= [ { u, v } ]: GrphMultUnd, [ {  GrphVert, GrphVert  } ]`](multig-stand-constr.md#operation-operation-grphmultund-grphvert-grphvert-3)

      - [`G +:= { [ u, v ] }: GrphMultDir, {  [ GrphVert, GrphVert ] }`](multig-stand-constr.md#operation-operation-grphmultdir-grphvert-grphvert)

      - [`G +:= [ [ u, v ] ]: GrphMultDir, [ [ GrphVert, GrphVert ] ]`](multig-stand-constr.md#operation-operation-grphmultdir-grphvert-grphvert-2)

      - [`G +:= { [ u, v ] }: GrphNet, {  [ GrphVert, GrphVert ] }`](multig-stand-constr.md#operation-operation-grphnet-grphvert-grphvert-2)

      - [`G +:= [ [ u, v ] ]: GrphNet, [ [ GrphVert, GrphVert ] ]`](multig-stand-constr.md#operation-operation-grphnet-grphvert-grphvert-3)

      - [`AddEdge(G, u, v): GrphMult, GrphVert, GrphVert → GrphMult, GrphEdge`](multig-stand-constr.md#function-addedge-grphmult-grphvert-grphvert)

      - [`AddEdge(G, u, v, l): GrphMultUnd, GrphVert, GrphVert, . → GrphMult, GrphEdge`](multig-stand-constr.md#function-multigraph-addedgelabel)

      - [`AddEdge(G, u, v, l): GrphMultDir, GrphVert, GrphVert, . → GrphMultDir, GrphEdge`](multig-stand-constr.md#function-addedge-grphmultdir-grphvert-grphvert)

      - [`AddEdge(G, u, v, c): GrphNet, GrphVert, RngIntElt, . → GrphNet, GrphEdge`](multig-stand-constr.md#function-addedge-grphnet-grphvert-rngintelt)

      - [`AddEdge(G, u, v, c, l): GrphNet, GrphVert, GrphVert, RngIntElt, . → GrphNet, GrphEdge`](multig-stand-constr.md#function-addedge-grphnet-grphvert-grphvert-rngintelt)

      - [`AddEdge(~G, u, v): GrphMult, GrphVert, GrphVert`](multig-stand-constr.md#function-addedge-grphmult-grphvert-grphvert-ref)

      - [`AddEdge(~G, u, v, l): GrphMultUnd, GrphVert, GrphVert, .`](multig-stand-constr.md#function-addedge-grphmultund-grphvert-grphvert-ref)

      - [`AddEdge(~G, u, v, l): GrphMultDir, GrphVert, GrphVert, .`](multig-stand-constr.md#function-addedge-grphmultdir-grphvert-grphvert-ref)

      - [`AddEdge(~G, u, v, c): GrphNet, GrphVert, GrphVert, RngIntElt`](multig-stand-constr.md#function-addedge-grphnet-grphvert-grphvert-rngintelt-ref)

      - [`AddEdge(~G, u, v, c, l): GrphNet, GrphVert, GrphVert, RngIntElt, .`](multig-stand-constr.md#function-addedge-grphnet-grphvert-grphvert-rngintelt-ref-2)

      - [`AddEdges(G, S): GrphMultUnd, { { GrphVert, GrphVert } } → GrphMultUnd`](multig-stand-constr.md#function-addedges-grphmultund-grphvert-grphvert)

      - [`AddEdges(G, S): GrphMultUnd, [ { GrphVert, GrphVert } ] → GrphMultUnd`](multig-stand-constr.md#function-addedges-grphmultund-grphvert-grphvert-2)

      - [`AddEdges(G, S): GrphMultDir, {  [  GrphVert, GrphVert ] } → GrphMultDir`](multig-stand-constr.md#function-addedges-grphmultdir-grphvert-grphvert)

      - [`AddEdges(G, S): GrphMultDir, [ [  GrphVert, GrphVert ] ] → GrphMultDir`](multig-stand-constr.md#function-addedges-grphmultdir-grphvert-grphvert-2)

      - [`AddEdges(G, S): GrphNet, {  [  GrphVert, GrphVert ] } → GrphNet`](multig-stand-constr.md#function-addedges-grphnet-grphvert-grphvert)

      - [`AddEdges(G, S): GrphNet, [ [  GrphVert, GrphVert ] ] → GrphNet`](multig-stand-constr.md#function-addedges-grphnet-grphvert-grphvert-2)

      - [`AddEdges(G, S, L): GrphMult, SeqEnum, SeqEnum → GrphMult`](multig-stand-constr.md#function-addedges-grphmult-seqenum-seqenum)

      - [`AddEdges(~G, S): GrphMultUnd, { { GrphVert, GrphVert } }`](multig-stand-constr.md#function-addedges-grphmultund-grphvert-grphvert-ref)

      - [`AddEdges(~G, S): GrphMultUnd, [ { GrphVert, GrphVert } ]`](multig-stand-constr.md#function-addedges-grphmultund-grphvert-grphvert-ref-2)

      - [`AddEdges(~G, S): GrphMultDir, {  [  GrphVert, GrphVert ] }`](multig-stand-constr.md#function-addedges-grphmultdir-grphvert-grphvert-ref)

      - [`AddEdges(~G, S): GrphMultDir, [ [  GrphVert, GrphVert ] ]`](multig-stand-constr.md#function-addedges-grphmultdir-grphvert-grphvert-ref-2)

      - [`AddEdges(~G, S): GrphNet, {  [  GrphVert, GrphVert ] }`](multig-stand-constr.md#function-addedges-grphnet-grphvert-grphvert-ref)

      - [`AddEdges(~G, S): GrphNet, [ [  GrphVert, GrphVert ] ]`](multig-stand-constr.md#function-addedges-grphnet-grphvert-grphvert-ref-2)

      - [`AddEdges(~G, S, L): GrphMult, SeqEnum, SeqEnum`](multig-stand-constr.md#function-addedges-grphmult-seqenum-seqenum-ref)

    - [Removing Edges](multig-stand-constr.md#removing-edges)

      - [`G - e: GrphMult, GrphEdge → GrphMult`](multig-stand-constr.md#operation-op-minus-grphmult-grphedge)

      - [`G - { e }: GrphMult, {  GrphEdge } → GrphMult`](multig-stand-constr.md#operation-op-minus-grphmult-grphedge-2)

      - [`G - { { u, v } }: GrphMultUnd, { { GrphVert, GrphVert rbrace } → GrphMultUnd`](multig-stand-constr.md#operation-op-minus-grphmultund-grphvert-grphvert-rbrace)

      - [`G - { [u, v] }: GrphMultDir, {  [ GrphVert, GrphVert ] } → GrphMultDir`](multig-stand-constr.md#operation-op-minus-grphmultdir-grphvert-grphvert)

      - [`G -:= e: GrphMult, GrphEdge`](multig-stand-constr.md#operation-operation-grphmult-grphedge)

      - [`G -:= { e }: GrphMult, {  GrphEdge }`](multig-stand-constr.md#operation-operation-grphmult-grphedge-2)

      - [`G -:= { { u, v } }: GrphMultUnd, {  { GrphVert, GrphVert rbrace }`](multig-stand-constr.md#operation-operation-grphmultund-grphvert-grphvert-rbrace)

      - [`G -:= { [u, v] }: GrphMultDir, {  [ GrphVert, GrphVert ] }`](multig-stand-constr.md#operation-operation-grphmultdir-grphvert-grphvert-3)

      - [`RemoveEdge(~G, e): GrphMult, GrphEdge`](multig-stand-constr.md#function-removeedge-grphmult-grphedge-ref)

      - [`RemoveEdges(~G, S): GrphMult, {  GrphEdge }`](multig-stand-constr.md#function-removeedges-grphmult-grphedge-ref)

      - [`RemoveEdge(~G, u, v): GrphMult, GrphVert, GrphVert`](multig-stand-constr.md#function-removeedge-grphmult-grphvert-grphvert-ref)

      - [`RemoveEdges(~G, S): GrphMultDir, { {  GrphVert, GrphVert } }`](multig-stand-constr.md#function-removeedges-grphmultdir-grphvert-grphvert-ref)

      - [`RemoveEdges(~G, S): GrphMultDir, {  [  GrphVert, GrphVert ] }`](multig-stand-constr.md#function-removeedges-grphmultdir-grphvert-grphvert-ref-2)

  - [Vertex Insertion, Contraction](multig-stand-constr.md#vertex-insertion-contraction)

    - [`InsertVertex(e): GrphEdge → GrphMult`](multig-stand-constr.md#function-insertvertex-grphedge)

    - [`InsertVertex(T): { GrphEdge} → GrphMult`](multig-stand-constr.md#function-insertvertex-grphedge-2)

    - [`Contract(e): GrphEdge → GrphMult`](multig-stand-constr.md#function-contract-grphedge)

    - [`Contract(u, v): GrphVert, GrphVert → GrphMult`](multig-stand-constr.md#function-contract-grphvert-grphvert)

    - [`Contract(S): { GrphVert} → GrphMult`](multig-stand-constr.md#function-contract-grphvert)

  - [Unions of Multigraphs](multig-stand-constr.md#unions-of-multigraphs)

    - [`Union(G, H): GrphMultUnd, GrphMultUnd → GrphMultUnd`](multig-stand-constr.md#function-union-grphmultund-grphmultund)

    - [`Union(G, H): GrphMultDir, GrphMultDir → GrphMultDir`](multig-stand-constr.md#function-union-grphmultdir-grphmultdir)

    - [`G join H: GrphMultUnd, GrphMultUnd → GrphMultUnd`](multig-stand-constr.md#operation-op-join-grphmultund-grphmultund)

    - [`G join H: GrphMultDir, GrphMultDir → GrphMultDir`](multig-stand-constr.md#operation-op-join-grphmultdir-grphmultdir)

    - [`Union(N, H): GrphNet, GrphNet → GrphNet`](multig-stand-constr.md#function-union-grphnet-grphnet)

    - [`N join H: GrphNet, GrphNet → GrphNet`](multig-stand-constr.md#operation-op-join-grphnet-grphnet)

    - [`& join S: [ MultiUnd ] → GrphMultUnd`](multig-stand-constr.md#operation-operation-multiund-grphmultund)

    - [`& join S: [ GrphMultDir ] → GrphMultDir`](multig-stand-constr.md#operation-operation-grphmultdir-grphmultdir)

    - [`& join S: [ GrphNet ] → GrphNet`](multig-stand-constr.md#operation-operation-grphnet-grphnet)

    - [`& join S: { MultiUnd } → GrphMultUnd`](multig-stand-constr.md#operation-operation-multiund-grphmultund-2)

    - [`& join S: { GrphMultDir } → GrphMultDir`](multig-stand-constr.md#operation-operation-grphmultdir-grphmultdir-2)

    - [`& join S: { GrphNet } → GrphNet`](multig-stand-constr.md#operation-operation-grphnet-grphnet-2)

    - [`EdgeUnion(G, H): GrphMultUnd, GrphMultUnd → GrphMultUnd`](multig-stand-constr.md#function-edgeunion-grphmultund-grphmultund)

    - [`EdgeUnion(G, H): GrphMultDir, GrphMultDir → GrphMultDir`](multig-stand-constr.md#function-edgeunion-grphmultdir-grphmultdir)

    - [`EdgeUnion(N, H): GrphNet, GrphNet → GrphNet`](multig-stand-constr.md#function-edgeunion-grphnet-grphnet)

- [Conversion Functions](multig-conversion.md)

  - [Orientated Graphs](multig-conversion.md#orientated-graphs)

    - [`OrientatedGraph(G): GrphMultUnd → GrphMultDir`](multig-conversion.md#function-orientatedgraph-grphmultund)

  - [Converse](multig-conversion.md#converse)

    - [`Converse(G): GrphMultDir → GrphMultDir`](multig-conversion.md#function-converse-grphmultdir)

  - [Converting between Simple Graphs and Multigraphs](multig-conversion.md#converting-between-simple-graphs-and-multigraphs)

    - [`UnderlyingGraph(G): GrphMult → GrphUnd, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyinggraph-grphmult)

    - [`UnderlyingGraph(G): Grph → GrphUnd, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyinggraph-grph)

    - [`UnderlyingDigraph(G): GrphMult → GrphDir, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingdigraph-grphmult)

    - [`UnderlyingDigraph(G): Grph → GrphDir, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingdigraph-grph)

    - [`UnderlyingMultiGraph(G): Grph → GrphMultUnd, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingmultigraph-grph)

    - [`UnderlyingMultiGraph(G): GrphMult → GrphMultUnd, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingmultigraph-grphmult)

    - [`UnderlyingMultiDigraph(G): Grph → GrphMultDir, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingmultidigraph-grph)

    - [`UnderlyingMultiDigraph(G): GrphMult → GrphMultDir, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingmultidigraph-grphmult)

    - [`UnderlyingNetwork(G): Grph → GrphNet, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-underlyingnetwork-grph)

    - [`UnderlyingNetwork(G): GrphMult → GrphNet, GrphVertSet, GrphEdgeSet`](multig-conversion.md#function-multigraph-underlyingnetwork)

- [Elementary Invariants and Predicates for Multigraphs](multig-elem.md)

  - [`Order(G): GrphMult → RngIntElt`](multig-elem.md#function-order-grphmult)

  - [`NumberOfVertices(G): GrphMult → RngIntElt`](multig-elem.md#function-numberofvertices-grphmult)

  - [`Size(G): GrphMult → RngIntElt`](multig-elem.md#function-size-grphmult)

  - [`NumberOfEdges(G): GrphMult → RngIntElt`](multig-elem.md#function-numberofedges-grphmult)

  - [`u adj v: GrphVert, GrphVert → BoolElt`](multig-elem.md#operation-operation-adj-grphvert-grphvert-boolelt)

  - [`e adj f: GrphEdge, GrphEdge → BoolElt`](multig-elem.md#operation-operation-adj-grphedge-grphedge-boolelt)

  - [`u notadj v: GrphVert, GrphVert → BoolElt`](multig-elem.md#operation-operation-notadj-grphvert-grphvert-boolelt)

  - [`e notadj f: GrphEdge, GrphEdge → BoolElt`](multig-elem.md#operation-operation-notadj-grphedge-grphedge-boolelt)

  - [`u in e: GrphVert, GrphEdge → BoolElt`](multig-elem.md#operation-op-in-grphvert-grphedge)

  - [`u notin e: GrphVert, GrphEdge → BoolElt`](multig-elem.md#operation-op-notin-grphvert-grphedge)

  - [`G eq H: GrphMultUnd, GrphMultUnd → BoolElt`](multig-elem.md#operation-op-eq-grphmultund-grphmultund)

  - [`G eq H: GrphMultDir, GrphMultDir → BoolElt`](multig-elem.md#operation-op-eq-grphmultdir-grphmultdir)

  - [`G eq H: GrphNet, GrphNet → BoolElt`](multig-elem.md#operation-op-eq-grphnet-grphnet)

  - [`IsSubgraph(G, H): GrphMultUnd, GrphMultUnd → BoolElt`](multig-elem.md#function-issubgraph-grphmultund-grphmultund)

  - [`IsSubgraph(G, H): GrphMultDir, GrphMultDir → BoolElt`](multig-elem.md#function-issubgraph-grphmultdir-grphmultdir)

  - [`IsSubgraph(G, H): GrphNet, GrphNet → BoolElt`](multig-elem.md#function-issubgraph-grphnet-grphnet)

  - [`IsBipartite(G): GrphMultUnd → BoolElt`](multig-elem.md#function-isbipartite-grphmultund)

  - [`Bipartition(G): GrphMultUnd → [ { GrphVert} ]`](multig-elem.md#function-bipartition-grphmultund)

  - [`IsRegular(G): GrphMult → BoolElt`](multig-elem.md#function-isregular-grphmult)

  - [`IsComplete(G): GrphMult → BoolElt`](multig-elem.md#function-iscomplete-grphmult)

  - [`IsEmpty(G): GrphMult → BoolElt`](multig-elem.md#function-isempty-grphmult)

  - [`IsNull(G): GrphMult → BoolElt`](multig-elem.md#function-isnull-grphmult)

  - [`IsSimple(G): GrphMult → BoolElt`](multig-elem.md#function-issimple-grphmult)

  - [`IsSimple(G): Grph → BoolElt`](multig-elem.md#function-issimple-grph)

  - [`IsUndirected(G): GrphMult → BoolElt`](multig-elem.md#function-isundirected-grphmult)

  - [`IsUndirected(G): Grph → BoolElt`](multig-elem.md#function-isundirected-grph)

  - [`IsDirected(G): GrphMult → BoolElt`](multig-elem.md#function-isdirected-grphmult)

  - [`IsDirected(G): Grph → BoolElt`](multig-elem.md#function-isdirected-grph)

- [Adjacency and Degree](multig-adj-deg.md)

  - [Adjacency and Degree Functions for Multigraphs](multig-adj-deg.md#adjacency-and-degree-functions-for-multigraphs)

    - [`Degree(u): GrphVert → RngIntElt`](multig-adj-deg.md#function-degree-grphvert)

    - [`Alldeg(G, n): GrphMultUnd, RngIntElt → { GrphVert}`](multig-adj-deg.md#function-alldeg-grphmultund-rngintelt)

    - [`MaximumDegree(G): GrphMultUnd → RngIntElt, GrphVert`](multig-adj-deg.md#function-maximumdegree-grphmultund)

    - [`Maxdeg(G): GrphMultUnd → RngIntElt, GrphVert`](multig-adj-deg.md#function-maxdeg-grphmultund)

    - [`MinimumDegree(G): GrphMultUnd → RngIntElt, GrphVert`](multig-adj-deg.md#function-minimumdegree-grphmultund)

    - [`Mindeg(G): GrphMultUnd → RngIntElt, GrphVert`](multig-adj-deg.md#function-mindeg-grphmultund)

    - [`DegreeSequence(G): GrphMultUnd → [ { GrphVert} ]`](multig-adj-deg.md#function-degreesequence-grphmultund)

    - [`Neighbours(u): GrphVert → { GrphVert}`](multig-adj-deg.md#function-neighbours-grphvert)

    - [`Neighbors(u): GrphVert → { GrphVert}`](multig-adj-deg.md#function-neighbors-grphvert)

    - [`IncidentEdges(u): GrphVert → { GrphEdge}`](multig-adj-deg.md#function-incidentedges-grphvert-2)

  - [Adjacency and Degree Functions for Multidigraphs](multig-adj-deg.md#adjacency-and-degree-functions-for-multidigraphs)

    - [`InDegree(u): GrphVert → RngIntElt`](multig-adj-deg.md#function-indegree-grphvert)

    - [`OutDegree(u): GrphVert → RngIntElt`](multig-adj-deg.md#function-outdegree-grphvert)

    - [`MaximumInDegree(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-maximumindegree-grphmultdir)

    - [`Maxindeg(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-maxindeg-grphmultdir)

    - [`MinimumInDegree(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-minimumindegree-grphmultdir)

    - [`Minindeg(G)): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-minindeg-grphmultdir)

    - [`MaximumOutDegree(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-maximumoutdegree-grphmultdir)

    - [`Maxoutdeg(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-maxoutdeg-grphmultdir)

    - [`MinimumOutDegree(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-minimumoutdegree-grphmultdir)

    - [`Minoutdeg(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-minoutdeg-grphmultdir)

    - [`Degree(u): GrphVert → RngIntElt`](multig-adj-deg.md#function-degree-grphvert-2)

    - [`MaximumDegree(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-maximumdegree-grphmultdir)

    - [`Maxdeg(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-maxdeg-grphmultdir)

    - [`MinimumDegree(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-minimumdegree-grphmultdir)

    - [`Mindeg(G): GrphMultDir → RngIntElt, GrphVert`](multig-adj-deg.md#function-mindeg-grphmultdir)

    - [`Alldeg(G, n): GrphMultDir, RngIntElt → { GrphVert}`](multig-adj-deg.md#function-alldeg-grphmultdir-rngintelt)

    - [`DegreeSequence(G): GrphMultDir → [ { GrphVert } ]`](multig-adj-deg.md#function-degreesequence-grphmultdir)

    - [`InNeighbours(u): GrphVert → { GrphVert}`](multig-adj-deg.md#function-inneighbours-grphvert)

    - [`InNeighbors(u): GrphVert → { GrphVert}`](multig-adj-deg.md#function-inneighbors-grphvert)

    - [`OutNeighbours(u): GrphVert → { GrphVert}`](multig-adj-deg.md#function-outneighbours-grphvert)

    - [`OutNeighbors(u): GrphVert → { GrphVert}`](multig-adj-deg.md#function-outneighbors-grphvert)

    - [`IncidentEdges(u): GrphVert → { GrphEdge}`](multig-adj-deg.md#function-incidentedges-grphvert-3)

- [Connectedness](multig-connectedness.md)

  - [Connectedness in a Multigraph](multig-connectedness.md#connectedness-in-a-multigraph)

    - [`IsConnected(G): GrphMultUnd → BoolElt`](multig-connectedness.md#function-isconnected-grphmultund)

    - [`Components(G): GrphMultUnd → [ { GrphVert } ]`](multig-connectedness.md#function-components-grphmultund)

    - [`Component(u): GrphVert → GrphMult`](multig-connectedness.md#function-component-grphvert)

    - [`IsSeparable(G): GrphMultUnd → BoolElt`](multig-connectedness.md#function-isseparable-grphmultund)

    - [`IsBiconnected(G): GrphMultUnd → BoolElt`](multig-connectedness.md#function-isbiconnected-grphmultund)

    - [`CutVertices(G): GrphMultUnd → { GrphVert}`](multig-connectedness.md#function-cutvertices-grphmultund)

    - [`Bicomponents(G): GrphMultUnd → [ { GrphVert } ]`](multig-connectedness.md#function-bicomponents-grphmultund)

  - [Connectedness in a Multidigraph](multig-connectedness.md#connectedness-in-a-multidigraph)

    - [`IsStronglyConnected(G): GrphMultDir → BoolElt`](multig-connectedness.md#function-isstronglyconnected-grphmultdir)

    - [`IsWeaklyConnected(G): GrphMultDir → BoolElt`](multig-connectedness.md#function-isweaklyconnected-grphmultdir)

    - [`StronglyConnectedComponents(G): GrphMultDir → [ { GrphVert} ]`](multig-connectedness.md#function-stronglyconnectedcomponents-grphmultdir)

    - [`Component(u): GrphVert → GrphMult`](multig-connectedness.md#function-component-grphvert-2)

  - [Triconnectivity for Multigraphs](multig-connectedness.md#triconnectivity-for-multigraphs)

    - [`IsTriconnected(G): GrphMultUnd → BoolElt`](multig-connectedness.md#function-istriconnected-grphmultund)

    - [`Splitcomponents(G): GrphMultUnd → [ { GrphVert} ], [ [ GrphVert ]]`](multig-connectedness.md#function-splitcomponents-grphmultund)

    - [`SeparationVertices(G): GrphMultUnd → [ [ GrphVert ]], [ { GrphVert} ]`](multig-connectedness.md#function-separationvertices-grphmultund)

  - [Maximum Matching in Bipartite Multigraphs](multig-connectedness.md#maximum-matching-in-bipartite-multigraphs)

    - [`MaximumMatching(G : parameters): GrphMultUnd → [ { GrphEdge rbrace ]`](multig-connectedness.md#function-maximummatching-grphmultund)

  - [General Vertex and Edge Connectivity in Multigraphs and Multidigraphs](multig-connectedness.md#general-vertex-and-edge-connectivity-in-multigraphs-and-multidigraphs)

    - [`VertexSeparator(G : parameters): GrphMult → [ GrphVert ]`](multig-connectedness.md#function-vertexseparator-grphmult)

    - [`VertexConnectivity(G : parameters): GrphMult → RngIntElt, [ GrphVert ]`](multig-connectedness.md#function-vertexconnectivity-grphmult)

    - [`IsKVertexConnected(G, k : parameters): GrphMult, RngIntElt → BoolElt`](multig-connectedness.md#function-iskvertexconnected-grphmult-rngintelt)

    - [`EdgeSeparator(G : parameters): GrphMult → [ GrphEdge ]`](multig-connectedness.md#function-edgeseparator-grphmult)

    - [`EdgeConnectivity(G : parameters): GrphMult → RngIntElt, [ GrphEdge ]`](multig-connectedness.md#function-edgeconnectivity-grphmult)

    - [`IsKEdgeConnected(G, k : parameters): GrphMult, RngIntElt → BoolElt`](multig-connectedness.md#function-iskedgeconnected-grphmult-rngintelt)

    - [`Example: GrphMult Conn`](multig-connectedness.md#example-ex-e96180)

- [Spanning Trees](spanning-tree.md)

  - [`SpanningTree(G): GrphMultUnd → GrphMultUnd, GrphVertSet, GrphEdgeSet`](spanning-tree.md#function-spanningtree-grphmultund)

  - [`SpanningForest(G): GrphMult → GrphMult, GrphVertSet, GrphEdgeSet`](spanning-tree.md#function-spanningforest-grphmult)

  - [`BreadthFirstSearchTree(u): GrphVert → GrphMult, GrphVertSet, GrphEdgeSet`](spanning-tree.md#function-breadthfirstsearchtree-grphvert)

  - [`BFSTree(u): GrphVert → GrphMult`](spanning-tree.md#function-bfstree-grphvert)

  - [`DepthFirstSearchTree(u): GrphVert → GrphMult, GrphVertSet, GrphEdgeSet, SeqEnum`](spanning-tree.md#function-depthfirstsearchtree-grphvert)

  - [`DFSTree(u): GrphVert → GrphMult, GrphVertSet, GrphEdgeSet, SeqEnum`](spanning-tree.md#function-multigraph-dfstree)

- [Planar Graphs](planarity.md)

  - [`IsPlanar(G): GrphMultUnd → BoolElt, GrphMultUnd`](planarity.md#function-isplanar-grphmultund)

  - [`Obstruction(G): GrphMultUnd → GrphMultUnd`](planarity.md#function-obstruction-grphmultund)

  - [`IsHomeomorphic(G: parameters): GrphMultUnd → BoolElt`](planarity.md#function-ishomeomorphic-grphmultund)

  - [`Faces(G): GrphMultUnd → SeqEnum[GrphVert]`](planarity.md#function-faces-grphmultund)

  - [`Face(u, v): GrphVert, GrphVert → SeqEnum`](planarity.md#function-face-grphvert-grphvert)

  - [`Face(e): GrphEdge → SeqEnum`](planarity.md#function-face-grphedge)

  - [`NFaces(G): GrphMultUnd → RngIntElt`](planarity.md#function-nfaces-grphmultund)

  - [`NumberOfFaces(G): GrphMultUnd → RngIntElt`](planarity.md#function-numberoffaces-grphmultund)

  - [`Embedding(G): GrphMultUnd → SeqEnum`](planarity.md#function-embedding-grphmultund)

  - [`Embedding(v): GrphVert → SeqEnum`](planarity.md#function-embedding-grphvert)

  - [`Example: GrphMult Planar`](planarity.md#example-ex-c07270)

  - [`Example: GrphMult Planar Dual`](planarity.md#example-ex-d8a2c8)

- [Distances, Shortest Paths and Minimum Weight Trees](shortest-paths.md)

  - [`Reachable(u, v : parameters): GrphVert, GrphVert → BoolElt, RngElt`](shortest-paths.md#function-reachable-grphvert-grphvert)

  - [`Distance(u, v : parameters): GrphVert, GrphVert → RngElt`](shortest-paths.md#function-distance-grphvert-grphvert)

  - [`Distances(u : parameters): GrphVert → Eseq`](shortest-paths.md#function-distances-grphvert)

  - [`PathExists(u, v : parameters): GrphVert, GrphVert → BoolElt, Eseq`](shortest-paths.md#function-pathexists-grphvert-grphvert)

  - [`Path(u, v : parameters): GrphVert, GrphVert → Eseq`](shortest-paths.md#function-path-grphvert-grphvert)

  - [`ShortestPath(u, v : parameters): GrphVert, GrphVert → Eseq`](shortest-paths.md#function-shortestpath-grphvert-grphvert)

  - [`Paths(u : parameters): GrphVert → Eseq`](shortest-paths.md#function-paths-grphvert)

  - [`ShortestPaths(u : parameters): GrphVert → Eseq`](shortest-paths.md#function-shortestpaths-grphvert)

  - [`GeodesicExists(u, v : parameters): GrphVert, GrphVert → BoolElt, Eseq`](shortest-paths.md#function-geodesicexists-grphvert-grphvert)

  - [`Geodesic(u, v : parameters): GrphVert, GrphVert → Eseq`](shortest-paths.md#function-geodesic-grphvert-grphvert)

  - [`Geodesics(u : parameters): GrphVert → Eseq`](shortest-paths.md#function-geodesics-grphvert)

  - [`HasNegativeWeightCycle(u : parameters): GrphVert → BoolElt`](shortest-paths.md#function-hasnegativeweightcycle-grphvert)

  - [`HasNegativeWeightCycle(G): Grph → BoolElt`](shortest-paths.md#function-hasnegativeweightcycle-grph)

  - [`HasNegativeWeightCycle(G): GrphMult → BoolElt`](shortest-paths.md#function-hasnegativeweightcycle-grphmult)

  - [`AllPairsShortestPaths(G : parameters): Grph → SeqEnum, SeqEnum`](shortest-paths.md#function-allpairsshortestpaths-grph)

  - [`AllPairsShortestPaths(G : parameters): GrphMult → SeqEnum, SeqEnum`](shortest-paths.md#function-allpairsshortestpaths-grphmult)

  - [`MinimumWeightTree(u : parameters): GrphVert → SeqEnum`](shortest-paths.md#function-minimumweighttree-grphvert)

  - [`Example: GrphMult ShortP`](shortest-paths.md#example-ex-549372)

  - [`Example: GrphMult MinW`](shortest-paths.md#example-ex-8c3a20)
