A309344 a(n) is the number of distinct numbers of transversals of order n Latin squares.
1, 1, 1, 2, 2, 4, 36, 74
Offset: 1
Examples
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.
Links
- Brendan McKay, Combinatorial Data.
- Eduard I. Vatutin, Graphical representation of the spectra.
- Eduard I. Vatutin, Proving lists (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12).
- E. I. Vatutin, N. N. Nikitina, M. O. Manzuk, I. I. Kurochkin, A. M. Albertyan, On the number of transversals in diagonal Latin squares of even orders (in Russian), Cloud and distributed computing systems, within the National supercomputing forum (NSCF - 2023). Pereslavl-Zalessky, 2023. pp. 101-105.
- Index entries for sequences related to Latin squares and rectangles.
Crossrefs
Programs
-
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
Comments