Enumeration.hpp File Reference

Plans regarding enumeration of quasi-groups. More...

Go to the source code of this file.

Detailed Description

Plans regarding enumeration of quasi-groups.

Enumeration and classification
  • For small order (say, n <= 5) it should be possible to enumerate all (isomorphism types) of quasigroups (and also the total count is interesting), and providing a catalogue.
  • Of course, we also need the numbers (total and non-isomorphic) of unital quasigroups, groups, commutative quasigroups, unital commutative quasigroups, and commutative groups.
  • Implement enumeration functions according to "All isomorphism types of small groupoids" in ComputerAlgebra/Algebra/Lisp/Groupoids/plans/Enumeration.hpp.
  • What is the relation to the module for latin squares (see ComputerAlgebra/CombinatorialMatrices/Lisp/LatinSquares/plans/general.hpp)?
    1. The general idea would be that here we enumerate everything with an "algebraic flavour", while there we handle everything with a "combinatorial flavour".
Random generation of quasigroups and unital quasigroups
  • Producing random quasigroups and random unital quasigroups of bigger order must have been studied in the literature.
  • One could run a (generalised) SAT solver, for sampling the solutions of the condition "(unital) quasigroup".
  • Given a quasigroup, one can consider random isotopic images (choosing three random permutations); in this way one can sample the isotopy class.

Definition in file Enumeration.hpp.