Costas array
Template:Short description Template:CS1 config

In mathematics, a Costas array can be regarded geometrically as a set of n points, each at the center of a square in an n×n square tiling such that each row or column contains only one point, and all of the n(n − 1)/2 displacement vectors between each pair of dots are distinct. This results in an ideal "thumbtack" auto-ambiguity function, making the arrays useful in applications such as sonar and radar. Costas arrays can be regarded as two-dimensional cousins of the one-dimensional Golomb ruler construction, and, as well as being of mathematical interest, have similar applications in experimental design and phased array radar engineering.
Costas arrays are named after John P. Costas, who first wrote about them in a 1965 technical report. Independently, Edgar Gilbert also wrote about them in the same year, publishing what is now known as the logarithmic Welch method of constructing Costas arrays.[1] The general enumeration of Costas arrays is an open problem in computer science and finding an algorithm that can solve it in polynomial time is an open research question.
Numerical representation
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:
- or simply
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.
Known arrays
Costas array counts are known for orders 1 through 29[2] (sequence A008404 in the OEIS):
| Order | Number |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 4 |
| 4 | 12 |
| 5 | 40 |
| 6 | 116 |
| 7 | 200 |
| 8 | 444 |
| 9 | 760 |
| 10 | 2160 |
| 11 | 4368 |
| 12 | 7852 |
| 13 | 12828 |
| 14 | 17252 |
| 15 | 19612 |
| 16 | 21104 |
| 17 | 18276 |
| 18 | 15096 |
| 19 | 10240 |
| 20 | 6464 |
| 21 | 3536 |
| 22 | 2052 |
| 23 | 872 |
| 24 | 200 |
| 25 | 88 |
| 26 | 56 |
| 27 | 204 |
| 28 | 712 |
| 29 | 164 |
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,Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. order 500Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. and to order 1030[3] 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 of Costas Arrays of order is of asymptotic form .Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
Constructions
Several constructions exist for systematically producing Costas arrays for arbitrarily large n. However, they only produce Costas arrays for some n, and they do not produce all possible Costas arrays.
Welch
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 if , otherwise 0. The result is a Costas array of size p − 1.
Example:
3 is a primitive element modulo 5.
- 31 = 3 ≡ 3 (mod 5)
- 32 = 9 ≡ 4 (mod 5)
- 33 = 27 ≡ 2 (mod 5)
- 34 = 81 ≡ 1 (mod 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.
Lempel–Golomb
The Lempel–Golomb construction takes α and β to be primitive elements of the finite field GF(q) and similarly defines if , 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.
Extensions by Taylor, Lempel, and Golomb
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 methodsLua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. and in Golomb and Taylor's landmark 1984 paper.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
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.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. There is no upper limit on the order for which these generators will produce Costas arrays.
Other methods
Two methods that found Costas arrays up to order 52 using more complicated methods of adding or deleting rows and columns were published in 2004Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. and 2007.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
Variants
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.[4]
Golomb and Taylor noted that a small number of Costas arrays have the property that no two points are diagonally adjacent to each other.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. These are known as non-attacking kings Costas arrays (NAKCAs), since placing a chess king at each point results in a configuration where no two kings attack each other. A subset of NAKCAs are generated systematically using a variant of the Lempel–Golomb construction. A stronger condition defines the non-attacking queens Costas arrays (NAQCAs), which are Costas arrays which are also solutions to the n queens problem. The only known NAQCA is the trivial 1×1 Costas array, and it is conjectured that no others exist.[5]
See also
Notes
Page Template:Reflist/styles.css has no content.
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; An independent discovery of Costas arrays, Aaron Sterling, October 9, 2011.
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
- ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.; Page Module:Citation/CS1/styles.css has no content.Beard, James K., Files for Download: Costas Arrays, retrieved 2020-04-20
- ^ Page Module:Citation/CS1/styles.css has no content.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
- ^ Page Module:Citation/CS1/styles.css has no content.Drakakis, K., Gow, R., Rickard, S. (2009), "Common distance vectors between Costas arrays", Advances in Mathematics of Communications, 3 (1): 35–52, doi:10.3934/amc.2009.3.35, ISSN 1930-5338
References
- Page Module:Citation/CS1/styles.css has no content.Barker, L.; Drakakis, K.; Rickard, S. (2009), "On the complexity of the verification of the Costas property" (PDF), Proceedings of the IEEE, 97 (3): 586–593, doi:10.1109/JPROC.2008.2011947, S2CID 29776660, archived from the original (PDF) on 2012-04-25, retrieved 2011-10-10.
- Page Module:Citation/CS1/styles.css has no content.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.
- Page Module:Citation/CS1/styles.css has no content.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.
- Page Module:Citation/CS1/styles.css has no content.Beard, James K. (2017), Costas arrays and enumeration to order 1030, IEEE Dataport, doi:10.21227/H21P42.
- Page Module:Citation/CS1/styles.css has no content.Beard, J.; Russo, J.; Erickson, K.; Monteleone, M.; Wright, M. (2004), "Combinatoric collaboration on Costas arrays and radar applications", IEEE Radar Conference, Philadelphia, Pennsylvania (PDF), pp. 260–265, doi:10.1109/NRC.2004.1316432, S2CID 7733481, archived from the original (PDF) on 2012-04-25, retrieved 2011-10-10.
- Page Module:Citation/CS1/styles.css has no content.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.
- Page Module:Citation/CS1/styles.css has no content.Costas, J. P. (1965), Medium constraints on sonar design and performance, Class 1 Report R65EMH33, G.E. Corporation
- Page Module:Citation/CS1/styles.css has no content.Costas, J. P. (1984), "A study of a class of detection waveforms having nearly ideal range-Doppler ambiguity properties" (PDF), Proceedings of the IEEE, 72 (8): 996–1009, doi:10.1109/PROC.1984.12967, S2CID 2742217, archived from the original (PDF) on 2011-09-30, retrieved 2011-10-10.
- Page Module:Citation/CS1/styles.css has no content.Drakakis, Konstantinos; Rickard, Scott; Beard, James K.; Caballero, Rodrigo; Iorio, Francesco; O'Brien, Gareth; Walsh, John (October 2008), "Results of the Enumeration of Costas Arrays of Order 27", IEEE Transactions on Information Theory, 54 (10): 4684–4687, doi:10.1109/tit.2008.928979, hdl:2262/59260.
- Page Module:Citation/CS1/styles.css has no content.Drakakis, Konstantinos; Iorio, Francesco; Rickard, Scott (2011), "The enumeration of Costas arrays of order 28 and its consequences", Advances in Mathematics of Communications
- Page Module:Citation/CS1/styles.css has no content.Drakakis, Konstantinos; Iorio, Francesco; Rickard, Scott; Walsh, John (August 2011), "Results of the enumeration of Costas arrays of order 29", Advances in Mathematics of Communications, 5 (3): 547–553, doi:10.3934/amc.2011.5.547, hdl:2262/59260.
- Page Module:Citation/CS1/styles.css has no content.Gilbert, E. N. (1965), "Latin squares which contain no repeated digrams", SIAM Review, 7 (2): 189–198, doi:10.1137/1007035, MR 0179095.
- Page Module:Citation/CS1/styles.css has no content.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.
- Page Module:Citation/CS1/styles.css has no content.Golomb, Solomon W. (1992), "The and constructions for Costas arrays", IEEE Transactions on Information Theory, 38 (4): 1404–1406, doi:10.1109/18.144726, MR 1168761
- Page Module:Citation/CS1/styles.css has no content.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.
- Page Module:Citation/CS1/styles.css has no content.Guy, Richard K. (2004), "Sections C18 and F9", Unsolved Problems in Number Theory (3rd ed.), Springer Verlag, ISBN 0-387-20860-7.
- Page Module:Citation/CS1/styles.css has no content.Moreno, Oscar (1999), "Survey of results on signal patterns for locating one or multiple targets", in Pott, Alexander; Kumar, P. Vijay; Helleseth, Tor; et al. (eds.), Difference Sets, Sequences and Their Correlation Properties, NATO Advanced Science Institutes Series, vol. 542, Kluwer, p. 353, ISBN 0-7923-5958-5.
- Page Module:Citation/CS1/styles.css has no content.Rickard, Scott (2004), "Searching for Costas Arrays using Periodicity Properties", IMA International Conference on Mathematics in Signal Processing.
- Page Module:Citation/CS1/styles.css has no content.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.
External links
- MacTech 1999 Programmer's challenge: Costas arrays
- On-Line Encyclopedia of Integer Sequences:
- Script error: No such module "Template wrapper".