0% found this document useful (0 votes)
6 views13 pages

Kokkala 2014

This document discusses the classification of one-error-correcting maximum distance separable (MDS) codes, particularly focusing on (5, q^3, 3)q codes that correspond to Graeco-Latin cubes. The authors present findings on the uniqueness and equivalence classes of these codes for small alphabets, specifically identifying unique codes for q = 5 and q = 7, and 12,484 equivalence classes for q = 8. The paper also outlines the connections between MDS codes and various combinatorial designs, including Latin squares and hypercubes.

Uploaded by

sakshidas900
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views13 pages

Kokkala 2014

This document discusses the classification of one-error-correcting maximum distance separable (MDS) codes, particularly focusing on (5, q^3, 3)q codes that correspond to Graeco-Latin cubes. The authors present findings on the uniqueness and equivalence classes of these codes for small alphabets, specifically identifying unique codes for q = 5 and q = 7, and 12,484 equivalence classes for q = 8. The paper also outlines the connections between MDS codes and various combinatorial designs, including Latin squares and hypercubes.

Uploaded by

sakshidas900
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Classification of Graeco-Latin Cubes

Janne I. Kokkala and Patric R. J. Östergård


Department of Communications and Networking, Aalto University School of
Electrical Engineering, P.O. Box 13000, 00076 Aalto, Finland, E-mail:
janne.kokkala@aalto.fi, patric.ostergard@aalto.fi

Received March 05, 2014; revised May 20, 2014

Published online 27 June 2014 in Wiley Online Library (wileyonlinelibrary.com).


DOI 10.1002/jcd.21400

Abstract: A q-ary code of length n, size M, and minimum distance d is called an (n, M, d)q
code. An (n, q k , d)q code with d = n − k + 1 is said to be maximum distance separable (MDS).
Here one-error-correcting (d = 3) MDS codes are classified for small alphabets. In particular,
it is shown that there are unique (5, 53 , 3)5 and (5, 73 , 3)7 codes and 12,484 equivalence classes
of (5, 83 , 3)8 codes. The (5, q 3 , 3)q codes are equivalent to certain pairs of mutually orthogonal
Latin cubes of order q, called Graeco-Latin cubes. © 2014 Wiley Periodicals, Inc. J. Combin.
Designs 23: 509–521, 2015

Keywords: Latin square; MOLS; Graeco-Latin cube; MDS code; classification

1. INTRODUCTION

A q-ary code of length n consists of a set of codewords that form a subset of the words
in Znq . The Hamming distance between two words is the number of coordinates in which
they differ. The minimum distance of a code is the smallest mutual distance between any
two distinct codewords. A q-ary code of length n, size M, and minimum distance d is
called an (n, M, d)q code. A code with the largest possible value of M for given values
of n, d, and q is said to be optimal. An (n, M, d)q code is able to detect errors in up to
d − 1 coordinates and correct errors in up to (d − 1)/2 coordinates.
A general upper bound for the size of an (n, M, d)q code is the Singleton bound,
M ≤ q n−d+1 ; see [34] and [18, Sect. 17.4]. The Singleton bound is easily proved by
the facts that M ≤ q for (d, M, d)q codes and that the existence of an (n, M, d)q code
implies the existence of an (n − 1, M/q, d)q code. Codes meeting the Singleton bound
are called maximum distance separable (MDS) [18, Chapter 11].

Contract grant sponsor: Academy of Finland; contract grant number: 132122; contract grant sponsor: Aalto ELEC
Doctoral School.
Contract grant sponsor: Academy of Finland; contract grant number: 132122.

Journal of Combinatorial Designs


© 2014 Wiley Periodicals, Inc. 509
510 KOKKALA AND ÖSTERGÅRD

The Hamming bound states for one-error-correcting codes, that is, codes with d = 3,
that

qn
M≤ .
1 + n(q − 1)

Codes attaining this bound are said to be perfect. Linear

