THE ENUMERATION OF COSTAS ARRAYS OF

Advances in Mathematics of Communications
Volume 5, No. 1, 2011, 69–86
doi:10.3934/amc.2011.5.69
THE ENUMERATION OF COSTAS ARRAYS OF ORDER 28
AND ITS CONSEQUENCES
Konstantinos Drakakis
School of Electrical, Electronic & Mechanical Engineering
University College Dublin, Belfield, Dublin 4, Ireland
Francesco Iorio
Autodesk Research
210 King Street East, Toronto, Ontario M5A 1J7, Canada
Scott Rickard
School of Electrical, Electronic & Mechanical Engineering
University College Dublin, Belfield, Dublin 4, Ireland
(Communicated by Andrew Klapper)
Abstract. The results of the enumeration of Costas arrays of order 28 are
presented: all arrays found are accounted for by the Golomb and Welch construction methods, making 28 the first order (larger than 5) for which no sporadic Costas arrays exist. The enumeration was performed on several computer
clusters and required the equivalent of 70 years of single CPU time. Furthermore, a classification of Costas arrays in four classes is proposed, and it is
conjectured, based on the results of the enumeration combined with further
evidence, that two of them eventually become extinct.
1. Introduction
Costas arrays [8] are square arrays of dots/1s and blanks/0s, such that there
exists exactly one dot per row and column, and so that a) no four dots form a
parallelogram and b) no three dots lying on a straight line are equidistant. They
were first proposed by J.P. Costas in 1965 in the context of SONAR detection in a
GE technical report [6], and later in 1984 in a journal publication [7].
There are two known algebraic construction techniques for the production of
Costas arrays: the Golomb and Welch methods. Both are based on the theory of
finite fields and were introduced and proven in 1984 by S. Golomb and H. Taylor [11,
13]. These methods successfully construct n × n Costas arrays for infinitely many,
but not all, orders n, and they remain the only generally applicable construction
techniques for Costas arrays available today.
In this work we present the results of the enumeration of Costas arrays of order 28.
These results come approximately two years after the results of the enumeration of
Costas arrays of order 27 were jointly announced [10] by two independent groups,
one led by K. Drakakis and S. Rickard and the other by J.K. Beard. Perhaps
surprisingly, no sporadic Costas arrays were found: all Costas arrays of order 28 are
2000 Mathematics Subject Classification: Primary: 05A15, 05B10; Secondary: 05A05, 11B50.
Key words and phrases: Costas arrays, enumeration, order 28, Golomb method, Welch method.
Konstantinos Drakakis and Scott Rickard are also affiliated with the Claude Shannon Institute
(www.shannoninstitute.ie), as well as with UCD CASL (casl.ucd.ie).
69
c
2011
AIMS-SDU
70
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
generated by the algebraic construction techniques. This is the first order following
order 5 where this phenomenon occurs.
In order to assess the significance of this result for the future, we first classify
all known construction techniques for Costas arrays in four groups: those who are
currently of completely unknown origin (sporadic); those who are algorithmically
constructed in a predictable way (generated); and, finally, those who result from the
manipulation of generated Costas arrays (predictably or unpredictably emergent).
We then observe the dynamics of the three groups throughout the enumerated
orders, analyze the results, and formulate a conjecture to the effect that sporadic
and unpredictably emergent Costas arrays eventually become extinct.
2. Definition and basics
Let us begin with the definition of a Costas function/permutation [7, 8]:
Definition 1. Let [n] := {1, . . . , n}, n ∈ N and consider a bijection f : [n] → [n];
f is a Costas permutation iff
∀i, j, k such that i, j, i + k, j + k ∈ [n] :
f (i + k) − f (i) = f (j + k) − f (j) ⇒ i = j or k = 0.
This condition is known as the Costas property.
Permutations correspond to permutation arrays by setting the elements of the
permutation to denote the positions of the (unique) 1 in the corresponding column
of the array, counting from top to bottom: f (i) = j ⇔ aj,i = 1. It is customary
to represent the 1’s of a permutation array as “dots” and the 0’s as “blanks”. The
terms “array” and “permutation” will henceforth be used interchangeably. Figure
1 shows a Costas array of order 27.
The Costas property is invariant under rotations of the array by 90o , horizontal
and vertical flips, and flips around the diagonals, hence a Costas array gives birth
to an equivalence class (EC) that contains either eight Costas arrays, or four if the
array happens to be symmetric; in the latter case, we say the EC is symmetric.
When presenting the results of the enumeration, we will give the lexicographically
minimal representative from each EC for brevity; the members of the EC of a Costas
array are often referred to as its polymorphs.
We can rephrase Definition 1 by saying that a bijection f : [n] → [n] is a Costas
permutation iff the collection of vectors {(f (i) − f (j), i − j) : i, j ∈ [n], i > j} does
not contain any duplications, namely iff all vectors therein, known as the distance
vectors, are distinct. This is equivalent, in turn, to the definition given in the
Introduction: no four dots can form a parallelogram, and no three dots lying on a
straight line can be equidistant, or else a pair of equal distance vectors would exist,
violating the Costas property (note that the case of four dots lying on a straight line
and equidistant in pairs is considered to be a limit case of a completely “flattened”
parallelogram and is also forbidden by the definition).
3. Construction techniques and classes of Costas arrays
There exist two algebraic methods for the construction of Costas arrays, known
as the Golomb and Welch methods [11, 13, 12, 8], each actually comprising several
submethods. A further semi-empirical method relying on these two, known as the
Rickard method, must also be mentioned alongside them, as it is currently the only
additional method that has successfully led to the discovery of previously unknown
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
71
Figure 1. The Costas array of order 27 corresponding to the
permutation 11 10 4 24 7 23 3 18 21 9 26 16 5 1 15 27 2 25 17 22
19 6 8 12 20 13 14
Costas arrays (four so far, namely two of order 29, one of order 36, and one of order
42) [15]. We present them all below, classified according to their applicability (this
classification is compatible with and an improvement of the classification presented
in [19]). Proofs will be omitted: the interested reader can find them in the references
just listed.
3.1. Generated Costas arrays.
Definition 2. An infinite family of Costas arrays will be characterized as “generated” iff its members are constructed by an algorithm whose applicability is determined by a sufficient condition involving only the order of the array.
The following is an exhaustive list of the families of generated Costas arrays
currently known:
Theorem 1 (Exponential Welch construction W1exp (p, α, c)). Let p be a prime, let
α be a primitive root of the finite field F(p) of p elements, and let c ∈ [p − 1] − 1 be
a constant; then, the function f : [p − 1] → [p − 1] where f (i) = αi−1+c mod p is a
bijection with the Costas property.
Note that the inverse of a W1exp -permutation, corresponding to the transpose
of the corresponding W1exp -array, is not expressible by this formula for different
α and c, but rather by swapping i and f (i). This construction is known as the
Logarithmic Welch construction W1log . The two constructions together form the
Welch construction W1 . It can be shown that the two sets of Exponential and
Logarithmic Welch arrays are disjoint for p > 5 [9]: in particular, W1 -arrays for
p > 5 are never symmetric. As there are p − 1 ways to choose c and φ(p − 1) ways
to choose α (φ stands for Euler’s function), there are 2(p − 1)φ(p − 1) W1 -arrays in
total.
Theorem 2 (Exponential Welch construction W2exp (p, α)). Let p be a prime, and
let α be a primitive root of the finite field F(p) of p elements; then, the corresponding
W1 (p, α, 0) function g : [p − 1] → [p − 1] satisfies g(1) = 1 and, consequently, the
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
72
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
function f : [p − 3] → [p − 3] where f (i) = g(i + 1) − 1, i ∈ [p − 2], is a bijection
with the Costas property.
Theorem 3 (Golomb construction G2 (p, m, α, β)). Let p be a prime, m ∈ N, and
let α, β be primitive roots of the finite field F(pm ) of q = pm elements; then, the
function f : [q − 2] → [q − 2] where αf (i) + β i = 1 is a bijection with the Costas
property.
For a given q, there are φ2 (q − 1)/m G2 -arrays in total, and they are symmetric
iff either α = β, this special case being known as the Lempel construction [8], or
else whenever q = r2 and β = αr [9].
Theorem 4 (Golomb construction G3 (p, m, α, β)). Let p be a prime, m ∈ N, and let
α, β be primitive roots of the finite field F(pm ) of q = pm elements with the property
that α + β = 1; then, the corresponding G2 (p, m, α, β) function g : [q − 2] → [q − 2]
satisfies g(1) = 1, and, consequently, the function f : [q − 3] → [q − 3] where
f (i) = g(i + 1) − 1, i ∈ [q − 3], is a bijection with the Costas property.
Theorem 5 (Golomb construction G4 (m, α, β)). Let m ∈ N, and let α, β be
primitive roots of the finite field F(2m ) of q = 2m elements with the property that
α + β = 1; then, the corresponding G2 (2, m, α, β) function g : [q − 2] → [q − 2]
satisfies g(1) = 1, g(2) = 2, and, consequently, the function f : [q − 4] → [q − 4]
where f (i) = g(i + 2) − 2, i ∈ [q − 4], is a bijection with the Costas property.
The inclusion of G3 - and G4 -constructions amongst the generated families is far
from obvious. Indeed, both rely on the existence of two primitive roots in a finite
field summing up to 1, and this seems to be an applicability condition involving
more parameters than the order of the finite field, in violation of Definition 2. It
has been proved [5], however, that every finite field contains at least one pair of
primitive roots summing up to 1, so this is, in fact, not an applicability condition.
3.2. Emergent Costas arrays.
Definition 3. An infinite family of Costas arrays will be characterized as “predictably emergent” iff a) its members are constructed through a transformation
of generated Costas arrays; b) the Costas property of the members of the family
cannot be asserted by a condition involving the order of the array alone; and c)
the Costas property of the members of the family can be asserted by a condition
involving the order of the array and some additional parameters.
Theorem 6 (Exponential Welch construction W3exp (p)). Let p be a prime such that
2 is a primitive element of the finite field F(p); then, the corresponding W1 (p, 2, 0)
function g : [p − 1] → [p − 1] satisfies g(1) = 1, g(2) = 2, and, consequently, the
function f : [p − 3] → [p − 3] where f (i) = g(i + 2) − 2, i ∈ [p − 3], is a bijection
with the Costas property.
Theorem 7 (Golomb construction G∗4 (p, m, α, β)). Let p > 2 be a prime, m ∈ N,
and let α, β be primitive roots of the finite field F(pm ) of q = pm elements with the
properties that α + β = 1 and a2 + b−1 = 1; then, the corresponding G2 (p, m, α, β)
function g : [q − 2] → [q − 2] satisfies g(1) = 1, g(2) = q − 2, and, consequently, the
function f : [q − 4] → [q − 4] where f (i) = g(i + 2) − 1, i ∈ [q − 4], is a bijection
with the Costas property.
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
73
Theorem 8 (Golomb construction G∗∗
4 (p, m, α)). Let p > 2 be a prime, m ∈ N, and
let α be a primitive root of the finite field F(pm ) of q = pm elements with the property
that α + α2 = 1; then, the corresponding G2 (p, m, α, α) function g : [q − 2] → [q − 2]
satisfies g(1) = 2, g(2) = 1, and, consequently, the function f : [q − 4] → [q − 4]
where f (i) = g(i + 2) − 2, i ∈ [q − 4], is a bijection with the Costas property.
This method is labeled as T4 in [12, 13], but we used a different label here to
improve uniformity.
Theorem 9 (Golomb construction G∗5 (p, m, α, β)). Let p be a prime and m ∈ N∗ ,
and let α, β be primitive elements of the finite field F(q) with the properties that
α + β = 1 and α2 + β −1 = 1; then, it can be shown that these conditions always
imply that b2 + a−1 = 1 as well, whence the corresponding G2 (p, m, α, β) function
g : [q − 2] → [q − 2] satisfies g(1) = 1, g(2) = q − 2, and g(q − 2) = 2, and,
consequently, the function f : [q − 5] → [q − 5] where f (i) = g(i + 3) − 3, i ∈ [q − 5],
is a bijection with the Costas property.
Regarding W3exp , it is not known for which primes p 2 is a primitive root, although
necessary conditions for this to occur can easily be found (e.g. 2 should not be a
square). It is not even known whether 2 is a primitive root for infinitely many
primes p (this is a special case of Artin’s Conjecture [14]). Sufficient conditions for
∗
the existence of primitive roots with the required properties for G∗4 , G∗∗
4 , and G5
are, similarly, unknown [12, 13].
Definition 4. An infinite family of Costas array will be characterized as “unpredictably emergent” iff a) its members are constructed through a transformation of
generated Costas arrays; and b) the Costas property of the members of the family
cannot be asserted by any condition other than direct verification.
Heuristic 1 (Golomb construction G1 (p, m, α, β)). Let p be a prime, m ∈ N,
α, β be primitive roots of the finite field F(pm ) of q = pm elements, and let g :
[q − 2] → [q − 2] be the corresponding G2 (p, m, α, β). It may hold true that the
function f : [q −1] → [q −1] such that f (1) = 1 and f (i) = g(i−1)+1, i ∈ [q −2]+1,
is a bijection with the Costas property.
This simply adds a corner dot to a G2 -Costas array.
Heuristic 2 (Golomb construction G0 (p, m, α, β)). Let p be a prime, m ∈ N,
α, β be primitive roots of the finite field F(pm ) of q = pm elements, and let g :
[q − 2] → [q − 2] be the corresponding G2 (p, m, α, β). It may hold true that the
function f : [q] → [q] such that f (1) = 1, f (q) = q, and f (i) = g(i − 1) + 1,
i ∈ [q − 2] + 1, is a bijection with the Costas property.
This simply adds two anti-diametrical corner dots to a G2 -Costas array.
Heuristic 3 (Rickard Welch construction RW0 (p, α, c, t)). Let p be a prime, let α
be a primitive root of the finite field F(p) of p elements, let c ∈ [p − 1] − 1 and
t ∈ [p − 2] + 1 be constants, and let g : [p − 1] → [p − 1] be the corresponding
W1exp (p, α, c) function. Consider the expansion g : [p − 1] → [p], and the function
gt : [p − 1] → [p] where gt (i) = (g(i) + t − 1) mod p + 1. Observe that t does not
belong to the range of gt , so it may hold true that f : [p] → [p], where f (i) = gt (i),
i ∈ [p − 1], and f (p) = t, is a bijection with the Costas property.
To understand better how this method works, start with a (p − 1) × (p − 1) W1exp
array and add a blank row at the bottom, thus forming a p × (p − 1) array. By
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
74
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
cyclically shifting the rows of this array t times, we obtain a new p × (p − 1) array
where row t is now blank. By appending a column to the right, then, with a dot in
row t we construct a new permutation array, which may have the Costas property.
Heuristic 4 (Rickard Golomb construction RG1 (p, m, α, β, t1 , t2 )). Let p be a prime,
m ∈ N, let α, β be primitive roots of the finite field F(pm ) of q = pm elements, let t1 , t2 ∈ [q − 3] + 1 and let g : [q − 2] → [q − 2] be the corresponding
G2 (p, m, α, β) function. Consider the function gt1 ,t2 : [q − 1]\{t1 } → [q − 1]\{t2 }
where gt1 ,t2 (i) = (g((i − t1 − 1) mod (q − 1) + 1) + t2 − 1) mod (q − 1) + 1. It may
hold true that f : [q − 1] → [q − 1], where f (i) = gt1 ,t2 (i), i ∈ [q − 1]\{t1 }, and
f (t1 ) = t2 , is a bijection with the Costas property.
This method can also be better understood in terms of operations on a Costas
array. Start with a (q − 2) × (q − 2) G2 array and add a blank row at the bottom
and a blank column to the right, thus forming a (q − 1) × (q − 1) array. By cyclically
shifting the columns of this array t1 times and the rows t2 times, we obtain a new
(q − 1) × (q − 1) array where column t1 and row t2 is now blank. By adding a dot
at position (t2 , t1 ), then, we construct a new permutation array, which may have
the Costas property.
Note that Rickard Costas arrays can naturally be considered to include G1 - and
W0 -Costas arrays as special cases, although in Definitions 3 and 4 above we excluded
the parameters that would lead to such an inclusion, in order to keep the available
construction methods as disjoint as possible.
3.3. Sporadic Costas arrays.
Definition 5. A Costas array will be characterized as “sporadic” iff it is neither
generated nor emergent.
Sporadic Costas arrays of order n exist for 6 ≤ n ≤ 27. Figure 1 shows the only
sporadic Costas array of order 27 (the existence of this array was first announced
in [10] and was first noted by J.K. Beard [2]).
It is currently not known whether Costas arrays of order n exist for all n ∈ N,
but, given the list of the methods above, it is clear that, unless sporadic Costas
arrays exist in abundance, in particular at the orders where generated or emergent
Costas arrays do not exist, this cannot happen. The smallest values of n for which
no Costas array of order n is currently known are n = 32 and 33 [8].
3.4. Analysis of the classification. The main criterion upon which the classification of Costas arrays proposed above relies is the predictability of their construction. The existence of generated (G) Costas arrays is the simplest to predict, as it
only depends on their order. Next come predictably emergent (PE) Costas arrays,
whose existence depends not only on the order, but also on some additional conditions that need to be verified independently. Beyond that, unpredictably emergent
(UE) Costas arrays result from algorithms which are not guaranteed by any condition to produce Costas arrays, hence their output needs to be “sifted” by explicit
testing. Finally, the existence of sporadic (S) Costas arrays cannot be predicted at
all.
The classification reflects, at the same time, the hierarchical structure of the
known construction techniques. Generated Costas arrays form the basis upon which
all other currently known construction techniques are founded: they get transformed
in various ways in the hope that the result of these transformations will be a new
Costas array.
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
75
Finally, the classification is necessarily vague and always subject to change, reflecting our knowledge at any given time: as new construction techniques are discovered and as the old ones get more refined, Costas arrays can switch class and
be moved into a more predictable one. For example, [5] changed the status of G3 arrays from unpredictably to predictably emergent, whereas [15] changed the status
of some sporadic Costas arrays to unpredictably emergent.
We will refer to G, PE, and UE Costas arrays together as “constructed”, and to
G and PE Costas arrays together as “systematically constructed”.
4. Enumeration results for order 28
The enumeration found in total 712 Costas arrays, divided into 89 ECs. More
specifically, breaking down this set per construction method, there are:
• 672 = 2 · 28 · 12 = 2 · 28 · φ(28) W1 -arrays in 84 ECs generated in F(29);
• 8 G1 -arrays in one EC generated in F(29);
• 8 G3 -arrays in one EC generated in F(31);
• 24 G4 -arrays in three ECs generated in F(32).
The lexicographically minimal polymorphs are shown in Table 2, while two of
these arrays are plotted in Figure 2. None of the arrays found is sporadic. The only
other orders n < 28 where sporadic arrays are known not to exist are n = 1, 2, . . . , 5.
Currently, no sporadic arrays are known in orders n > 28, which raises the question
whether there exists an N ∈ N such that, for all orders n > N , Costas arrays of
order n arise from one of the known generation techniques. Incidentally, none of
the Costas arrays of order 28 is symmetric, but this has been known for some time
[4].
The total runtime of the project on a single CPU was recorded to be approximately 70 years, but, due to high parallelization of the tasks, the real time required was approximately 51 days, between 2010/04/14 and 2010/06/04. This
shows that, on average, approximately 500 processors were used throughout the
run (though, briefly, at peak times, simultaneous use of up to about 1500 processors was recorded). The memory and storage requirements of the code used were
minimal.
5. A brief description of the algorithm, the code,
and the procedure followed
5.1. Description of the underlying algorithm. The main idea behind our
code is quite simple: the code checks every single permutation of order n for the
Costas property, exploiting, however, as much as possible the classification of permutations into ECs, in order to (ideally) check exactly one member of each EC,
preferably the lexicographically minimal one (though this may not always be feasible in practice). To this end, the code is supplied with the first (leftmost) m elements
of the permutation and then attempts to complete it into a full permutation in all
possible ways while retaining the Costas property.
In order to run as fast as possible, the code relies on two features, named “lookahead” and “backtrack”. To understand how these work, let us imagine that the
permutations are arranged on a tree according to their common leftmost starting
elements. The code checks for the Costas property moving throughout the tree in
a depth-first search, but every time it adds a new element to the so far constructed
(incomplete) permutation, and thus moves into a new branch of the tree, it uses the
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
76
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
Figure 2. Two Costas arrays of order 28, corresponding to permutations 2 8 9 6 4 11 26 22 16 25 7 10 23 18 17 5 27 1 15 20 28
21 12 14 24 13 3 19 (top) and 7 27 24 14 16 23 6 17 11 28 13 1 9
15 19 12 8 3 21 22 20 25 4 26 10 2 5 18 (bottom)
constraints of the Costas property accumulated so far to “look-ahead” and exclude
some values from some of the next (yet undetermined) elements of the permutation.
In other words, rather than forming a (partial) permutation and then checking for
the Costas property, the code forms a certain partial permutation only as long
as it knows that this particular partial permutation does not violate the Costas
property: in fact, the Costas property is never checked for explicitly! If, at any
point, the code discovers that no values are allowed for one of the following elements,
it “backtracks” by changing the value of the previous element (or of the earliest
previous element for which an alternative value is allowed) and resumes from there:
the code saves the sets of constraints corresponding to all partial permutations
leading up to the current partial permutation in order to have them available after
backtracking occurs.
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
77
As no information needs to be exchanged between instances of the code initialized
with distinct sets of values for the leftmost m elements of the permutation, these instances can run in parallel. In the current project we used m = 4 and n = 28, so the
total project was divided into 161079 instances, as many as the ordered quadruplets
of distinct integers from 1 to 28 that conform with the Costas property, and also
obey some further constraints. Indeed, it makes no sense, for example, to consider
permutations starting with 15 or larger, as a vertical flip shows that a lexicographically earlier polynorph starts with a smaller integer. In fact, permutations starting
with 14 may also be excluded: the reader may easily verify that such permutations
that are also lexicographically minimal polymorphs in their ECs necessarily violate
the Costas property.
Some other quadruplets are disqualified because it can be readily determined that
the starting element of another polymorph of such a permutation will be strictly
smaller. Let us, for example, consider the quadruplet 5 17 1 10: the corresponding
array has a dot in the 5th position of the first column and in the first position of
the third, which implies that the polymorph resulting from transposition has a dot
in the third position of the first column and therefore precedes it lexicographically.
Finally, quadruplets corresponding to “corner arrays” are also disqualified, as such
arrays can be recovered easier by adding corner arrays to Costas arrays of smaller
orders and then checking for the Costas property: so, quadruplets starting with
1 . . . , 2 1 . . . , 2 3 1 . . . or 3 1 2 . . . are not considered by the code itself, but
Costas permutations starting with these sequences are checked separately using the
database of known Costas arrays.
At this point, the astute reader may have identified a “grey area”: what happens
with quadruplets like 4 10 28 1, for example, where transposition maps the dots of
the first column and the first row onto each other? No doubt some of these quadruplets can be further investigated and perhaps rejected as non-lexicographically minimal. This one, for example, is mapped onto 25 19 1 28 by a vertical flip, and
transposition further maps it onto 3 . . . Should we disqualify such quadruplets?
The short answer is that, though it can be done in principle, we cannot disqualify
them in our code, as our code contains extra optimizations incompatible with this
particular one: exclusion of such quadruplets could potentially lead to loss of arrays.
5.2. Some implementation details on the code. Our code was essentially the
same as the one used by our group for the enumeration of Costas arrays of order
27 [10]. It was originally authored by B. Ladendorf and S. Rickard, and lately
revised by F. Iorio and K. Drakakis. It is mostly written in C, containing some
ASM calls to compiler intrinsics (assembly commands) to reduce running time:
this makes it platform dependent, and, at the moment, it can run on 32- and 64-bit
Intel architecture chips and on BlueGene supercomputers. Implementations on Cell
processors (of Sony PlayStation 3 devices) and on NVIDIA graphics cards were also
contemplated but so far have not been implemented.
The key feature of the code is that the various constraints are stored in binary
form in bitmask tables formed by bytewords, which allows them to be handled
quickly and efficiently through compiler intrinsics. The most notable modification
in preparation for this run involved the use of compiler intrinsics of the extended
EMT64 register set to perform some critical operations in 64-bit mode. Another
modification involved a different strategy for performing the testing of constraints:
the old code performed shifting and masking to access the constraints bitmask tables, whereas the new one uses rotation to save some CPU cycles per iteration.
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
78
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
Though it is not straightforward to precisely quantify the resulting speed improvement to the code over all different starting quadruplets and computers involved, our
(limited) tests indicated that, on average, execution time was reduced by (slightly
less than) 50%.
Had the old code been used, then, the total runtime of this project would have
been about 130 years of single CPU time, namely about five times the total runtime
measured for the enumeration of Costas arrays of order 27. This is consistent with
the observation made repeatedly in the past by both research groups mentioned in
the Introduction that the complexity of the enumeration of Costas arrays increases
from one order to the next by a factor of 5 under the algorithms currently used (see
[10] and references therein).
5.3. The procedure. The project was run on several clusters in Ireland, divided
broadly into the following three sets: a) University College Dublin’s (UCD) own
clusters, including Phaeton, managed by UCD IT Services, and the SenseTile cluster, administered by members of UCD CASL; b) the Stokes and Stoney supercomputers of the Irish Centre for High End Computing (ICHEC); and c) GridIreland,
administered by members of Trinity College Dublin’s (TCD) School of Computer
Science and Statistics. The CPUs used in these clusters were of comparable speed,
typically quad-core Intel architecture chips running at 2.5–3.0GHz.
The procedure of the run varied significantly from one cluster to another, as it
had to be adapted to the policies put in place by each cluster’s administration.
• Jobs on UCD clusters were run on reserved processors: we were allocated
about 300 processors on Phaeton (the exact amount varied with time, and 20
of those processors were contributed by Amazon’s Elastic Compute Cloud)
and 78 processors on the SenseTile cluster to be used exclusively for our
project. Jobs were loaded to the queues by Python scripts that automatically
created and submitted PBS and SGE submission scripts for each instance. A
total of 78,831 instances (48.94% of the total) were run on these two clusters,
representing 70.59% of the total runtime: we deliberately ran the longest
instances here, as we were not constrained by walltime.
• ICHEC’s Stokes and Stoney supercomputers were equipped with taskfarming
software which automatically spawned jobs out of a batch file onto a number
of processors. In general, each submitted job used 256 processors and posted a
walltime of half a week. A total of 45,130 instances (28.02% of the total) were
run on these two supercomputers, representing 20.00% of the total runtime.
• On GridIreland, instances were packed into jobs three at a time, posting a
walltime of 24 hours. A total of 37,118 instances (23.04% of the total) were
run on this cluster, representing 9.41% of the total runtime.
As hinted to above, the runtime was not equidistributed over the various instances; rather, the runtime of the various instances varied considerably, as can be
seen in Figure 3. The shortest instance found corresponds to the quadruplet 13 12
14 15, which required 1,039s to complete, and the longest to the quadruplet 3 5
28 27, which required 65,891s to complete. Note that, since all CPUs used were of
comparable speed, this histogram genuinely represents the complexity of the various
instances of the run.
We have done everything in our power to ensure that the results we present are
correct, by a) extensive testing before the run; b) organizing the run in a failsafe
way; and c) extensive checks during and after the run. More precisely, before
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
79
3000
2500
2000
1500
1000
500
0
0
0.5
1
1.5
2
Time (s)
2.5
3
3.5
4
4
x 10
Figure 3. The histogram of runtimes of the various instances of
the project: outliers that required more than 40,000s are not shown.
Since the CPUs of the various clusters used were of comparable
speed, this histogram accurately represents the actual complexity
of the various instances.
the run we made sure the code successfully enumerated small orders such as 15,
16, 17, 18, and 19. During the run, it was our policy to consider the output of
an instance as correct, once produced, but not necessarily to trust a cluster to
have run all instances assigned to it: all instance outputs were concatenated in a
text file and were regularly compared against the master list of all instances to be
run. The output of each instance was a line containing seven integers such as 28
2 3 6 21 0 12327, the first being the order being enumerated, the next four the
starting quadruplet considered in the particular instance, the next the number of
Costas arrays recovered (usually 0, as in this example), and the last the number of
seconds the instance needed to run. Instances found to have been assigned but not
successfully run were then reassigned for execution.
Is, however, the result correct? In a computational project of this magnitude,
one must contemplate the possibility of error, no matter how stringent verification
criteria one has put in place. We therefore welcome all interested parties to replicate
our results.
6. An overview of the enumerated orders so far
Table 1 shows the number of Costas arrays per class and per order, over the
range of orders that have been enumerated, when one polymorph per EC is considered. Results are shown both in terms of absolute numbers and of percentages,
to facilitate comparisons. Most notably, the table shows that order 28 is the first
order following order 5 in which no sporadic Costas array exists (one of the first
sporadic Costas arrays of order 6 is shown in Figure 4). Therefore, the nonexistence
of sporadic Costas arrays is not an insignificant phenomenon confined to “trivially
small” orders, but seems to be reoccurring in larger orders as well. As things stand,
then, there are some interesting alternatives:
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
80
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
1. perhaps sporadic Costas arrays die out, and beyond some order all Costas
arrays are either generated or emergent; or
2. perhaps “a few” sporadic Costas arrays keep showing up (for infinitely many
orders), defying any attempt for a general description; or
3. perhaps there is later a resurgence of sporadic arrays and a large number exist
for large orders; or
4. perhaps there exists a new but yet undiscovered generation technique that
allows their systematic generation.
In order to determine which alternative is the most likely one, several facts and
observations must be combined. First, careful analysis of Table 1 yields the following
two observations:
• There is an abrupt change of behavior between orders 7 and 25, in the
sense that outside these orders the vast majority of Costas arrays are generated/emergent, whereas between these orders Costas arrays are almost exclusively sporadic (with the slight exception of order 22).
• PE Costas arrays are relatively rare in this range of orders, and their percentages are usually small. In contrast, UE Costas arrays usually represent
a significant percentage of all constructed Costas arrays, and are frequently
more numerous than generated Costas arrays themselves. Notable exceptions
to this are the last two orders in the table, 27 and 28.
These observations suggest a further investigation of UE Costas arrays. Our
rationale is that UE Costas arrays, whose construction is not currently known to
be guaranteed by some rigorous condition, essentially behave like sporadic ones,
except that they have the advantage to be “reachable” through simple transformations of other known Costas arrays, so their behavior will give an indication of the
behavior of sporadic ones. Indeed, we extended the search methodology for Rickard
Costas arrays, as proposed in [15], up to order 300: no Rickard Costas arrays were
discovered in orders higher than those considered in [15]. In the same search G1 and W0 -Costas arrays were also considered, and none were found above orders 52
and 53, respectively. In other words, UE Costas arrays seem to become extinct in
higher orders.
Last but not least, careful analysis [1, 18] has shown that the constraints a Costas
array of order n has to satisfy (other than the permutation condition) grow as O(n3 ):
this means that Costas array of large orders are very heavily constrained structures,
and the chance for “accidental” compliance with these constraints is significantly
diminished.
Putting everything together, a refined version of alternative 1 seems the most
likely: evidence suggests that, as the order increases, the only possible Costas arrays
are the systematically constructed ones. We formulate this as a
Conjecture 1. There exists a N ∈ N such that, for n > N , the only Costas arrays
of order n are either G or PE.
7. Conclusion
The major contribution of this work is the presentation of the results of the
enumeration of Costas arrays of order 28, and, in particular, the observation that
there are no sporadic Costas arrays of order 28. More precisely, all 712 Costas
arrays of order 28 found are either generated or emergent [19]: there are 672 W1 arrays, eight G1 -arrays, eight G3 -arrays, and 24 G4 -arrays. None was found to be
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
81
Figure 4. One of the first sporadic Costas arrays of order 6,
corresponding to permutation 2 3 6 1 5 4
symmetric. The enumeration required approximately 70 years of CPU time. Order
28 is the smallest recorded order after order 5 where no sporadic Costas arrays exist,
and the mere fact that this phenomenon has occurred for a “large” order is very
interesting.
According to our current knowledge, every known Costas array is either a) a
member of one of two families of Costas arrays, namely the Golomb and Welch
families, each actually comprising several subfamilies (including the Rickard constructions as well), or else b) one of finitely many Costas arrays not constructible
as members of these families, and thus currently considered to be “sporadic”, accidental occurrences. This is reminiscent of the project on the classification of finite
simple groups (CFSG), according to which, in very simple terms, every finite simple group is either produced as a member of one of three infinite families of finite
simple groups, or else is one of the 27 finite simple groups not belonging to any of
the aforementioned families, and are thus considered as “exceptional” or “sporadic”
occurrences.
Contrary to the case of finite simple groups, though, it is not yet known whether
the class of sporadic Costas arrays is finite or not. This question is closely related
to the most important question in the field of Costas arrays, namely the existence
of Costas arrays of any order. The researchers who worked on CFSG were fortunate
enough to know (or, at least, suspect) the exact formulation of the result. In order
to reach the same stage in the classification of Costas arrays, it currently seems that
enumeration is an indispensable tool, as it is, in fact, the only tool guaranteed to
find all Costas arrays in a given order.
The second contribution of this work is the classification of Costas arrays into
four classes, according to the applicability of the underlying construction algorithms
available for them. Generated Costas arrays result from algorithms whose applicability depends exclusively on the order of the array. Predictably emergent Costas
arrays, on the other hand, are constructed by algorithms that require some extra condition (in addition to the order) in order to be guaranteed to work. Unpredictably emergent Costas arrays result from transformations of generated ones
which are not guaranteed to work by any known condition, so their output needs to
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
82
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
Table 1. A breakdown per class of all known Costas arrays
of orders n ≤ 28: c(n) is the number of Costas arrays of order
n, when only one polymorph of each Costas array is considered;
G, PE, UE, and S stand for Generated, Predictably Emergent,
Unpredictably Emergent, and Sporadic, respectively. Percentages
are also provided to facilitate comparisons.
n
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
c(n)
2
6
17
30
60
100
277
555
990
1616
2168
2467
2648
2294
1892
1283
810
446
259
114
25
12
8
29
89
G
PE
UE
2 (100%)
0
0
3 (50.00%) 1 (16.67%) 2 (33.33%)
6 (35.29%)
0
4 (23.53%)
2 (6.67%)
1 (3.33%) 20 (66.67%)
1 (1.67%)
1 (1.67%) 8 (13.33%)
5 (5.00%)
0
0
11 (3.97%) 1 (0.36%) 19 (6.86%)
5 (0.90&)
0
20 (3.6%)
13 (1.31%)
0
17 (1.72%)
1 (0.07%)
0
13 (0.80%)
5 (0.23%)
0
0
14 (0.57%) 1 (0.04%)
3 (0.12%)
33 (1.25%) 1 (0.04%) 16 (0.60%)
9 (0.40%)
0
15 (0.65%)
27 (1.43%)
0
3 (0.16%)
0
0
2 (0.16%)
3 (0.37%)
0
0
20 (4.48%)
0
0
56 (3.86%)
0
10 (21.62%)
6 (5.26%)
0
8 (7.02%)
1 (4.00%)
0
0
7 (58.33%)
0
0
3 (37.5%)
1 (12.5%) 2 (25.00%)
27 (93.10%) 1 (3.45%)
0
88 (98.88%)
0
1 (1.12%)
S
0
0
7 (41.18%)
7 (23.33%)
50 (83.33%)
95 (95.00%)
246 (88.81%)
530 (95.5%)
960 (96.97%)
1602 (99.13%)
2163 (99.77%)
2449 (99.27%)
2598 (98.11%)
2270 (98.95%)
1862 (98.41%)
1281 (99.84%)
807 (99.63%)
426 (95.52%)
193 (74.52%)
100 (87.72%)
24 (96.00%)
5 (41.67%)
2 (25.00%)
1 (3.45%)
0
be explicitly tested. Finally, sporadic Costas arrays are of completely unknown origin and bear no known systematic relation to either generated or emergent Costas
arrays.
The main reason why Costas arrays appear so fascinating, at least to mathematicians, is that the constraints imposed by the Costas property are “just right”.
Indeed, if the constraints were fewer, the number of Costas arrays would most
likely rapidly increase from one order to the next; more constraints, on the other
hand, would most likely rapidly lead them to extinction in higher orders. None
of these two behaviors would be significant. As things stand, though, combining
the results of the enumeration of order 28, of the proposed classification, of known
results regarding the growth of the number of constraints a Costas array satisfies,
and of some further experiments performed, we can reach the conjecture that the
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
83
most likely behavior of Costas arrays will be that, from some order onwards, unpredictably emergent and sporadic Costas arrays will become extinct. Until then,
however, “accidental” instances of Costas arrays will show up from time to time.
The road ahead is now paved for the enumeration of Costas arrays of orders 29,
30, 31, and 32. Of most interest is 32, which is currently the smallest order for which
no Costas arrays is known. Using the empirically verified rule of thumb that the
complexity of the enumeration increases by 5 from one order to the next, we estimate
that the enumeration of order 32 requires 54 = 625 times more time/resources
than used now: hence, with 45,000 processors, definitely a large number but not
prohibitively so, this enumeration will only take a year.
Table 2: The lexicographically minimal polymorphs of Costas permutations of order 28, shown along with the method producing them. Because
of the large numbers of W1 -arrays, the other arrays are color coded, so
that they can be easily located in the array: G1 appear in italic blue,
G3 appear in italic red , and G4 appear in italic green.
1 2 4 8 16 3 6 12 24 19 9 18 7 14 28 27 25 21 13 26 23 17 5 10 20 11 22 15
1 3 9 27 23 11 4 12 7 21 5 15 16 19 28 26 20 2 6 18 25 17 22 8 24 14 13 10
1 4 16 7 11 19 9 10 3 14 20 22 27 12 26 13 8 6 28 17 24 23 5 25 21 2 18 15
1 6 26 11 27 3 5 16 23 4 14 8 7 10 24 21 22 28 18 9 2 19 17 13 25 12 20 15
1 8 6 19 7 27 13 17 20 15 4 3 24 18 28 21 23 10 22 2 16 12 9 14 25 26 5 11
1 10 13 14 24 8 22 17 25 18 6 2 20 26 28 19 16 15 5 21 7 12 4 11 23 27 9 3
1 10 18 19 3 27 25 28 7 12 2 8 23 6 20 9 22 16 26 21 14 11 13 17 5 4 24 15
1 14 10 27 7 23 17 12 19 20 18 8 11 2 16 25 22 4 6 5 26 3 9 21 13 24 28 15
1 15 22 11 20 10 5 17 23 26 13 21 25 27 28 14 7 18 9 19 24 12 6 3 16 8 4 2
1 16 20 3 23 7 13 18 11 10 12 22 19 28 14 5 8 26 24 25 4 27 21 9 17 6 2 15
1 17 22 13 19 23 24 27 11 8 25 15 28 7 18 6 26 12 21 3 5 20 16 14 9 2 10 4
1 18 5 3 25 15 9 17 16 27 22 19 23 8 28 11 24 26 4 14 20 12 13 2 7 10 6 21
1 19 13 15 24 21 22 12 25 11 6 27 20 3 28 10 16 14 5 8 7 17 4 18 23 2 9 26
2 1 15 22 11 20 10 5 17 23 26 13 21 25 27 28 14 7 18 9 19 24 12 6 3 16 8 4
2 3 7 4 24 8 14 5 12 25 27 9 20 15 1 6 23 13 11 26 19 28 22 10 18 21 17 16
2 5 17 8 12 20 10 11 4 15 21 23 28 13 27 14 9 7 1 18 25 24 6 26 22 3 19 16
2 6 18 25 17 22 8 24 14 13 10 1 3 9 27 23 11 4 12 7 21 5 15 16 19 28 26 20
2 7 10 6 21 1 18 5 3 25 15 9 17 16 27 22 19 23 8 28 11 24 26 4 14 20 12 13
2 7 27 12 28 4 6 17 24 5 15 9 8 11 25 22 23 1 19 10 3 20 18 14 26 13 21 16
2 8 9 6 4 11 26 22 16 25 7 10 23 18 17 5 27 1 15 20 28 21 12 14 24 13 3 19
2 9 26 1 19 13 15 24 21 22 12 25 11 6 27 20 3 28 10 16 14 5 8 7 17 4 18 23
2 11 19 20 4 28 26 1 8 13 3 9 24 7 21 10 23 17 27 22 15 12 14 18 6 5 25 16
2 13 1 24 20 12 22 7 28 3 25 23 4 5 19 18 9 11 17 14 21 8 26 6 10 15 27 16
2 13 12 20 14 4 26 24 11 28 8 23 19 22 27 16 17 9 15 25 3 5 18 1 21 6 10 7
2 15 11 28 8 24 18 13 20 21 19 9 12 3 17 26 23 5 7 6 27 4 10 22 14 25 1 16
2 16 12 9 14 25 26 5 11 1 8 6 19 7 27 13 17 20 15 4 3 24 18 28 21 23 10 22
2 17 21 4 24 8 14 19 12 11 13 23 20 1 15 6 9 27 25 26 5 28 22 10 18 7 3 16
2 19 3 8 12 20 10 25 4 1 7 9 28 27 13 14 23 21 15 18 11 24 6 26 22 17 5 16
2 20 26 28 19 16 15 5 21 7 12 4 11 23 27 9 3 1 10 13 14 24 8 22 17 25 18 6
2 21 13 12 28 4 6 3 24 19 1 23 8 25 11 22 9 15 5 10 17 20 18 14 26 27 7 16
2 22 10 23 21 28 18 24 3 4 15 20 17 13 27 7 19 6 8 1 11 5 26 25 14 9 12 16
2 23 18 4 17 7 8 5 14 16 10 28 3 20 27 6 11 25 12 22 21 24 15 13 19 1 26 9
2 25 5 20 4 28 26 15 8 27 17 23 24 21 7 10 9 3 13 22 1 12 14 18 6 19 11 16
2 27 15 24 20 12 22 21 28 17 11 9 4 19 5 18 23 25 3 14 7 8 26 6 10 1 13 16
Advances in Mathematics of Communications
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
G1
W1
W1
W1
W1
W1
W1
W1
W1
G3
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
Volume 5, No. 1 (2011), 69–86
84
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
3 2 26 1 9 25 19 28 21 8 6 24 13 18 4 27 10 20 22 7 14 5 11 23 15 12 16 17
3 4 8 5 25 9 15 6 13 26 28 10 21 16 2 7 24 14 12 27 20 1 23 11 19 22 18 17
3 4 15 20 17 13 27 7 19 6 8 1 11 5 26 25 14 9 12 16 2 22 10 23 21 28 18 24
3 5 18 1 21 6 10 7 2 13 12 20 14 4 26 24 11 28 8 23 19 22 27 16 17 9 15 25
3 6 12 24 19 9 18 7 14 28 27 25 21 13 26 23 17 5 10 20 11 22 15 1 2 4 8 16
3 6 18 9 13 21 11 12 5 16 22 24 1 14 28 15 10 8 2 19 26 25 7 27 23 4 20 17
3 8 28 13 1 5 7 18 25 6 16 10 9 12 26 23 24 2 20 11 4 21 19 15 27 14 22 17
3 12 20 21 5 1 27 2 9 14 4 10 25 8 22 11 24 18 28 23 16 13 15 19 7 6 26 17
3 13 8 25 2 28 15 7 11 9 10 24 17 6 26 16 21 4 27 1 14 22 18 20 19 5 12 23
3 16 8 4 2 1 15 22 11 20 10 5 17 23 26 13 21 25 27 28 14 7 18 9 19 24 12 6
3 16 12 1 9 25 19 14 21 22 20 10 13 4 18 27 24 6 8 7 28 5 11 23 15 26 2 17
3 18 22 5 25 9 15 20 13 12 14 24 21 2 16 7 10 28 26 27 6 1 23 11 19 8 4 17
3 20 4 9 13 21 11 26 5 2 8 10 1 28 14 15 24 22 16 19 12 25 7 27 23 18 6 17
3 23 12 5 19 20 18 22 14 1 27 4 21 16 26 6 17 24 10 9 11 7 15 28 2 25 8 13
3 24 18 28 21 23 10 22 2 16 12 9 14 25 26 5 11 1 8 6 19 7 27 13 17 20 15 4
3 26 6 21 5 1 27 16 9 28 18 24 25 22 8 11 10 4 14 23 2 13 15 19 7 20 12 17
3 27 9 6 2 23 10 18 28 12 19 4 21 15 17 20 1 5 14 25 26 24 16 7 13 8 22 11
4 3 24 18 28 21 23 10 22 2 16 12 9 14 25 26 5 11 1 8 6 19 7 27 13 17 20 15
4 3 27 2 10 26 20 1 22 9 7 25 14 19 5 28 11 21 23 8 15 6 12 24 16 13 17 18
4 5 9 6 26 10 16 7 14 27 1 11 22 17 3 8 25 15 13 28 21 2 24 12 20 23 19 18
4 7 19 10 14 22 12 13 6 17 23 25 2 15 1 16 11 9 3 20 27 26 8 28 24 5 21 18
4 11 23 27 9 3 1 10 13 14 24 8 22 17 25 18 6 2 20 26 28 19 16 15 5 21 7 12
4 12 7 21 5 15 16 19 28 26 20 2 6 18 25 17 22 8 24 14 13 10 1 3 9 27 23 11
4 13 21 22 6 2 28 3 10 15 5 11 26 9 23 12 25 19 1 24 17 14 16 20 8 7 27 18
4 17 7 8 5 14 16 10 28 3 20 27 6 11 25 12 22 21 24 15 13 19 1 26 9 2 23 18
4 17 13 2 10 26 20 15 22 23 21 11 14 5 19 28 25 7 9 8 1 6 12 24 16 27 3 18
4 18 23 2 9 26 1 19 13 15 24 21 22 12 25 11 6 27 20 3 28 10 16 14 5 8 7 17
4 19 23 6 26 10 16 21 14 13 15 25 22 3 17 8 11 1 27 28 7 2 24 12 20 9 5 18
4 21 5 10 14 22 12 27 6 3 9 11 2 1 15 16 25 23 17 20 13 26 8 28 24 19 7 18
4 26 24 11 28 8 23 19 22 27 16 17 9 15 25 3 5 18 1 21 6 10 7 2 13 12 20 14
4 27 7 22 6 2 28 17 10 1 19 25 26 23 9 12 11 5 15 24 3 14 16 20 8 21 13 18
5 2 18 27 23 15 25 24 3 20 14 12 7 22 8 21 26 28 6 17 10 11 1 9 13 4 16 19
5 2 27 12 8 6 13 25 24 26 9 18 4 14 17 28 3 21 11 19 1 23 16 20 15 7 22 10
5 6 10 7 27 11 17 8 15 28 2 12 23 18 4 9 26 16 14 1 22 3 25 13 21 24 20 19
5 8 20 11 15 23 13 14 7 18 24 26 3 16 2 17 12 10 4 21 28 27 9 1 25 6 22 19
5 10 20 11 22 15 1 2 4 8 16 3 6 12 24 19 9 18 7 14 28 27 25 21 13 26 23 17
5 12 23 3 13 8 25 2 28 15 7 11 9 10 24 17 6 26 16 21 4 27 1 14 22 18 20 19
5 15 16 19 28 26 20 2 6 18 25 17 22 8 24 14 13 10 1 3 9 27 23 11 4 12 7 21
5 16 4 27 23 15 25 10 3 6 28 26 7 8 22 21 12 14 20 17 24 11 1 9 13 18 2 19
5 17 23 26 13 21 25 27 28 14 7 18 9 19 24 12 6 3 16 8 4 2 1 15 22 11 20 10
5 19 20 18 22 14 1 27 4 21 16 26 6 17 24 10 9 11 7 15 28 2 25 8 13 3 23 12
5 20 24 7 27 11 17 22 15 14 16 26 23 4 18 9 12 2 28 1 8 3 25 13 21 10 6 19
6 3 16 8 4 2 1 15 22 11 20 10 5 17 23 26 13 21 25 27 28 14 7 18 9 19 24 12
6 9 21 12 16 24 14 15 8 19 25 27 4 17 3 18 13 11 5 22 1 28 10 2 26 7 23 20
6 11 3 16 4 8 10 21 28 9 19 13 12 15 1 26 27 5 23 14 7 24 22 18 2 17 25 20
6 23 7 12 16 24 14 1 8 5 11 13 4 3 17 18 27 25 19 22 15 28 10 2 26 21 9 20
6 25 17 16 4 8 10 7 28 23 5 27 12 1 15 26 13 19 9 14 21 24 22 18 2 3 11 20
6 26 16 21 4 27 1 14 22 18 20 19 5 12 23 3 13 8 25 2 28 15 7 11 9 10 24 17
7 2 10 25 9 5 3 20 13 4 22 28 1 26 12 15 14 8 18 27 6 17 19 23 11 24 16 21
7 8 5 14 16 10 28 3 20 27 6 11 25 12 22 21 24 15 13 19 1 26 9 2 23 18 4 17
7 12 4 17 5 9 11 22 1 10 20 14 13 16 2 27 28 6 24 15 8 25 23 19 3 18 26 21
Advances in Mathematics of Communications
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
G4
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
G4
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
W1
Volume 5, No. 1 (2011), 69–86
Enumeration of Costas arrays of order 28
7 16 24 25 9 5 3 6 13 18 8 14 1 12 26 15 28 22 4 27 20 17 19 23 11 10 2 21
7 21 5 15 16 19 28 26 20 2 6 18 25 17 22 8 24 14 13 10 1 3 9 27 23 11 4 12
7 26 18 17 5 9 11 8 1 24 6 28 13 2 16 27 14 20 10 15 22 25 23 19 3 4 12 21
7 27 24 14 16 23 6 17 11 28 13 1 9 15 19 12 8 3 21 22 20 25 4 26 10 2 5 18
85
W1
W1
W1
G4
Acknowledgments
The successful completion of this project would not have been possible without
the assistance of numerous individuals. The authors would like to acknowledge, in
particular, Winnie Ryan (UCD IT Services, Phaeton administrator), John Walsh
(TCD, GridIreland administrator), and Dragan Stosic (UCD CASL, SenseTile cluster administrator) for their prolonged involvement (on an almost daily basis, in some
cases) in and help with the project. They would also like to thank Fred Clarke and
Ruth Lynch (UCD IT Services) for their executive decision to reserve processors
on Phaeton for our project, Vieri del Bianco (UCD CASL, SenseTile cluster administrator) for allowing us to use SenseTile for our project, and Chris Bleakley
(UCD, School of Computer Science and Informatics) for many useful discussions
and valuable advice.
This material is based upon works supported by the Science Foundation Ireland under Grant No. 05/YI2/I677, 06/MI/006 (Claude Shannon Institute), and
08/RFP/MTH1164.
References
[1] L. Barker, K. Drakakis and S. Rickard, On the complexity of the verification of the Costas
property, Proc. IEEE, 97 (2009), 586–593.
[2] J. K. Beard, Private communication, May 2008.
[3] J. K. Beard, J. C. Russo, K. G. Erickson, M. C. Monteleone and M. T. Wright, Costas arrays
generation and search methodology, IEEE Trans. Aerospace Electr. Systems, 43 (2007), 522–
538.
[4] C. Brown, M. Cenki, R. Games, J. Rushanan, O. Moreno and P. Pei, New enumeration results
for Costas arrays, in “IEEE International Symposium on Information Theory,” (1993), 405.
[5] S. Cohen and G. Mullen, Primitive elements in finite fields and Costas arrays, Appl. Algebra
Engin. Commun. Comput., 2 (1991), 45–53.
[6] J. P. Costas, Medium constraints on SONAR design and performance, in “Technical Report
Class 1 Rep. R65EMH33,” GE Co., 1965; A synopsis of this report appeared in the EASCON
Convention Record, (1975), 68A–68L.
[7] J. P. Costas, A study of detection waveforms having nearly ideal range-doppler ambiguity
properties, Proc. IEEE, 72 (1984), 996–1009.
[8] K. Drakakis, A review of Costas arrays, J. Appl. Math., 2006, 32.
[9] K. Drakakis, R. Gow and L. O’Carroll, On the symmetry of Welch- and Golomb-constructed
Costas arrays, Discrete Math., 309 (2009), 2559–2563.
[10] K. Drakakis, S. Rickard, J. Beard, R. Caballero, F. Iorio, G. O’Brien and J. Walsh, Results
of the enumeration of Costas arrays of order 27 , IEEE Trans. Inform. Theory, 54 (2008),
4684–4687.
[11] S. W. Golomb, Algebraic constructions for Costas arrays, J. Combin. Theory Ser. A, 37
(1984), 13–21.
[12] S. W. Golomb, The T4 and G4 constructions for Costas arrays, IEEE Trans. Inform. Theory,
38 (1992), 1404–1406.
[13] S. W. Golomb and H. Taylor, Constructions and properties of Costas arrays, Proc. IEEE,
72 (1984), 1143–1163.
[14] K. Ireland and M. Rosen, “A Classical Introduction to Modern Number Theory,” 2nd edition,
Springer, 1990.
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86
86
Konstantinos Drakakis, Francesco Iorio and Scott Rickard
[15] S. Rickard, Searching for Costas arrays using periodicity properties, in “IMA International
Conference on Mathematics in Signal Processing at The Royal Agricultural College,” Cirencester, UK, 2004.
[16] S. Rickard, Open problems in Costas arrays, in “IMA International Conference on Mathematics in Signal Processing at The Royal Agricultural College,” Cirencester, UK, 2006.
[17] S. Rickard, E. Connell, F. Duignan, B. Ladendorf and A. Wade, The enumeration of Costas
arrays of size 26 , in “Conference on Information Signals and Systems,” Princeton University,
USA, 2006.
[18] J. Silverman, V. Vickers and J. Mooney, On the number of Costas arrays as a function of
array size, Proc. IEEE, 76 (1988), 851–853.
[19] K. Taylor, K. Drakakis and S. Rickard, Generated, emergent, and sporadic Costas arrays, in
“IMA International Conference on Mathematics in Signal Processing at The Royal Agricultural College,” Cirencester, UK, 2008.
Received for publication July 2010.
E-mail address: [email protected]
E-mail address: [email protected]
E-mail address: [email protected]
Advances in Mathematics of Communications
Volume 5, No. 1 (2011), 69–86