A Costas array may be represented numerically as an n×n array of numbers, where each entry is either 1, for a point, or 0, for the absence of a point. When interpreted as binary matrices, these arrays of numbers have the property that, since each row and column has the constraint that it only has one point on it, they are therefore also permutation matrices. Thus, the Costas arrays for any given n are a subset of the permutation matrices of order n.
Arrays are usually described as a series of indices specifying the column for any row. Since it is given that any column has only one point, it is possible to represent an array one-dimensionally. For instance, the following is a valid Costas array of order N = 4:
There are dots at coordinates: (1,2), (2,1), (3,3), (4,4)
Since the x-coordinate increases linearly, we can write this in shorthand as the set of all y-coordinates. The position in the set would then be the x-coordinate. Observe: {2,1,3,4} would describe the aforementioned array. This defines a permutation. This makes it easy to communicate the arrays for a given order of N.
Costas array counts are known for orders 1 through 292 (sequence A008404 in the OEIS):
Here are some known arrays: N = 1 {1}
N = 2 {1,2} {2,1}
N = 3 {1,3,2} {2,1,3} {2,3,1} {3,1,2}
N = 4 {1,2,4,3} {1,3,4,2} {1,4,2,3} {2,1,3,4} {2,3,1,4} {2,4,3,1} {3,1,2,4} {3,2,4,1} {3,4,2,1} {4,1,3,2} {4,2,1,3} {4,3,1,2}
N = 5 {1,3,4,2,5} {1,4,2,3,5} {1,4,3,5,2} {1,4,5,3,2} {1,5,3,2,4} {1,5,4,2,3} {2,1,4,5,3} {2,1,5,3,4} {2,3,1,5,4} {2,3,5,1,4} {2,3,5,4,1} {2,4,1,5,3} {2,4,3,1,5} {2,5,1,3,4} {2,5,3,4,1} {2,5,4,1,3} {3,1,2,5,4} {3,1,4,5,2} {3,1,5,2,4} {3,2,4,5,1} {3,4,2,1,5} {3,5,1,4,2} {3,5,2,1,4} {3,5,4,1,2} {4,1,2,5,3} {4,1,3,2,5} {4,1,5,3,2} {4,2,3,5,1} {4,2,5,1,3} {4,3,1,2,5} {4,3,1,5,2} {4,3,5,1,2} {4,5,1,3,2} {4,5,2,1,3} {5,1,2,4,3} {5,1,3,4,2} {5,2,1,3,4} {5,2,3,1,4} {5,2,4,3,1} {5,3,2,4,1}
N = 6 {1,2,5,4,6,3} {1,2,6,4,3,5} {1,3,2,5,6,4} {1,3,2,6,4,5} {1,3,6,4,5,2} {1,4,3,5,6,2} {1,4,5,3,2,6} {1,4,6,5,2,3} {1,5,3,4,6,2} {1,5,3,6,2,4} {1,5,4,2,3,6} {1,5,4,6,2,3} {1,5,6,2,4,3} {1,5,6,3,2,4} {1,6,2,4,5,3} {1,6,3,2,4,5} {1,6,3,4,2,5} {1,6,3,5,4,2} {1,6,4,3,5,2} {2,3,1,5,4,6} {2,3,5,4,1,6} {2,3,6,1,5,4} {2,4,1,6,5,3} {2,4,3,1,5,6} {2,4,3,6,1,5} {2,4,5,1,6,3} {2,4,5,3,6,1} {2,5,1,6,3,4} {2,5,1,6,4,3} {2,5,3,4,1,6} {2,5,3,4,6,1} {2,5,4,6,3,1} {2,6,1,4,3,5} {2,6,4,3,5,1} {2,6,4,5,1,3} {2,6,5,3,4,1} {3,1,2,5,4,6} {3,1,5,4,6,2} {3,1,5,6,2,4} {3,1,6,2,5,4} {3,1,6,5,2,4} {3,2,5,1,6,4} {3,2,5,6,4,1} {3,2,6,1,4,5} {3,2,6,4,5,1} {3,4,1,6,2,5} {3,4,2,6,5,1} {3,4,6,1,5,2} {3,5,1,2,6,4} {3,5,1,4,2,6} {3,5,2,1,6,4} {3,5,4,1,2,6} {3,5,4,2,6,1} {3,5,6,1,4,2} {3,5,6,2,1,4} {3,6,1,5,4,2} {3,6,4,5,2,1} {3,6,5,1,2,4} {4,1,2,6,5,3} {4,1,3,2,5,6} {4,1,6,2,3,5} {4,2,1,5,6,3} {4,2,1,6,3,5} {4,2,3,5,1,6} {4,2,3,6,5,1} {4,2,5,6,1,3} {4,2,6,3,5,1} {4,2,6,5,1,3} {4,3,1,6,2,5} {4,3,5,1,2,6} {4,3,6,1,5,2} {4,5,1,3,2,6} {4,5,1,6,3,2} {4,5,2,1,3,6} {4,5,2,6,1,3} {4,6,1,2,5,3} {4,6,1,5,2,3} {4,6,2,1,5,3} {4,6,2,3,1,5} {4,6,5,2,3,1} {5,1,2,4,3,6} {5,1,3,2,6,4} {5,1,3,4,2,6} {5,1,6,3,4,2} {5,2,3,1,4,6} {5,2,4,3,1,6} {5,2,4,3,6,1} {5,2,6,1,3,4} {5,2,6,1,4,3} {5,3,2,4,1,6} {5,3,2,6,1,4} {5,3,4,1,6,2} {5,3,4,6,2,1} {5,3,6,1,2,4} {5,4,1,6,2,3} {5,4,2,3,6,1} {5,4,6,2,3,1} {6,1,3,4,2,5} {6,1,4,2,3,5} {6,1,4,3,5,2} {6,1,4,5,3,2} {6,1,5,3,2,4} {6,2,1,4,5,3} {6,2,1,5,3,4} {6,2,3,1,5,4} {6,2,3,5,4,1} {6,2,4,1,5,3} {6,2,4,3,1,5} {6,3,1,2,5,4} {6,3,2,4,5,1} {6,3,4,2,1,5} {6,4,1,3,2,5} {6,4,5,1,3,2} {6,4,5,2,1,3} {6,5,1,3,4,2} {6,5,2,3,1,4}
Enumeration of known Costas arrays to order 200,3 order 5004 and to order 10305 are available. Although these lists and databases of these Costas arrays are likely near complete, other Costas arrays with orders above 29 that are not in these lists may exist. In general, the currently best known upper bound on the number C ( n ) {\displaystyle C(n)} of Costas Arrays of order n {\displaystyle n} is of asymptotic form C ( n ) / n ! ≤ e − Θ ( n ) {\displaystyle C(n)/n!\leq e^{-\Theta (n)}} .6
A Welch–Costas array, or just Welch array, is a Costas array generated using the following method, first discovered by Edgar Gilbert in 1965 and rediscovered in 1982 by Lloyd R. Welch. The Welch–Costas array is constructed by taking a primitive root g of a prime number p and defining the array A by A i , j = 1 {\displaystyle A_{i,j}=1} if j ≡ g i mod p {\displaystyle j\equiv g^{i}{\bmod {p}}} , otherwise 0. The result is a Costas array of size p − 1.
Example:
3 is a primitive element modulo 5.
Therefore, [3 4 2 1] is a Costas permutation. More specifically, this is an exponential Welch array. The transposition of the array is a logarithmic Welch array.
The number of Welch–Costas arrays which exist for a given size depends on the totient function.
The Lempel–Golomb construction takes α and β to be primitive elements of the finite field GF(q) and similarly defines A i , j = 1 {\displaystyle A_{i,j}=1} if α i + β j = 1 {\displaystyle \alpha ^{i}+\beta ^{j}=1} , otherwise 0. The result is a Costas array of size q − 2. If α + β = 1 then the first row and column may be deleted to form another Costas array of size q − 3: such a pair of primitive elements exists for every prime power q>2.
Generation of new Costas arrays by adding or subtracting a row/column or two with a 1 or a pair of 1's in a corner were published in a paper focused on generation methods7 and in Golomb and Taylor's landmark 1984 paper.8
More sophisticated methods of generating new Costas arrays by deleting rows and columns of existing Costas arrays that were generated by the Welch, Lempel or Golomb generators were published in 1992.9 There is no upper limit on the order for which these generators will produce Costas arrays.
Two methods that found Costas arrays up to order 52 using more complicated methods of adding or deleting rows and columns were published in 200410 and 2007.11
Costas arrays on a hexagonal lattice are known as honeycomb arrays. It has been shown that there are only finitely many such arrays, which must have an odd number of elements, arranged in the shape of a hexagon. Currently, 12 such arrays (up to symmetry) are known, which has been conjectured to be the total number.12
Costas (1965); Gilbert (1965); An independent discovery of Costas arrays, Aaron Sterling, October 9, 2011. - Costas, J. P. (1965), Medium constraints on sonar design and performance, Class 1 Report R65EMH33, G.E. Corporation ↩
Beard (2006); Drakakis et al. (2008); Drakakis, Iorio & Rickard (2011); Drakakis et al. (2011) - Beard, James (March 2006), "Generating Costas Arrays to Order 200", 2006 40th Annual Conference on Information Sciences and Systems, IEEE, doi:10.1109/ciss.2006.286635, S2CID 2241386 https://doi.org/10.1109%2Fciss.2006.286635 ↩
Beard (2006). - Beard, James (March 2006), "Generating Costas Arrays to Order 200", 2006 40th Annual Conference on Information Sciences and Systems, IEEE, doi:10.1109/ciss.2006.286635, S2CID 2241386 https://doi.org/10.1109%2Fciss.2006.286635 ↩
Beard (2008). - Beard, James K. (March 2008), "Costas array generator polynomials in finite fields", 2008 42nd Annual Conference on Information Sciences and Systems, IEEE, doi:10.1109/ciss.2008.4558709, S2CID 614347 https://doi.org/10.1109%2Fciss.2008.4558709 ↩
Beard (2017); Beard, James K., Files for Download: Costas Arrays, retrieved 2020-04-20 - Beard, James K. (2017), Costas arrays and enumeration to order 1030, IEEE Dataport, doi:10.21227/H21P42 https://ieee-dataport.org/open-access/costas-arrays-and-enumeration-order-1030 ↩
Warnke, Correll & Swanson (2023). - Warnke, Lutz; Correll, Bill; Swanson, Christopher (2023), "The density of Costas arrays decays exponentially", IEEE Transactions on Information Theory, 69 (1): 575–581, doi:10.1109/TIT.2022.3202507, MR 4544975 https://doi.org/10.1109%2FTIT.2022.3202507 ↩
Golomb (1984). - Golomb, Solomon W. (1984), "Algebraic constructions for Costas arrays", Journal of Combinatorial Theory, Series A, 37 (1): 13–21, doi:10.1016/0097-3165(84)90015-3, MR 0749508 https://doi.org/10.1016%2F0097-3165%2884%2990015-3 ↩
Golomb & Taylor (1984). - Golomb, S. W.; Taylor, H. (1984), "Construction and properties of Costas arrays" (PDF), Proceedings of the IEEE, 72 (9): 1143–1163, doi:10.1109/PROC.1984.12994, S2CID 39718506, archived from the original (PDF) on 2011-09-30, retrieved 2011-10-10 https://web.archive.org/web/20110930054835/http://www.costasarrays.org/costasrefs/golomb84constructions.pdf ↩
Golomb (1992). - Golomb, Solomon W. (1992), "The T 4 {\displaystyle T_{4}} and G 4 {\displaystyle G_{4}} constructions for Costas arrays", IEEE Transactions on Information Theory, 38 (4): 1404–1406, doi:10.1109/18.144726, MR 1168761 https://doi.org/10.1109%2F18.144726 ↩
Rickard (2004). - Rickard, Scott (2004), "Searching for Costas Arrays using Periodicity Properties", IMA International Conference on Mathematics in Signal Processing ↩
Beard et al. (2007). - Beard, James; Russo, Jon; Erickson, Keith; Monteleone, Michael; Wright, Michael (April 2007), "Costas array generation and search methodology", IEEE Transactions on Aerospace and Electronic Systems, 43 (2): 522–538, doi:10.1109/taes.2007.4285351, S2CID 32271456 https://zenodo.org/record/893374 ↩
Blackburn, Simon R.; Panoui, Anastasia; Paterson, Maura B.; Stinson, Douglas R. (2010-12-10), "Honeycomb Arrays", The Electronic Journal of Combinatorics, 17: R172, doi:10.37236/444, ISSN 1077-8926 https://www.combinatorics.org/ojs/index.php/eljc/article/view/v17i1r172 ↩