Latin Squares
Project Description
*******************
Program LatinSquares makes small order Latin squares, LS, and diagonal Latin squares, DLS, of various types:
LS: LS, axial symmetric, double axial symmetric, center symmetric,
orthogonal, self-orthogonal, natural order first row and first column, self-transpose
DLS: DLS, axial symmetric, double axial symmetric, center symmetric,
orthogonal, self-orthogonal, associative, pandiagonal
Here LS exclude DLS, and axial symmetric exclude double axial symmetric.
All squares, except associative and pandiagonal, are made with natural order first row,
(NFR), 0 1 2 ... n-1. Associative are natural order \diagonal. For DLS, the center
symmetric squares equate to the NFR permutation of the associative squares.
Symmetric means that there is one-to-one correspondence between all opposite pairs of
elements. Axial symmetric means opposite in each row or in each column. Double axial
symmetric means opposite in each row and in each column.
Orthogonal refers to two adjacent squares.
Self-transpose means that the LS is equal to its transpose, (symmetric matrix).
Some weakly pandiagonal are Latin squares; some are diagonal Latin.
Output files are in folder LS[_n].
Program LatinSquaresLT uses "Constraint-Based Local Search" and "Tabu Search" techniques to make
Latin squares and diagonal Latin squares including associative and pandiagonal.
Pandiagonal succeeds only for small orders. The output file is <N>x<N><square type>[_n].txt.
See http://budshaw.ca/LatinSquares.html
http://budshaw.ca/addenda/LSnotes.html
http://budshaw.ca/Download.html#Latin
http://budshaw.ca/Download.html#gettype
http://budshaw.ca/addenda/downloadNotes.html#gettypenotes
http://budshaw.ca/Download.html#copybytype
http://budshaw.ca/addenda/downloadNotes.html#copybytypenotes
Release Description
*******************
This release contains the source code and binaries for Windows.
Changes:
********
2019-01-24: Add pandiagonal.
2019-02-10: Add LatinSquaresLT