RosettaCodeData/Task/Random-Latin-squares/Mathematica/random-latin-squares.math

10 lines
240 B
Plaintext

Clear[RandomLatinSquare]
RandomLatinSquare[n_] := Module[{out, ord},
out = Table[RotateLeft[Range[n], i], {i, n}];
out = RandomSample[out];
ord = RandomSample[Range[n]];
out = out[[All, ord]];
out
]
RandomLatinSquare[5] // Grid