Closed lcnbr closed 2 years ago
You're right that actually supporting ACSets (https://github.com/AlgebraicJulia/CSetAutomorphisms.jl/issues/18) is the right way to go. The options for you now are:
call_nauty
to actually incorporate attribute dataNautyRes.cset
and then use the NautyRes.cmap
information to permute the attributes yourself (via the permutations on their source objects)Alternatively, until the issue is addressed I could just throw an error if an ACSet has attributes in the call_nauty
code?
Option 2 seems like a pretty contained PR project for anyone trying to get involved in the development. Throwing an exception until that gets patched seems fine, although it doesn't sound like that much more work to add proper support based on option 2.
Although the end goal should be that attributes are taken into account by the algorithm, one thing that I think is definitely an issue is that if you call_nauty on an ACset it will only permute the Cset structure. So when you do call_nauty(ac::ACSet).cset it gives a Frankenstein ACset with attributes and cset not linked anymore..