OKlibrary  0.2.1.6
general.hpp File Reference

On investigations regarding latin squares and variations. More...

Go to the source code of this file.

## Detailed Description

On investigations regarding latin squares and variations.

Todo:
Strictly pandiagonal latin squares
Todo:
Counting the number of n-jective relations
• Let mj_n(m) be the number of n-jective relations on a set with m elements ("mj" like "multijection").
• See (currently) "Module ComputerAlgebra/Sets" in ComputerAlgebra/plans/general.hpp.
• So mj_0(m) = 2, mj_1(m) = m and mj_2(m) = m!, while mj_3(m) is the (total) number of latin squares (quasigroups) of order n.
• Conjecture: mj_k(3) = 3 * 2^(k-1) for k >= 1 (verified for k <= 5).
1. The formula works also for k=0 if ceil is used.
2. Alternatively, one can use recursion a(n) = 2 * a(n-1) with initial values a(0) = 2 and a(1) = 3.
3. This sequence is 2,3,6,12,24,48, ...
4. Identical with A042950.
• mj_k(4) : 2,4,24,576 (k=0,1,2,3)
1. eis_search yields ["A000336","A071302"].
2. A000336 is the function f: NN -> NN, f(n) = n for n <= 4, while f(n) = f(n-1) * f(n-2) * f(n-3) * f(n-4) for n >= 5.
3. This yields 1, 2, 3, 4, 24, 576, 165888.
4. A071302 is 1/2 * (number of square matrices M of order n over ZZ_3 such that M * M^t = Id).
5. This yields 1, 4, 24, 576, 51840.
6. The function allnjective_rel(M,n) won't be able to compute the next term allnjective_rel(setn(4),4), since the number of injections is roughly 109 * 10^12.
7. But with a C++ implementation, which runs through the injections one by one, we can compute it.
Todo:
Isomorphismen
• We should investigate the isotopism classes of the set of n-jective relations, that is, for k-ary relations we allow k bijections (for each place one.
• We should also investigate parastrophisms, that is, the k! permutations of the places of the relations.
• And, of course, also ordinary isomorphisms, that is, having the k isotopism-bijections all equal.

Definition in file general.hpp.