This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A308853 #49 Feb 16 2025 08:33:55 %S A308853 1,3,18,80,75,126,196,144,405 %N A308853 a(n) is the minimum absolute value of nonzero determinants of order n Latin squares. %C A308853 We apply every symbol permutation on the representatives of isotopic classes to generate Latin squares of order n and calculate the determinants. %C A308853 These results are based upon work supported by the National Science Foundation under the grants numbered DMS-1852378 and DMS-1560019. %H A308853 Brendan McKay, <a href="https://users.cecs.anu.edu.au/~bdm/data/latin.html">Latin squares</a> %H A308853 Hugo Pfoertner, <a href="http://www.randomwalk.de/sequences/a309258.zip">Occurrence counts of determinant values for n=1..8</a>, zipped (2019). %H A308853 Eric Weisstein's World of Mathematics, <a href="https://mathworld.wolfram.com/LatinSquare.html">Latin square</a> %H A308853 Wikipedia, <a href="https://en.wikipedia.org/wiki/Latin_square">Latin square</a> %H A308853 <a href="/index/De#determinants">Index entries for sequences related to determinants</a> %e A308853 For n=2, the only Latin squares of order 2 are [[1, 2], [2, 1]] and [[2, 1], [1, 2]]. Therefore, the minimum absolute value of the determinants of order 2 Latin squares is 3. %o A308853 (Sage) %o A308853 # Takes a string and turns it into a square matrix of order n %o A308853 def make_matrix(string,n): %o A308853 m = [] %o A308853 row = [] %o A308853 for i in range(0,n * n): %o A308853 if string[i] == '\n': %o A308853 continue %o A308853 if string[i] == ' ': %o A308853 continue %o A308853 row.append(Integer(string[i]) + 1) %o A308853 if len(row) == n: %o A308853 m.append(row) %o A308853 row = [] %o A308853 return matrix(m) %o A308853 # Reads a file and returns a list of the matrices in the file %o A308853 def fetch_matrices(file_name,n): %o A308853 matrices = [] %o A308853 with open(file_name) as f: %o A308853 L = f.readlines() %o A308853 for i in L: %o A308853 matrices.append(make_matrix(i,n)) %o A308853 return matrices %o A308853 # Takes a matrix and permutates each symbol in the matrix %o A308853 # with the given permutation %o A308853 def permute_matrix(matrix, permutation,n): %o A308853 copy = deepcopy(matrix) %o A308853 for i in range(0, n): %o A308853 for j in range(0 , n): %o A308853 copy[i,j] = permutation[copy[i][j] - 1] %o A308853 return copy %o A308853 """ %o A308853 Creates a determinant list with the following triples, %o A308853 [Isotopy Class Representative, Permutation, Determinant] %o A308853 The Isotopy class representatives come from a file that %o A308853 contains all Isotopy classes. %o A308853 """ %o A308853 def create_determinant_list(file_name,n): %o A308853 the_list = [] %o A308853 permu = (Permutations(n)).list() %o A308853 matrices = fetch_matrices(file_name,n) %o A308853 for i in range(0,len(matrices)): %o A308853 for j in permu: %o A308853 copy = permute_matrix(matrices[i],j,n) %o A308853 the_list.append([i,j,copy.determinant()]) %o A308853 print(len(the_list)) %o A308853 return the_list %o A308853 # _Froylan Maldonado_, Jun 28 2019 %Y A308853 Cf. A040082, A301371 (upper bound for maximum determinant of Latin squares of order n), A309258, A309984, A309985. %K A308853 nonn,more,hard %O A308853 1,2 %A A308853 _Alvaro R. Belmonte_, _Eugene Fiorini_, _Peterson Lenard_, _Froylan Maldonado_, _Sabrina Traver_, _Wing Hong Tony Wong_, Jun 28 2019 %E A308853 a(8) from _Hugo Pfoertner_, Aug 24 2019 %E A308853 a(9) from _Hugo Pfoertner_, Aug 27 2019