Safe Haskell | None |
---|---|

Language | Haskell98 |

## Synopsis

- findLatinSqs :: Eq a => [a] -> [[[a]]]
- isLatinSq :: Ord a => [[a]] -> Bool
- isOneOfEach :: Ord a => [a] -> Bool
- incidenceGraphLS :: Ord c => [[c]] -> Graph (Int, Int, c)
- incidenceGraphLS' :: Eq a => [[a]] -> Graph (Int, Int)
- isOrthogonal :: (Ord a, Ord b) => [[a]] -> [[b]] -> Bool
- findMOLS :: (Num t, Ord a, Eq t) => t -> [[[a]]] -> [[[[a]]]]
- isMOLS :: Ord a => [[[a]]] -> Bool
- fromProjectivePlane :: (Ord k, Num k) => Design [k] -> [[[Int]]]
- isOA :: Ord b => (Int, Int) -> [[b]] -> Bool
- fromLS :: Foldable t => t [Int] -> [[Int]]
- fromMOLS :: Foldable t => [t [Int]] -> [[Int]]
- graphOA :: Ord a => [[a]] -> Graph [a]
- srgParamsOA :: Num d => (d, d) -> Maybe (d, d, d, d)

# Documentation

findLatinSqs :: Eq a => [a] -> [[[a]]] Source #

isOneOfEach :: Ord a => [a] -> Bool Source #

isOrthogonal :: (Ord a, Ord b) => [[a]] -> [[b]] -> Bool Source #

Are the two latin squares orthogonal?

isMOLS :: Ord a => [[[a]]] -> Bool Source #

Are the latin squares mutually orthogonal (ie each pair is orthogonal)?

fromProjectivePlane :: (Ord k, Num k) => Design [k] -> [[[Int]]] Source #

MOLS from a projective plane

srgParamsOA :: Num d => (d, d) -> Maybe (d, d, d, d) Source #