caten2 / Tripods2021UA

MIT License
3 stars 5 forks source link

Add hyperoctahedral automorphisms with new `Relation` class #17

Open caten2 opened 10 months ago

caten2 commented 10 months ago

The script src/polymorphisms.py now contains the definitions of the Hamming graph polymorphisms, but the hyperoctahedral ones have yet to be added to it. The script src/binary_image_polymorphisms.py remains so that the work found there isn't lost, but most of it has been moved over and, in some cases, improved. For example, SwappingAutomorphism and BlankingEndomorphism now work for relations of arbitrary arity, not just binary ones.

Once the hyperoctahedral automorphisms have been implemented, we still need to decide whether to keep the original RotationAutomorphism and ReflectionAutomorphism or perhaps make these aliases for specific cases of the general hyperoctahedral implementation.

lgstolberg commented 10 months ago

Hello! I'd love to try this out - does anyone want to join me?