You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Something is going wrong when computing its stabiliser with Vole, and I think it's because Vole does not (cannot?) "properly" handle Digraphs with isolated vertices.
If I want to stabilise this digraph D in Sym(1) or Sym(2), then all is fine, the isolated vertex doesn't come into play. It's also fine with Sym(3), because then, all points in question are vertices of the digraph. But once I get to Sym(4), Vole is confused about the distinction between the points 3 and 4 – note that 3 is a vertex of the digraph, but that 4 is not.
gap> D := Digraph([[2], [], []]);;
gap> VoleFind.Group(1, Constraint.Stabilise(D, OnDigraphs));
Group(())
gap> VoleFind.Group(2, Constraint.Stabilise(D, OnDigraphs));
Group(())
gap> VoleFind.Group(3, Constraint.Stabilise(D, OnDigraphs));
Group(())
gap> VoleFind.Group(4, Constraint.Stabilise(D, OnDigraphs));
thread 'main' panicked at 'index out of bounds: the len is 3 but the index is 3', src/vole/refiners/digraph.rs:76:35
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any { .. }', src/bin/vole.rs:100:53
Error, No return value from 'vole' at /Users/Wilf/gap/pkg/vole/gap/internal/comms.gi:285 called from
_Vole.ExecuteVole( rec(
config := rec(
points := points,
find_coset := find_coset,
find_canonical := find_canonical,
root_search := root_search,
search_config := rec(
full_graph_refine := false,
find_single := find_single ) ),
constraints := constraints ), gapcons, canonical_group ) at /Users/Wilf/gap/pkg/vole/gap/internal/comms.gi:414 called from
_Vole.Solve( points, false, false, false, constraints, false, false ) at /Users/Wilf/gap/pkg/vole/gap/internal/comms.gi:455 called from
_Vole.GroupSolve( bounds.max, constraints ) at /Users/Wilf/gap/pkg/vole/gap/interface.gi:43 called from
<function "VoleFind.Group">( <arguments> )
Note that everything is fine if the isolated vertex just isn't part of the digraph:
At some point, this is a policy choice: which permutations should be considered to stabilise a digraph? Should they treat isolated vertices interchangeably with points that are not vertices in the digraph?
In my opinion, I think that a permutation should stabilise a digraph if and only if it stabilises its set of vertices, and acts in the proper way on those vertices (and it can do whatever it want to points that are not vertices). In particular, for me, the 'correct' answer to the erroring code above should be:
Here is a digraph:
Something is going wrong when computing its stabiliser with Vole, and I think it's because Vole does not (cannot?) "properly" handle Digraphs with isolated vertices.
If I want to stabilise this digraph
D
inSym(1)
orSym(2)
, then all is fine, the isolated vertex doesn't come into play. It's also fine withSym(3)
, because then, all points in question are vertices of the digraph. But once I get toSym(4)
, Vole is confused about the distinction between the points 3 and 4 – note that 3 is a vertex of the digraph, but that 4 is not.Note that everything is fine if the isolated vertex just isn't part of the digraph:
At some point, this is a policy choice: which permutations should be considered to stabilise a digraph? Should they treat isolated vertices interchangeably with points that are not vertices in the digraph?
In my opinion, I think that a permutation should stabilise a digraph if and only if it stabilises its set of vertices, and acts in the proper way on those vertices (and it can do whatever it want to points that are not vertices). In particular, for me, the 'correct' answer to the erroring code above should be:
Since the points 3 and 4 are not interchangeable in relation to this digraph.
We need to be careful that any change we make does not interfere with our implementation of the centraliser refiner for a permutation.
The text was updated successfully, but these errors were encountered: