digraphs / Digraphs

The GAP package Digraphs
https://digraphs.github.io/Digraphs
Other
30 stars 44 forks source link

DigraphRemoveEdge doesn't remove edge labels #617

Closed saffronmciver closed 1 month ago

saffronmciver commented 7 months ago

Trying the following, edge labels were not removed from the Digraph when an edge was removed

gap> D := DigraphByEdges(IsMutableDigraph, [[1, 2], [2, 3], [3, 4], [4, 1], [1, 1]]);;
gap> DigraphEdgeLabels(D);   
[ [ 1, 1 ], [ 1 ], [ 1 ], [ 1 ] ]  
gap> DigraphRemoveEdge(D, [1, 2]);
<mutable digraph with 4 vertices, 4 edges>
gap> DigraphEdgeLabels(D);
[ [ 1, 1 ], [ 1 ], [ 1 ], [ 1 ] ]

Like the above, edge labels were not removed when set specifically either:

gap> D := DigraphByEdges(IsMutableDigraph, [[1, 2], [2, 3], [3, 4], [4, 1], [1, 1]]);;
gap> SetDigraphEdgeLabel(D, 1, 2, "test");
gap> DigraphRemoveEdge(D, 1, 2);
<mutable digraph with 4 vertices, 4 edges>
gap> DigraphEdgeLabels(D);
[ [ "test", 1 ], [ 1 ], [ 1 ], [ 1 ] ]

If edge labels are not set, four edge labels were returned correctly


gap> DigraphRemoveEdge(D, [1, 2]);
<mutable digraph with 4 vertices, 4 edges>
gap> DigraphEdgeLabels(D);
[ [ 1 ], [ 1 ], [ 1 ], [ 1 ] ]```