m
−1)/(q−1)−m
((q m − 1)/(q − 1), q (q , 3)q , m≥2

codes, called Hamming codes, are perfect and exist for every prime power q. For m = 2,
we get (q + 1, q q−1 , 3)q MDS codes, which can further be shortened to get optimal
(n, q n−2 , 3)q codes for 3 ≤ n ≤ q + 1.
Two codes are said to be equivalent if there is a permutation of the coordinates
and permutations of the coordinate values, separately for each coordinate, that map the
codewords of one code onto the codewords of the other. We use the notation C ∼ = C to
denote that two codes, C and C , are equivalent.
A common question in coding theory is whether codes with given parameters exist.
Whenever that question can be answered in the positive, one may further classify the
corresponding codes up to equivalence. The (15, 211 , 3)2 perfect codes were classified
in [30]. After that work was completed, it was natural to think about the classification
of perfect codes over larger alphabets, in particular, (q + 1, q q−1 , 3)q MDS codes. The
current work is one step in that direction, along the ideas of [15], which presents an
alternative approach for classifying the (15, 211 , 3)2 codes.
The following is known about short optimal (n, q n−2 , 3)q MDS codes, which have
the parameters of subcodes of (q + 1, q q−1 , 3)q perfect codes. The (3, q, 3)q codes are
unique, and the (4, q 2 , 3)q codes correspond to pairs of mutually orthogonal Latin squares
of order q, which have been classified for q ≤ 8 (these will be further discussed in
Section 2.1). In this work, we focus on the classification of (5, q 3 , 3)q codes, which
furthermore correspond to a class of combinatorial structures termed Graeco-Latin cubes
by Silverman [33].
The Hamming bound implies that (5, q 3 , 3)q codes do not exist for q < 4. The perfect
(5, 43 , 3)4 code is unique, which was proved by Alderson [2] via the more general result
that the (6, 43 , 4)4 code is unique. The nonexistence of (5, 63 , 3)6 codes follows from the
nonexistence of (4, 62 , 3)6 codes, proved already in 1900 by Tarry [36]. The cases q = 5,
q = 7, and q = 8 are settled here: there are 1, 1, and 12,484 equivalence classes of such
codes, respectively.
The paper is organized as follows. In Section 2, we first discuss the equivalence of
MDS codes and various types of combinatorial designs and the terminology of Latin
hypercubes and then consider basic properties of MDS codes that are needed later.
Indeed, the results obtained in this paper could also be stated in terms of various other
types of combinatorial structures. The main reason for using codes is the convenience
of dealing with equivalence in that framework. In Section 3, we present an approach for
classifying MDS codes. This approach is applied to the case of (5, q 3 , 3)q MDS codes
with q = 5, q = 7, and q = 8, the results for which are presented in Section 4. Validation
of these computational results is also discussed.

Journal of Combinatorial Designs DOI 10.1002/jcd


CLASSIFICATION OF GRAECO-LATIN CUBES 511

2. PRELIMINARIES

2.1. MDS Codes and Combinatorial Designs


We shall here briefly discuss the connection between MDS codes and various types of
combinatorial designs. These connections are well known; further discussions can be
found in the given references and in various other papers such as [9, 35].
An orthogonal array of degree n, order q, and strength t—denoted by OA(N, n, q, t)
or OAλ (t, n, q)—is an n × N array with entries from Zq having the property that in every
t × N submatrix, every t × 1 column vector appears the same number λ = N/q t times.
No two codewords of an (n, q k , n − k + 1)q MDS code agree in k coordinates, so there
is exactly one codeword for each k-tuple of symbols at k given coordinates. Thus, an
(n, q k , n − k + 1)q MDS code is equivalent to an OA1 (k, n, q).
A Latin square of order q is a q × q array with elements from Zq such that each
value occurs exactly once in each row and column. Two Latin squares L1 and L2 are
mutually orthogonal if (L1 (x, y), L2 (x, y)) = (s1 , s2 ) has exactly one solution for each
(s1 , s2 ) ∈ Z2q . The square obtained by superimposing two mutually orthogonal Latin
squares (MOLS) to get entries with pairs of elements is called a Graeco-Latin square.
Based on the properties of Latin squares and Graeco-Latin squares, one can see that these
exist if and only if, respectively, (3, q 2 , 2)q and (4, q 2 , 3)q MDS codes exist. For example,
in the latter case let (x, y, a, b) be a codeword if and only if (L1 (x, y), L2 (x, y)) = (a, b).
Consider two Latin squares, L1 and L2 , both of order q. The squares L1 and L2 are
called isotopic if L1 can be transformed into L2 by permuting rows, columns and symbols
independently. Moreover, L2 is said to be a conjugate of L1 if the set {(x, y, L2 (x, y))}
can be obtained from the set {(x, y, L1 (x, y))} by applying a single permutation to each
triple. The squares L1 and L2 are called paratopic if L1 is isotopic to a conjugate of L2 .
It follows that L1 and L2 are paratopic exactly when the corresponding (3, q 2 , 2)q MDS
codes are equivalent. The classes of paratopic squares are called main classes.
Analogously, two Graeco-Latin squares are paratopic if the corresponding (4, q 2 , 3)q
MDS codes are equivalent, and the classes of paratopic Graeco-Latin squares are called
main classes. For a survey of Latin squares and MOLS (and thereby Graeco-Latin
squares), see [5] and [1], respectively.
In this work, we consider one of the most restrictive definitions of Latin hypercubes,
also used, for example, in [3, 33] for dimension 3 and in [4, 6, 8, 16, 25] for arbitrary
dimensions. A Latin hypercube of order q and dimension n is a q × q × · · · × q (n times)
array with elements from Zq , such that when any n − 1 coordinates are fixed, each element
in Zq occurs exactly once. Such hypercubes are sometimes called permutation cubes [7,
Sect. 5.4], but note that there is some ambiguity in this term [8, 25]. A classification of
small Latin hypercubes was carried out in [25].
We say that two Latin hypercubes are orthogonal if fixing any n − 2 coordinates gives
a Graeco-Latin square when the hypercubes are superimposed. With these definitions,
a Latin hypercube of dimension n is equivalent to an (n + 1, q n , 2)q MDS code and a
pair of orthogonal Latin hypercubes is equivalent to an (n + 2, q n , 3)q MDS code. Of
particular interest in the current work are pairs of orthogonal Latin cubes, which have
dimension 3 and are equivalent to (5, q 3 , 3)q codes; these are called Graeco-Latin cubes
by Silverman [33]. The earlier definitions of paratopic structures (and main classes)
extend naturally to Graeco-Latin cubes and further to orthogonal Latin hypercubes of
arbitrary dimensions.

Journal of Combinatorial Designs DOI 10.1002/jcd


512 KOKKALA AND ÖSTERGÅRD

There exist also other generalizations of Latin squares and orthogonality to higher
dimensions, and consequently different definitions of Graeco-Latin (hyper)cubes.
Kishen [14] defines a q-sided n-fold Latin hypercube of rth order to be a q × q × · · · × q
(n times) array with elements from an alphabet of size q r such that each element occurs
exactly q n−r−1 times when any single coordinate is fixed. Kishen calls two such Latin
hypercubes Graeco-Latin if they are orthogonal in the sense that every pair of elements
occurs exactly q n−2r times when the hypercubes are superimposed. Other definitions of
hypercubes and orthogonality are given, for example, in [10, 11, 17, 19, 26, 32, 38].

2.2. Code Equivalence


For codes in Znq , the operations considered in the definition of equivalent codes (see the
Introduction) form a group G of order |G| = (n!)(q!)n under composition. An element
of G that maps a code onto itself is an automorphism, and all automorphisms of a code
C form the automorphism group of the code, Aut(C).
In order to handle (computational) problems related to code equivalence, we transform
these into problems of graph isomorphism by representing codes as graphs [29]. For
each coordinate, the graph contains a complete graph of order q, Kq , where each vertex
corresponds to a value in that coordinate. For each codeword, there is a vertex that is
adjacent to the vertex v of the ith copy of Kq if and only if the word has value v in
coordinate i. The graph is colored using one color for the words and another for the
vertices corresponding to coordinate–value pairs.
Two codes are now equivalent if and only if their corresponding graphs are isomorphic
and equal if and only if the corresponding labeled graphs are equal up to the labeling
of the vertices corresponding to words. We use nauty [23] for all these computations.
A comparison of nauty and other graph isomorphism software was recently carried out
in [24].

2.3. Some Definitions and Properties of Codes


Three operations carried out on codes in the sequel are puncturing, where a coordinate is
deleted, shortening, where a coordinate is deleted and only the codewords with a given
value in that coordinate are retained, and extending, where a coordinate is added. We need
some notation to be precise about how these operations are carried out. The coordinates
of an n-dimensional space are numbered from 1 to n.

Definition 2.1. When puncturing a code C, let p(C, i) denote the code obtained by
deleting the coordinate i. When shortening C, let s(C, i, v) denote the code obtained
by deleting coordinate i and retaining the words with value v in that coordinate. When
extending C, let e(C, i, v) denote the code obtained by adding a coordinate i with value
v in each word, such that s(e(C, i, v), i, v) = C.

The following basic fact is central in our approach.

Theorem 2.2. Puncturing or shortening an MDS code gives an MDS code.

Journal of Combinatorial Designs DOI 10.1002/jcd


CLASSIFICATION OF GRAECO-LATIN CUBES 513

3. ALGORITHM FOR EXHAUSTIVE GENERATION

The general approach of the current work is to fix q and, starting from the (3, q 2 , 2)q
codes, first classify the (4, q 2 , 3) codes and then the (5, q 3 , 3)q codes. In design-theoretic
terms, starting from the Latin squares of order q, first the Graeco-Latin squares of order
q are classified and finally the Graeco-Latin cubes.

3.1. Classification of (4, q2 , 3)q Codes


There are 1, 1, 1, 2, 2, 12, 147, and 283,657 main classes of Latin squares of orders
1–8; see [5, 13], and [21]. The last two references provide these squares in electronic
format. The equivalence classes of (4, q 3 , 3)q codes with q ≤ 8 are listed in the form of
Graeco-Latin squares in [21]; for completeness and validation, a classification of these
structures is considered here.
Shortening a (4, q 2 , 3)q code C with respect to any value in a given coordinate gives
a (3, q, 3)q code. Consequently, when we add a new coordinate to a (3, q 2 , 2)q code C
to produce a (4, q 2 , 3)q code, we are essentially partitioning the codewords of C into q
(3, q, 3)q codes. The extension process can then be divided into two steps: finding all
(3, q, 3)q codes within C and finding all partitions of C into such codes.
The outlined approach is well known in the framework of finding mutually orthogonal
Latin squares: first the transversals of a Latin square are extracted after which the Latin
square is partitioned into disjoint transversals. This idea was used already by Parker [31]
in the early 1960s and has later been used in several studies, including [20, 22].
A discussion of related computational algorithms can be found in [28]. In particular,
the mentioned subproblems can be formulated within the framework of exact cover [13,
Sect. 5.2]. That approach is taken here, and libexact [12] is used to solve the instances.
Finally, isomorph rejection is carried out among the (4, q 2 , 3)q codes obtained. Due to
the small number of equivalence classes of codes for the parameters considered, this is
computationally a straightforward task [13, Chapter 4].

3.2. Classification of (5, q3 , 3)q Codes


We next classify the (5, q 3 , 3)q codes starting from the set of (4, q 2 , 3)q codes. Throughout
this work, we let Ĉ1 , Ĉ2 , · · · , ĈN be fixed representatives of the equivalence classes of
(4, q 2 , 3)q codes, all of which contain the codeword 0000.
Definition 3.1. Let φ be a function from the set of (4, q 2 , 3)q codes to {1, 2, . . . , N }
such that for a (4, q 2 , 3)q code C, φ(C) = k iff C ∼
= Ĉk .
Definition 3.2. Let i be the set of the words in Z5q that have a 0 in their ith coordinate,

1 ≤ i ≤ 5. Let 0 = 5i=1 i , that is, 0 is the set of words in Z5q with at least one 0.
The (5, q 3 , 3)q codes are constructed from the (4, q 2 , 3)q codes in a two-stage approach.
In the first stage, certain (5, M, 3)q codes are classified, which form the seeds for the
final stage. Specifically, the seeds form a subset of the codes with q 2 0s in all five
coordinates. For every (4, q 2 , 3)q code Ĉk , a new coordinate with q 2 0s is added, after
which codewords are added to get the desired number of 0s in each coordinate. A seed
can be shortened to a (4, q 2 , 3) code in five different ways. In the precise definition of a
seed, we take this into account to avoid an abundance of equivalent codes.

Journal of Combinatorial Designs DOI 10.1002/jcd


514 KOKKALA AND ÖSTERGÅRD

Definition 3.3. A k-seed is a (5, M, 3)q code C = e(Ĉk , 1, 0) ∪ e(C2 , 2, 0) ∪ · · · ∪


e(C5 , 5, 0), where the codes Ci , 2 ≤ i ≤ 5 are (4, q 2 , 3)q codes such that φ(Ci ) ≥ k.
It is important to notice that the sets of seeds obtained depend on the precise represen-
tatives Ĉk (the particularized all-zero word is crucial). The number of seeds reported in
the current work might therefore differ from the number obtained in repeated studies.
In the second stage, the classified seeds are augmented to (5, q 3 , 3)q codes. Isomorph
rejection can then be carried out to get a transversal of the equivalence classes of (5, q 3 , 3)q
codes. Let us finally argue why representatives from all equivalence classes of (5, q 3 , 3)q
codes are obtained from the seeds. An arbitrary (5, q 3 , 3)q code C can be shortened
in qn ways to (4, q 2 , 3)q subcodes. Let C be the family of those subcodes, let k =
minC ∈C φ(C ), and pick C ∈ C so that φ(C ) = k. Now C is equivalent to Ĉk , where
equivalence maps a word c ∈ C (coming from c ∈ C when shortening) to the all-zero
word in Ĉk . By definition, the word c ∈ C together with all words in C that agree with c
in at least one coordinate are equivalent to a k-seed.
We shall now have a look at the details of the two stages.

3.2.1. Generating Seeds


A seed is generated stepwise from a (4, q 2 , 3)q code. We here introduce the concept of
subseeds.
 
Definition 3.4. A k-subseed is a (5, M, 3)q code C = e(Ĉk , 1, 0) ∪ i∈I e(Ci , i, 0) ,
where I ⊆ {2, 3, 4, 5} and the codes Ci , 2 ≤ i ≤ 5 are (4, q 2 , 3)q codes such that
φ(Ci ) ≥ k.
When considering subseeds in the sequel, I is assumed to have the same meaning as
in Definition 3.4. Note that the word 00000 belongs to any subseed because 0000 ∈ Ĉk
for each admissible k. From this fact and the properties of MDS codes, we immediately
get the following.
Theorem 3.5.
1. A subseed C has either |C ∩ i | = q 2 (if i ∈ I ∪ {1}) or |C ∩ i | = q + |I |(q − 1)
for 1 ≤ i ≤ 5.
2. A subseed C has either |C ∩ i ∩ j | = q (if i ∈ I ∪ {1} or j ∈ I ∪ {1}) or |C ∩
i ∩ j | = 1 for 1 ≤ i < j ≤ 5.
3. A subseed C has |C ∩ i ∩ j ∩ k | = 1 for 1 ≤ i < j < k ≤ 5.
4. A subseed C has |C ∩ i ∩ j ∩ k ∩ l | = 1 for 1 ≤ i < j < k < l ≤ 5.
Theorem 3.6. The size of a subseed C is a function of q and |I |, such that
1. |C| = q 2 , if |I | = 0,
2. |C| = 2q 2 − q, if |I | = 1,
3. |C| = 3q 2 − 3q + 1, if |I | = 2,
4. |C| = 4q 2 − 6q + 3, if |I | = 3, and
5. |C| = 5q 2 − 10q + 6, if |I | = 4.
Proof. Follows from Theorem 3.5 and the use of the inclusion–exclusion principle. 
For seeds, the fixed value 0 is central in many definitions. When considering equiva-
lence of seeds, it is therefore important to know whether there could be an equivalence
between such codes where the value 0 is mapped to some other value. The following

Journal of Combinatorial Designs DOI 10.1002/jcd


CLASSIFICATION OF GRAECO-LATIN CUBES 515

lemma, however, shows that this is not the case as no other value occurs q 2 times in a
coordinate.
Lemma 3.7. Let C be a seed. If q ≥ 5, then |s(C, i, v)| < q 2 for all i and v > 0.
Proof. Let C = e(C1 , 1, 0) ∪ e(C2 , 2, 0) ∪ · · · ∪ e(C5 , 5, 0). Now


5
|s(C, i, v)| = |{w ∈ C : wi = v}| ≤ |{w ∈ e(Cj , j, 0) : wi = v}|
j =1


5 
5
= |{w ∈ e(Cj , j, 0) : wi = v}| = q = 4q < q 2 . 
j =1 j =1
j = i j = i

For each k, our aim is now to obtain a set of representatives Sk from all equiva-
lence classes of k-seeds. To this aim, we first generate, for i = 2, 3, 4, 5, the sets S1,i k

of k-subseeds of the form e(Ĉk , 1, 0) ∪ e(C, i, 0), up to a permutation of the values


1, 2, . . . , q − 1 in the first coordinate, and then proceed on constructing Sk by finding all
possible unions of these codes.
We generate the set S1,i k
as follows. We loop over all l ∈ {k, k + 1, . . . , N}, all permu-
tations π0 of {1, 2, 3, 4}, all permutations π1 of Zq that only swap 0 and v ∈ Zq , and all
permutations π2 of Zq . In each step, we obtain a code C from Ĉl by first permuting the
coordinates using π0 and then permuting the values in the first and second coordinate
using π1 and π2 , respectively. Next, we obtain a code C from C by permuting the values
of the two remaining coordinates using the permutations that are uniquely determined
by the condition e(Ĉk , 1, 0) ∩ i = e(C, i, 0) ∩ 1 . Finally, we check whether the code
e(Ĉk , 1, 0) ∪ e(C, i, 0) has minimum distance at least 3 and in that case add the code to
k
the set S1,i .
In the next part, we generate, for each code C ∈ S1,2 k
, the k-seeds that have C as a
subcode. We start by generating, for i = 3, 4, 5, the sets SC,1,2,i k
of all k-subseeds of
the form C ∪ e(C , i, 0), as follows. For each B ∈ S1,i , we compare the words in B
k

and C that have 0s in coordinates 2 and i, that is, the q words in B ∩ 2 ∩ i and
C ∩ 2 ∩ i . If possible, we permute the first coordinate of B to get a code B such that
B ∩ 2 ∩ i = C ∩ 2 ∩ i and add B ∪ C into SC,1,2,i k
if its minimum distance is at
k
least 3. Once the sets SC,1,2,i for that C have been generated, we go through every pair
(A, B) ∈ SC,1,2,3
k
× SC,1,2,4
k
and add A ∪ B into the set SC,1,2,3,4
k
if its minimum distance
is at least 3. Last, we go through every pair (A, B) ∈ SC,1,2,3,4 × SC,1,2,5
k k
and add A ∪ B
into a set S̃k if its minimum distance is at least 3. Finally, isomorph rejection on S˜k is
carried out using nauty to get Sk .
We define S = k Sk .

3.2.1.1. Implementation Details


When generating the set S1,ik
, for a given l, the steps where (π0 (j0 ), π1 (v0 )) = (1, 0) yield
the same codes (up to a permutation of the values 1, 2, . . . , q − 1 in the first coordinate)
as the steps where (π0 (j1 ), π1 (v1 )) = (1, 0) if there is an automorphism of Ĉl that maps

Journal of Combinatorial Designs DOI 10.1002/jcd


516 KOKKALA AND ÖSTERGÅRD

the coordinate–value pair (j0 , v0 ) to (j1 , v1 ). Therefore, it is enough to consider only the
sets (π0 , π1 , π2 ) of permutations for which the coordinate–value pair (π0−1 (1), π1−1 (0)) is
the (arbitrarily chosen) representative of its orbit in the automorphism group of Ĉl . For
further speedup, the codes Ĉ1 , Ĉ2 , . . . , ĈN are initially sorted in the order of increasing
size of the automorphism group.
In addition, it turns out that for some values of k, |SC,1,2,3,4
k
| = 0 for all C. Therefore
k k
the search can be made faster by delaying the generation of S1,5 and SC,1,2,5 until all
k
sets SC,1,2,3,4 for that k have been generated and skipping the generation completely if
|SC,1,2,3,4
k
| = 0 for all C.
The number of steps in the last phases could be reduced by removing equivalent codes
k
from S1,2 but it turns out that in our implementation for q = 8, the time used for canonical
labeling with nauty would be longer than the speedup obtained by having fewer steps.

3.2.2. Augmenting Seeds


Also the augmentation of a code C ∈ S to (5, q 3 , 3)q codes is carried out in several steps,
where in each step only codewords that have value v in coordinate i for some pair (i, v)
are added (with different pairs in different steps). By Theorem 2.2, we know the number
of codewords to be added. This search is carried out in an exhaustive manner, and every
code with size q 3 is saved.
The search in each of the aforementioned steps can be formulated as a clique finding
problem in the following graph. For each admissible word w ∈ Znq (defined as a word
having value v in coordinate i), we add one vertex if the distance from w to any codeword
in C is at least d. We further insert edges between vertices whenever the corresponding
words have a mutual distance of at least d. A clique in the graph now corresponds to a
set of words that can be added to C while maintaining the minimum distance d. We used
the program Cliquer [27] for the exhaustive search of cliques.
Finally, we carry out isomorph rejection among all (5, q 3 , 3)q codes obtained and
denote a set of representatives of the equivalence classes of such codes by C.

3.2.2.1. Implementation Details


The pair (i, v) can be chosen arbitrarily in each step as long as the resulting graph is
nonempty, but the running time of Cliquer depends significantly on the choice of (i, v).
In each step of the backtrack search, we make the choice of (i, v) by trial and error as
follows. We loop over possible choices of (i, v) and run a clique search with that selection
of (i, v). If the clique search terminates before a chosen time limit, the step is completed.
On the other hand, if the clique search does not terminate, we interrupt it and try the
next pair (i, v). If none of the choices lead to a successful run, we repeat the step with an
increased time limit. This approach turned out to be much faster than using a fixed order
of pairs (i, v) or even using the size of the cliques to be found as a heuristic.

4. CLASSIFICATION RESULTS

The computations were carried out in a cluster consisting of 16 nodes of two 8-core Intel
Xeon E5-2665 CPUs each. The reported CPU times concern a core of such a processor.
The isomorph rejections using nauty took only a few hours at most and do not form

Journal of Combinatorial Designs DOI 10.1002/jcd


CLASSIFICATION OF GRAECO-LATIN CUBES 517

TABLE I. The number of equivalence classes of (4, 82 , 3)8 codes.

|Aut(C)| # |Aut(C)| # |Aut(C)| #

1 434 12 7 84 1
2 852 16 109 96 1
3 18 24 10 192 4
4 419 32 31 256 1
6 34 48 2 5,376 1
8 229 64 12

a significant part of the running time of the algorithms. Further, we believe that major
optimizations to the algorithm for isomorph rejection could be made if required, so the
exact running times are not of interest and thus are not reported here.

4.1. Classification of (4, q2 , 3)q Codes


For q = 5, the two (3, 52 , 2)5 codes were extended to three (4, 52 , 3)q codes in a few
milliseconds of CPU time. The rejection of equivalent codes yielded the unique (4, 52 , 3)5
code, which has an automorphism group of order 800.
For q = 7, the search starting from the 147 (3, 72 , 2)7 codes finished in 0.04 core-
seconds, and 651 (4, 72 , 3)7 codes were found. The rejection of equivalent codes yielded
seven inequivalent (4, 72 , 3)7 codes. The automorphism groups of the codes have orders
6, 6, 24, 48, 126, 2,352, and 3,528.
For q = 8, the search starting from the 283,657 (3, 82 , 2)8 codes required 121 core-
seconds, yielding 263,807 (4, 82 , 3)8 codes. The rejection of equivalent codes yielded
2,165 inequivalent (4, 82 , 3)8 codes. The number of codes are tabulated in Table I ac-
cording to the order of the automorphism group.
Finally, we observe that one of the two (3, 52 , 2)5 codes can be obtained by puncturing
the (4, 52 , 3)5 code, six of the seven (3, 72 , 2)7 codes can be obtained by puncturing a
(4, 72 , 3)7 code, and 2,024 of the 283,657 (3, 82 , 2)8 codes can be obtained by puncturing
a (4, 82 , 3)8 code. These are the numbers of main classes of Latin squares of orders 5, 7,
and 8 that have orthogonal mates, given, for example, in [37].

4.2. Classification of (5, q3 , 3)q Codes


For q = 5, the search of seeds starting from the unique (4, 52 , 3)5 code finished in 0.080
core-seconds yielding exactly one seed. This seed was augmented to a unique (5, 53 , 3)5
code in 0.035 core-seconds. This code is necessarily equivalent to the linear code with
the same parameters, whose parity check matrix is obtained by deleting any column
of the parity check matrix of the linear (6, 54 , 3)5 code. The (5, 53 , 3)5 code has an
automorphism group of order 10,000.
For q = 7, the search starting from the seven (4, 72 , 3)7 codes finished in 30 core-
seconds. Only one seed was found up to equivalence, and this seed was augmented to a
unique (5, 73 , 3)7 code in 0.7 seconds. This code is equivalent to the linear code with the
same parameters. The automorphism group of the (5, 73 , 3)7 code has order 12,348.

Journal of Combinatorial Designs DOI 10.1002/jcd


518 KOKKALA AND ÖSTERGÅRD

TABLE II. The number of equivalence classes of (5, 83 , 3)8 codes.

|Aut(C)| # |Aut(C)| # |Aut(C)| #

2 521 96 5 1,024 36
4 2,892 128 637 1,536 7
8 3,108 160 1 2,048 14
16 2,098 192 13 3,072 1
24 4 256 266 6,144 2
32 1,572 384 6 30,720 1
48 5 512 107 43,008 1
64 1,177 768 10

For q = 8, the search started from the 2,165 (4, 82 , 3)8 codes and 51,054 inequivalent
seeds were obtained. This classification required 28,966 core-hours (approximately 3.3
core-years). Using the cluster, the search could be finished in less than 5 days with a
memory requirement of up to 3.9 GB for some processes.
The augmentation of the seeds finished in 383 core-minutes. For 33,913 of the seeds,
exactly one code was obtained in the augmentation, and for the 17,141 other seeds, no
codes were obtained. No seed could be augmented to two or more different codes. The
number of equivalence classes of (5, 83 , 3)8 codes is 12,484. The number of codes are
tabulated in Table II according to the order of the automorphism group.
Finally, we observe that two of the seven (4, 72 , 3)7 codes can be obtained by shortening
a (5, 73 , 3)7 code. Similarly, 630 of the 2,165 (4, 82 , 3)8 codes can be obtained by
shortening a (5, 83 , 3)8 code.
It is not feasible to classify the (5, q 3 , 3)q codes for q = 9 (or even larger) with the
current approach. For q > 8, not even the (4, q 2 , 3)q codes have been classified.

4.3. Consistency Checks


We check the consistency of our results using double counting and the orbit–stabilizer
theorem.

4.3.1. The (4, q 2 , 3)q Codes


We count the total number of (4, q 2 , 3)q codes in two ways. For each (3, q 2 , 2)q code C ,
the total number of (4, q 2 , 3)q codes C for which p(C, 4) ∼
= C is

3!(q!)3 N(C )
,
|Aut(C )|

where 3!(q!)3 /|Aut(C )| is the number of (3, q 2 , 2)q codes equivalent to C and N(C ) is
the number of ways C can be extended to a (4, q 2 , 3)q code by inserting a coordinate
at the end. For each equivalence class representative C , N(C ) is q! times the number
of (4, q 2 , 3)q codes found in the search described in Section 3.1, because the search

Journal of Combinatorial Designs DOI 10.1002/jcd


CLASSIFICATION OF GRAECO-LATIN CUBES 519

considers only one permutation of values in the added coordinate. The total number of
(4, q 2 , 3)q codes becomes

 N(C )3!(q!)3
,
C
|Aut(C )|

where the sum is taken over the equivalence class representatives of (3, q 2 , 2)q codes.
On the other hand, the number of (4, q 2 , 3)q codes equivalent to Ĉk is simply
4!(q!)4 /|Aut(Ĉk )|, which gives the count


N
4!(q!)4
k=1
|Aut(Ĉk )|

for the total number of (4, q 2 , 3)q codes.


The total numbers of these codes, obtained by both counts, are 6,220,800,
6,263,668,776,960,000, and 64,324,116,731,941,355,520,000 for q = 5, q = 7, and
q = 8, respectively.

4.3.2. The (5, q 3 , 3)q Codes


Every (5, q 3 , 3)q code C contains q 3 seed structures, defined in the following way. For
each codeword c ∈ C, a seed structure consists of the codewords that coincide with c in at
least one coordinate. Notice that seed structures have the same structure and parameters
as seeds, but, as we have argued earlier, not all seed structures are seeds. A subtask in the
consistency check is to detect the seeds among the seed structures of a code C. This can
be done as follows.
We go through each coordinate–value pair (i, v) ∈ {1, 2, 3, 4, 5} × Zq and consider
the shortened code s(C, i, v), which is equivalent to some code Ĉk . Then there is an
isomorphism g that maps e(s(C, i, v), i, v) onto e(Ĉk , 1, 0). Next, we go through all
automorphisms h of Ĉk and, for each h, apply it to the last four coordinates of gC to
obtain a code C . If φ(s(C , j, 0)) ≥ k for all j ∈ {2, 3, 4, 5}, then C ∩ 0 is a k-seed.
For counting the number of subcodes of C that are equivalent to k-seeds, we need to keep
track of the encountered subcodes because a single subcode can occur with more than
one choice of (i, v).
In the main test, we use a double counting argument described in [13, Sect. 10.3]. For
each X ∈ S, where S is the set of inequivalent seeds defined in Section 3.2, the number
of pairs (Z, W ) such that Z ∼= X, W is a (5, q 3 , 3)q code, and Z ⊂ W , is

N(X)5!(q!)5
,
|Aut(X)|

where N(X) is the total number of (5, q 3 , 3)q codes found in the search starting from the
seed X. This value can be calculated directly after N(X) is obtained during the search.
On the other hand, the same count can be obtained by

 S(C, X)5!(q!)5
,
C∈C
|Aut(C)|

Journal of Combinatorial Designs DOI 10.1002/jcd


520 KOKKALA AND ÖSTERGÅRD

where S(C, X) is the number of subcodes of C equivalent to X, obtained by the procedure


described above. At the end of the classification, it is checked that the two values coincide
for each X. This test also forms a partial validation of the classification of the seeds since
it alerts if seed structures of the classified codes are found that are seeds but are missing
from the classification of seeds.
The consistency checks required 0.04 core-seconds, 0.3 core-seconds, and 542 core-
minutes for the cases q = 5, q = 7 and q = 8, respectively.

ACKNOWLEDGMENTS

The authors are grateful to Denis Krotov and Brendan McKay for valuable comments.

REFERENCES

[1] R. J. R. Abel, C. J. Colbourn, and J. H. Dinitz, “Mutually orthogonal Latin squares (MOLS),”
Handbook of Combinatorial Designs, 2nd ed., C. J. Colbourn and J. H. Dinitz (Editors),
Chapman & Hall/CRC, Boca Raton, FL, 2007, pp. 160–193.
[2] T. L. Alderson, (6, 3)-MDS codes over an alphabet of size 4, Des Codes Cryptogr 38 (2006),
31–40.
[3] W. W. R. Ball, Mathematical Recreations & Essays, 11th ed., revised by H. S. M. Coxeter,
MacMillan, London, 1939.
[4] K. A. Brownlee and P. K. Loraine, The relationship between finite groups and completely
orthogonal squares, cubes, and hyper-cubes, Biometrika 35 (1948), 277–282.
[5] C. J. Colbourn, J. H. Dinitz, and I. M. Wanless, “Latin squares,” Handbook of Combinatorial
Designs, 2nd ed., C. J. Colbourn and J. H. Dinitz (Editors), Chapman & Hall/CRC, Boca Raton,
FL, 2007, pp. 135–152.
[6] A. B. Cruse, On the finite completion of partial Latin cubes, J Combin Theory Ser A 17 (1974),
112–119.
[7] J. Dénes and A. D. Keedwell, Latin Squares and Their Applications, Academic Press, New
York, 1974.
[8] S. T. Dougherty and T. A. Szczepanski, Latin k-hypercubes, Australas J Combin 40 (2008),
145–160.
[9] J. T. Ethier and G. L. Mullen, Strong forms of orthogonality for sets of hypercubes, Discrete
Math 312 (2012), 2050–2061.
[10] A. Heppes and P. Révész, A latin négyzet és az ortogonális latin négyzet-pár fogalmának egy új
általánosı́tása és ennek felhasználása kı́sérletek tervezésére (A new generalization of the method
of latin squares and orthogonal latin squares and its application to the design of experiments),
Magyar Tud Akad Mat Int Közl 1 (1956), 379–390.
[11] P. Höhler, Eine Verallgemeinerung von orthogonalen lateinischen Quadraten auf höhere Di-
mensionen, Ph.D. Thesis, ETH Zürich, 1970.
[12] P. Kaski and O. Pottonen, libexact user’s guide, Version 1.0, Helsinki Institute for Information
Technology HIIT, Helsinki, 2008.
[13] P. Kaski and P. R. J. Östergård, Classification Algorithms for Codes and Designs, Springer,
Berlin, 2006.
[14] K. Kishen, On Latin and hyper-Graeco-Latin cubes and hyper-cubes, Current Sci 11 (1942),
98–99.

Journal of Combinatorial Designs DOI 10.1002/jcd


CLASSIFICATION OF GRAECO-LATIN CUBES 521

[15] D. S. Krotov, P. R. J. Östergård, and O. Pottonen, On optimal binary one-error-correcting codes


of lengths 2m − 4 and 2m − 3, IEEE Trans Inform Theory 57 (2011), 6771–6779.
[16] C. F. Laywine and G. L. Mullen, Latin cubes and hypercubes of prime order, Fibonacci Quart
23 (1985), 139–145.
[17] C. F. Laywine, G. L. Mullen, and G. Whittle, D-dimensional hypercubes and the Euler and
MacNeish conjecture, Monatsh Math 119 (1995), 223–238.
[18] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, North-Holland,
Amsterdam, 1977.
[19] G. L. Mullen and G. Whittle, Point sets with uniformity properties and orthogonal hypercubes,
Monatsh Math 113 (1992), 265–273.
[20] B. M. Maenhaut and I. M. Wanless, Atomic Latin squares of order eleven, J Combin Des 12
(2004), 12–34.
[21] B. D. McKay, Latin squares (electronic), available at http://cs.anu.edu.au/bdm/data/
latin.html
[22] B. D. McKay, A. Meynert, and W. Myrvold, Small Latin squares, quasigroups, and loops, J
Combin Des 15 (2007), 98–119.
[23] B. D. McKay and A. Piperno, nauty and Traces User’s Guide (Version 2.5), Nauty and Traces,
available at http://pallini.di.uniroma1.it/ 2013.
[24] B. D. McKay and A. Piperno, Practical graph isomorphism, II, J Symbolic Comput 60 (2014),
94–112.
[25] B. D. McKay and I. Wanless, A census of small Latin hypercubes, SIAM J Discrete Math 22(2)
(2008), 719–736.
[26] G. L. Mullen, Orthogonal hypercubes and related designs, J Statist Plann Inference 73 (1998),
177–188.
[27] S. Niskanen and P. R. J. Östergård, Cliquer User’s Guide, Version 1.0, Technical Report T48,
Communications Laboratory, Helsinki University of Technology, Espoo, 2003.
[28] P. R. J. Östergård, “Constructing combinatorial objects via cliques,” Surveys in Combinatorics,
B. S. Webb (Editor), Cambridge University Press, Cambridge, 2005, pp. 57–82.
[29] P. R. J. Östergård, T. Baicheva, and E. Kolev, Optimal binary one-error-correcting codes of
length 10 have 72 codewords, IEEE Trans Inform Theory 45 (1999), 1229–1231.
[30] P. R. J. Östergård and O. Pottonen, The perfect binary one-error-correcting codes of length 15:
Part I—Classification, IEEE Trans Inform Theory 55 (2009), 4657–4660.
[31] E. T. Parker, Computer investigation of orthogonal Latin squares of order ten, Proc Sympos
Appl Math Vol XV, (Amer Math Soc, 1963), pp. 73–81.
[32] C. R. Rao, Hypercubes of strength ‘d’ leading to confounded designs in factorial experiments,
Bull Calcutta Math Soc 38 (1946), 67–78.
[33] R. Silverman, A metrization for power-sets with applications to combinatorial analysis, Canad
J Math 12 (1960), 158–176.
[34] R. C. Singleton, Maximum distance q-nary codes, IEEE Trans Inform Theory 10 (1964),
116–118.
[35] E. Soedarmadji, Latin hypercubes and MDS codes, Discrete Math 306 (2006), 1232–1239.
[36] G. Tarry, Le problème des 36 officiers, C R Assoc Fran Ac Sci 1 (1900), 122–123 and 2 (1901),
170–203.
[37] I. M. Wanless, Transversals in Latin squares, Quasigroups Related Systems, 15 (2007), 169–190.
[38] P. D. Warrington, Graeco-Latin cubes, J Recreational Math 6 (1973), 47–53.

Journal of Combinatorial Designs DOI 10.1002/jcd

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy