login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A309344
a(n) is the number of distinct numbers of transversals of order n Latin squares.
5
1, 1, 1, 2, 2, 4, 36, 74
OFFSET
1,4
COMMENTS
We found all transversals in the main class Latin square representatives of order n.
These results are based upon work supported by the National Science Foundation under the grants numbered DMS-1852378 and DMS-1560019.
EXAMPLE
For n=7, the number of transversals that an order 7 Latin square may have is 3, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 41, 43, 45, 47, 55, 63, or 133. Hence there are 36 distinct numbers of transversals of order 7 Latin squares, so a(7)=36.
PROG
(MATLAB)
%This extracts entries from each column. For an example, if
%A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16], and if list = (2, 1, 4),
%this code extracts the second element in the first column, the first
%element in the second column, and the fourth element in the third column.
function [output] = extract(matrix, list)
for i=1:length(list)
output(i) = matrix(list(i), i);
end
end
%Searches matrix to find transversal and outputs the transversal.
function [output] = findtransversal(matrix)
n=length(matrix);
for i=1:n
partialtransversal(i, 1)=i;
end
for i=2:n
newpartialtransversal=[];
for j=1:length(partialtransversal)
for k=1:n
if (~ismember(k, partialtransversal(j, :)))&(~ismember(matrix(k, i), extract(matrix, partialtransversal(j, :))))
newpartialtransversal=[newpartialtransversal; [partialtransversal(j, :), k]];
end
end
end
partialtransversal=newpartialtransversal;
end
output=partialtransversal;
end
%Takes input of n^2 numbers with no spaces between them and converts it
%into an n by n matrix.
function [A] = tomatrix(input)
n=sqrt(floor(log10(input))+2);
for i=1:n^2
temp(i)=mod(floor(input/(10^(i-1))), 10);
end
for i=1:n
for j=1:n
A(i, j)=temp(n^2+1-(n*(i-1)+j));
end
end
A=A+ones(n);
end
CROSSREFS
Cf. A003090, A090741 (maximum number), A091323 (minimum number), A301371, A308853, A309088, A344105 (version for diagonal Latin squares).
Sequence in context: A327011 A300361 A257617 * A257618 A088895 A257619
KEYWORD
nonn,hard,more
STATUS
approved