arXiv:1903.02255v1 [cs.IT] 6 Mar 2019 hoe 1.3 Theorem where en ninrpoutoe h class the over product inner an define ihiiilconditions initial with hoe 1.2 Theorem where oyoil r endas defined are polynomials eateto lcrclEgneigadDprmn fMathema Link¨oping, of Sweden 83 Department SE-581 Link¨oping and University, Engineering Electrical of Department Danev Danyo Bulga of Blagoevgrad, Academy University, Southwestern Bulgarian Faculty, Technical Informatics, and Mathematics for Institute Boyvalenkov Peter Bounds Programming Linear rlmnre rwcokplnmas oe,addesig and codes, polynomials, 1.1 Krawtchouk Definition – Preliminaries 1 ne,adbscfcs h agtadec fteEccoei is Encyclopedia the of audience students. target graduate Pa The and and facts. Kim, basic definitions, Jon-Lark and emphasizing Huffman, ences, articles, foundational Cary but W. short collect by will edited press), (CRC ory” δ ( z j ( i  hscatri rte o h otcmn ok” ocs Encyclo Concise ”A book forthcoming the for written is chapter This i ) 1) + := steDrcdlamaueat measure Dirac-delta the is z ( K z ([57]) ([57]) i ( K Kathu polynomials) (Krawtchouk − +1 n,q i ( 1) n,q ) ( . . z · · · ) h iceemeasure discrete The h polynomials The [ = ) K ( z 0 := ) ( ( n,q z i − ) dµ ( + ( X j z j =0 i 1 = ) n 1) + q ( ( t − − := ) 1) /j 1)( h ,g f, and j !, q ( n P q − K z i n − n i − K = ∈ i ( { ∈ fra oyoil fdge esta reulto equal or than less degree of polynomials real of X i n,q i 1 1) =0 ( . n ) Abstract R n,q Z − ) i Let . 0 − (  ) , f z j ( qz 1 1 n ) i ( z q n , . . . , t  j = ) n ] aif h he-emrcrec relation recurrence three-term the satisfy )  K g ( ≥ q n ( n i ( t n,q n − ) − − and 1 dµ ( } ) q 1) j i ( n h form the and , n  − z i ( ) δ ria t 1) ( − (2) ) t z j q cecs oa Bulgaria; Sofia, Sciences,  − tics, − ( ≥ q i , i qz − ) eitgr.TeKrawtchouk The integers. be 2 dt, pe ee undergraduates level upper xmls xasierefer- exhaustive examples, . 1)( 0 = n , rc o´.Ti book This Sol´e. trick ei fCdn The- Coding of pedia − 1 , i 2 [email protected] , . . . , 1) + [email protected] K i ( − n,q 1 ) ( z ) ns n (1) . Theorem 1.4 (Orthogonality relations, [57]). Under the inner product (2) the Krawtchouk poly- nomials satisfy n n n K(n,q)(u)K(n,q)(u)(q 1)u = δ qn(q 1)i i j − u i,j − i Xu=0     for any i, j 0, 1,...,n . Moreover, ∈ { } n (n,q) (n,q) n Ki (u)Ku (j)= δi,jq . u=0 X n (n,q) Theorem 1.5 (Expansion, [57]). If f(z)= i=0 fiKi (z), then 1 n n P− n f = qn(q 1)i f(u)K(n,q)(u)(q 1)u i − i i − u    u=0   n X n (n,q) = q− f(u)Ku (i). u=0 X n+1 Definition 1.6. Define K(n,q)(z) := q n (u z). Note that K(n,q)(z) is orthogonal to any n+1 (n+1)! u=0 − n+1 (n,q) polynomial Ki (z), i = 0, 1,...,n, with respectQ to the measure (1). Theorem 1.7 (Krein condition, [57]). For any i, j 0, 1,...,n ∈ { } n (n,q) (n,q) u (n,q) (n,q) Ki (z)Kj (z)= pi,jKu (z) (mod Kn+1 (z)) u=0 X with pu = 0 if i + j > u, pu > 0 if i + j = u n, and pu 0 otherwise. i,j i,j ≤ i,j ≥ Definition 1.8. Denote i 1 n − T n,q(z, w) := K(n,q)(z)K(n,q)(w) (q 1)j . i j j − j Xj=0    Theorem 1.9 (Christoffel-Darboux formula, [57]). For any i = 0, 1,...,n and any real z and w i + 1 (w z)T n,q(z, w)= K(n,q)(z)K(n,q)(w) K(n,q)(w)K(n,q)(z) . − i q(q 1)i n i+1 i − i+1 i − i   Let F n be a code, where F = 0, 1,...,q 1 is the alphabet of q symbols (so q is not C ⊆ q q { − } necessarily a power of a prime). For x,y F n, recall that d(x,y) is the number of coordinates ∈ q where x and y disagree. Definition 1.10. The vector B( ) = (B ,B ,...,B ), where C 0 1 n 1 B = (x,y) 2 : d(x,y)= i , i = 0, 1,...,n, i { ∈C } |C| is called the distance distribution of . Clearly, B = 1 and B = 0 for i = 1, 2,...,d 1, C 0 i − where d is the minimum distance of . C

2 Definition 1.11. The vector B ( ) = (B ,B ,...,B ), where ′ C 0′ 1′ n′ n 1 (n,q) Bi′ = BjKi (j), i = 0, 1,...,n, |C| Xj=0 is called the dual distance distribution of or the MacWilliams transform of B( ). Ob- C C viously B0′ = 1.

Theorem 1.12 ([36, 37]). The dual distance distribution of satisfies C

B′ 0, i = 1, 2,...,n. i ≥ Theorem 1.13 ([60]). If q is a power of a prime and is a linear code in Fn, then B ( ) is the C q ′ C distance distribution of the dual code . C⊥ Definition 1.14. The smallest positive integer i such that B = 0 is called the dual distance i′ 6 of and is denoted by d = d ( ). Denote by s = s( ) (resp., s = s ( )) the number of nonzero C ′ ′ C C ′ ′ C B ’s (resp., B ’s), i 1, 2,...,n , i.e. i i′ ∈ { }

s = i : B = 0,i> 0 , s′ = i : B′ = 0,i> 0 . |{ i 6 }| |{ i 6 }| The number s is called the external distance of . Define δ =0 if B = 0 and δ = 1 otherwise ′ C n (respectively, δ′ =0 if Bn′ = 0 and δ′ = 1 otherwise).

Definition 1.15. Let F n be a code and M be a codeword matrix consisting of all vectors of C ⊆ q as rows. Then is called a τ-design if any set of τ-columns of M contains any τ-tuple of F τ C C q the same number of times (namely, λ := /qτ ). The largest positive integer τ such that is a |C| C τ-design is called the strength of and is denoted by τ( ). The number λ is called the index C C of . C n Remark 1.16. A τ-design in Fq is also called an orthogonal array of strength τ [37] or a τ-wise independent set [4] (see also [49]).

Theorem 1.17 ([36, 37]). If F n has dual distance d = d ( ), then is a τ-design, where C ⊆ q ′ ′ C C τ = d 1. ′ − n (n,q) Definition 1.18. For a real polynomial f(z)= i=0 fiKi (z), the polynomial

nP n/2 (n,q) f(z)= q− f(j)Kj (z) Xj=0 b n/2 is called the dual to f(z). Note that the dual to f(z) is f(z) and also that f(i)= q fi for any i 0, 1,...,n . ∈ { } b b 3 2 General linear programming theorems

n Theorem 2.1 ([36, 37]). For any code Fq with distance distribution (B0,B1,...,Bn) and C ⊆ n (n,q) dual distance distribution (B0′ ,B1′ ,...,Bn′ ), and any real polynomial f(z) = i=0 fiKi (z), it is valid that n n P f(0) + Bif(i)= f0 + fiBi′ . |C| ! Xi=1 Xi=1 In Definition 1.9.1 in Chapter 1, Aq(n, d) is defined for codes over Fq. We now extend that definition to codes over Fq as only the alphabet size is important and not its structure. Definition 2.2. For fixed q, n, and d 1, 2,...,n denote ∈ { } A (n, d) := max : F n, d( )= d . q {|C| C ⊆ q C } Definition 2.3. For fixed q, n, and τ 1, 2,...,n denote ∈ { } B (n,τ) := min : F n, τ( )= τ . q {|C| C ⊆ q C } Theorem 2.4 (Linear Programming Bound for codes [36, 37]). Let the real polynomial f(z) = n (n,q) i=0 fiKi (z) satisfy the conditions (A1)P f > 0, f 0 for i = 1, 2,...,n; 0 i ≥ (A2) f(0) > 0, f(i) 0 for i = d, d + 1,...,n. ≤ Then A (n, d) f(0)/f . Equality holds for codes F n with d( ) = d, distance distribu- q ≤ 0 C ⊆ q C tion (B0,B1,...,Bn), dual distance distribution (B0′ ,B1′ ,...,Bn′ ) and polynomials f(z) such that Bif(i) = 0 and Bi′fi = 0 for every i = 1, 2,...,n. Remark 2.5. The polynomial f from Theorem 2.4 is implicit in Theorem 1.9.23 a) from Chapter n (n,q) 1 as i=0 BiKi (i) and it is normalized for f0 (or B0) to be equal to 1; note also the normal- ization of the Krawtchouk polynomials. Thus the bound f(1)/f appears as n B in Chapter P 0 i=0 i 1. P Theorem 2.6 (Linear Programming Bound for designs [36, 37]). Let the real polynomial f(z)= n (n,q) i=0 fiKi (z) satisfy the conditions (B1)P f > 0, f 0 for i = τ + 1,τ + 2,...,n; 0 i ≤ (B2) f(0) > 0, f(i) 0 for i = 1, 2,...,n. ≥ Then B (n,τ) f(0)/f . Equality holds for designs F n with τ( ) = τ, distance distribu- q ≥ 0 C ⊆ q C tion (B0,B1,...,Bn), dual distance distribution (B0′ ,B1′ ,...,Bn′ ) and polynomial f(z) such that Bif(i) = 0 and Bi′fi = 0 for every i = 1, 2,...,n. Remark 2.7. The Rao Bound in Theorem 3.3 and Levenshtein Bound in 3.10 below are obtained by suitable polynomials in Theorems 2.4 and 2.6, respectively. Examples of codes attaining these bounds are listed in Table 1 below.

4 Theorem 2.8 (Duality, [59]). A real polynomial f(z) satisfies the conditions (A1) and (A2) if and only if its dual polynomial f satisfies the conditions (B1) and (B2). Moreover,

b f(0) f(0) = qn. f0 · f0 b Remark 2.9. Rephrased, the duality means thatb for any polynomial f which is good for linear programming for codes, its dual is good for linear programming for designs (and conversely). Thus we obtain, in a sense, bounds for free. In particular, the duality justifies the pairs of bounds in Theorems 3.1, 3.3 and 3.10 below.

See also [29, 39, 45, 46, 59].

Definition 2.10. For a code F n and a function h : 1, 2,...,n R the potential energy C ⊆ q { }→ of with respect to h is defined to be C E ( ) := h(d(x,y)). h C x,y ,x=y ∈CX 6 Definition 2.11. For fixed q, n, h, and M 2, 3,...,qn denote ∈ { } E (n, M; q) := min E ( ) : F n, = M . h { h C C ⊆ q |C| } Theorem 2.12 (Linear Programming Bound for energy of codes [34]). Let n and q be fixed, h : (0,n] (0, + ) be a function, and M 2, 3,...,qn . Let the real polynomial f(z) = n (→n,q) ∞ ∈ { } i=0 fiKi (z) satisfy the conditions (D1)P f > 0, f 0 for i = 1, 2,...,n; 0 i ≥ (D2) f(0) > 0, f(i) h(i) for i = 1, 2,...,n. ≤ Then E (n, M; q) M(f M f(0)). Equality holds for codes F n with distance distribu- h ≥ 0 − C ⊆ q tion (B0,B1,...,Bn), dual distance distribution (B0′ ,B1′ ,...,Bn′ ) and polynomials f(z), such that B [f(i) h(i)] = 0 and B f = 0 for every i = 1, 2,...,n. i − i′ i Remark 2.13. Theorems 2.4, 2.6 and 2.12 can be applied with the usual simplex method for quite large parameters. For instance, the website [65] (Delsarte, a.k.a. Linear Programming (LP), upper bounds) offers a tool for computation of bounds via integer LP with Theorem 2.4. Several websites maintain tables of best known bounds (lower and upper) for codes of relatively small lengths (see, e.g. [28]).

3 Universal bounds

The presented in Theorem 1.9.10 in Chapter 1 is an upper bound on the code cardinality, given q, n, and d. It is the upper bound in (3) below. Its proof by linear programming and the duality imply the lower bound in (3).

5 Theorem 3.1 (Singleton Bound [69]). For any code F n with minimum distance d and dual C ⊆ q distance d′ d′ 1 n d+1 q − q − . (3) ≤ |C| ≤ The bounds (3) can be attained only simultaneously and this happens if and only if d + d′ = n + 2 and all possible distances are realized (so the attaining code is an MDS code).

Definition 3.2. For fixed q, n, and d denote by

k n V (n,q) := (q 1)i, 0 k n, k i − ≤ ≤ Xi=0   n (volume of a sphere of radius k in Fq ) and

Hn,q(d)= qεV (n ε, q), k − where d = 2k +1+ ε, ε 0, 1 . ∈ { } The or Hamming Bound presented in Theorem 1.9.6 in Chapter 1 is another upper bound on the code size, given q, n, and d. Rao gave a lower bound on the code size, given q, n, and d′. These bounds are combined in the following theorem, as they are connected by the duality.

Theorem 3.3 (Rao Bound [64] and Hamming (sphere packing) Bound [48]). For any code F n C ⊆ q with minimum distance d and dual distance d′ n n,q q H (d′) . (4) ≤ |C| ≤ Hn,q(d) Definition 3.4. Codes attaining the upper bound in (4) are called perfect. Designs attaining the lower bound in (4) are called tight.

Recall the definitions of s, s′, δ, and δ′ in Definition 1.14. Theorem 3.5. a) A code F n ( > 1) is a tight design if and only if d = 2s δ + 1. C ⊆ q |C| ′ − b) A code F n ( > 1) is a perfect code if and only if d = 2s δ + 1. C ⊆ q |C| ′ − ′ See also [12, 42, 59, 64]. n,q Definition 3.6. For fixed n, q, and i denote by ξi the smallest root of the Krawtchouk poly- (n,q) n,q nomial Ki (z). In the case of i = 0 set ξ0 = n + 1. Lemma 3.7 ([57]). The following are valid: n 2,q n 1,q n 2,q a) For i = 1, 2,...,n, ξi − <ξi − <ξi −1 . − b) For z [1,n], there exists a unique k = k(z) 1, 2,...,n and a unique ε = ε(z) 0, 1 ∈ ∈ { } ∈ { } such that n 1 ε,q n 2+ε,q ξk − − + 1 < z ξk −1+ε + 1. ≤ − 6 n,q n,q (q 1)n n,q 2(q 1)n q+2 √4(q 1)n+(q 2)2 − − − − − Example 3.8. One has ξ0 = n + 1, ξ1 = −q and ξ2 = 2q . Definition 3.9. For z [1,n], let ∈ (n 1,q) − n,q k n Kk 1 (z 1) L (z) := Vk 1(n,q) (q 1) − − , and k − − − q (n,q)   Kk (z)

n,q ε n ε,q n 1 ε,q n 2+ε,q L (z) := q Lk− (z), if ξk − − + 1 < z ξk −1+ε + 1, ≤ − where k = k(z) and ε = ε(z) 0, 1 are as in Lemma 3.7b). ∈ { } Theorem 3.10 (Levenshtein Bound [55, 57, 58]). For any code F n with minimum distance C ⊆ q d and dual distance d ′ n q n,q n,q L (d). (5) L (d′) ≤ |C| ≤ The lower (upper) bound is attained if and only if d max 2s δ , 2 (respectively, d max 2s ≥ { ′− ′ } ′ ≥ { − δ, 2 ). } Example 3.11. In the first three relevant intervals, the Levenshtein (upper) Bound is given by

qd A (n, d) = Ln,q(d) q ≤ qd (q 1)n 1 − − n 1 n 1,q n 2,q (which is the Plotkin Bound; discussed in Section 1.9.3) if n − = ξ − +1 d ξ − +1 = − q 1 ≤ ≤ 0 n, q2d A (n, d) = Ln,q(d) q ≤ qd (q 1)(n 1) 2 − − − n 2,q n 1,q if ξ − + 1 d ξ − + 1, and 1 ≤ ≤ 1 qd(n(q 1) + 1)(n(q 1) qd + 2 q) A (n, d) − − − − = Ln,q(d) q ≤ qd(2n(q 1) q + 2 qd) (n 1)(q 1)2 3 − − − − − − n 1,q n 2,q if ξ − + 1 d ξ − + 1. 2 ≤ ≤ 1 Remark 3.12. It is also worth noting two important values of the Levenshtein Bound:

n,q n 2+ε,q n,q L (ξk −1+ε +1) = H (2k 1+ ε), ε 0, 1 , − − ∈ { } n 1 ε,q n 1,q i.e. the Levenshtein Bound at the ends of the intervals ξk − − + 1,ξk −1+ε + 1 coincides with − corresponding Rao Bound. h i n,q Recall the kernels Ti from Definition 1.8 and the parameters k = k(d) and ε = ε(d) from Lemma 3.7 b). The next theorem gives a Gauss-Jacobi quadrature formula (6), introduced by Levenshtein in [56, 57], which is instrumental in proofs of Theorem 3.16 and Theorem 3.21 a). Theorem 3.13 also introduces parameters needed for the universal bound (8) below.

7 Theorem 3.13 ([57]). For any d 1, 2,...,n the polynomial ∈ { } n 1 ε,q gd(z)= z(d z)(n z)Tk −1 − (z 1, d 1), − − − − − where k = k(d) and ε = ε(d) 0, 1 , has k +1+ ε simple zeros ∈ { } α = 0 < α = d< < α n 0 1 · · · k+ε ≤ n 2,r with αk+ε = n if and only if ε = 1 or ε = 0 and d = ξk −1 + 1. Moreover, for any real polynomial f(z) of degree at− most 2k 1+ ε the following equality − holds: k+ε f(0) (d) f0 = n,q + ρi f(αi), (6) L2k 1+ε(d) − Xi=1 (d) (d) where all coefficients (weights) ρi , i = 1, 2,...,k, are positive, and, in the case ε = 1, ρk+1 0 n 1,q ≥ with equality if and only if d = ξk − + 1. We have

1 ε ε (d) q− − (q 1)n(n 1) ρi = n −1 ε,q − , αi(n αi)Tk −1 − (αi 1, αi 1) − − − − i = 1, 2,...,k, and

(n ε,q) q εK − (d) ρ(d) = − k . k+1 (n ε,q) (n 1 ε,q) (n 1 ε,q) (n ε,q) Kk − (d)Kk −1 − ( 1) Kk −1 − (d 1)Kk − (0) − − − − − Remark 3.14. Levenshtein used the polynomial

k 1+ε − f(t) = (t α )(t α )ε (t α )2 (7) − k+ε − 1 − i i=1+Y ε to obtain the bounds (5). It was shown in [25] that its zeros α1,...,αk+ε strongly suggest the optimal choice of nodes for the simplex method of Theorem 2.4 (equivalently, Theorem 1.9.23 a) from Chapter 1). Computational experiments show that simple replacement of any double zero α (j, j + 1) of Levenshtein’s polynomial (7) by two simple zeros j and j + 1 gives in most cases i ∈ (conjecture: for every sufficiently large rate d/n) the best result that can ever be obtained from Theorem 2.4.

Remark 3.15. The assertions of Theorem 3.13 remain true when d [1,n] is a continuous ∈ variable. In particular, the quadrature formula (6) holds true for any real polynomial f(z) of degree at most 2k 1+ ε with well defined roots of g (z) and corresponding positive ρ(d), − d i i = 1, 2,...,k + 1.

Theorem 3.16 ([68, 56]). The upper bound in (5) cannot be improved by a real polynomial f of degree at most 2k 1+ ε satisfying (A1) and the condition f(z) 0 for z [d, n]. − ≤ ∈

8 Definition 3.17 (Test functions [23]). For j 1, 2,...,n and d (0,n] denote by ∈ { } ∈ (n,q) k+ε n,q Kj (0) (d) (n,q) Pj (d) := n,q + ρi Kj (αi), L2k 1+ε(d) − Xi=1 where k = k(d), ε = ε(d), and ρ(d) are as in Theorem 3.13. Note that P n,q = 0 for j 2k 1+ ε. i j ≤ − Note also that K(n,q)(0) = (q 1)j n . j − j Theorem 3.18 ([23, 58]). The upper  bound in (5) can be improved by a real polynomial f of degree at least 2k + ε satisfying (A1) and the condition f(z) 0 for z [d, n] if and only if n,q ≤ ∈ P (d) < 0 for some j 2k + ε. j ≥ Definition 3.19. A function h : (0,n] (0, + ) is called (strictly) completely monotone → ∞ if ( 1)ih(i)(z) 0 (> 0) for every nonnegative integer i and every z (0,n]. The derivatives − ≥ ∈ h(i)(z) can be discrete (then z 1, 2,...,n ) or continuous. ∈ { } Theorem 3.20 (Universal lower bound on energy [27]). Let n, q and M 2, 3,...,qn be fixed ∈ { } and h : (0,n] (0, + ) be a completely monotone function. If M (Hn,q(2k 1+ ε),Hn,q(2k + ε)] → ∞ ∈ n,q − and d = d(M) [1,n] is the smallest real root of the equation M = L2k 1+ε(d), then ∈ − k+ε E (n, M; q) M 2 ρ(d)h(α ), (8) h ≥ i i Xi=1 (d) where the parameters αi and ρi are determined as in Theorem 3.13. Equality is attained if and only if there exists a code with M codewords which attains the upper bound in (5). Theorem 3.21 ([27]). Let h be a strictly absolutely monotone function. The bound (8): a) cannot be improved by a real polynomial f of degree at most 2k 1+ ε satisfying (A1) and − f(z) h(z) for z [d, n]; ≤ ∈ b) can be improved by a real polynomial f of degree at least 2k + ε satisfying (A1) and the condition f(z) h(z) for z [d, n] if and only if P n,r(d) < 0 for some j 2k + ε. ≤ ∈ j ≥ Definition 3.22. A code F n is called universally optimal if it (weakly) minimizes potential C ⊆ q energy among all configurations of codewords in F n for each completely monotone function |C| q h. The conditions for attaining the bounds (5) and (8) coincide. Thus, any code which attains the upper bound in (5) for its cardinality (and therefore the lower bound for (8) for its energy) is universally optimal. We summarize this in the next theorem. Theorem 3.23 ([34, 27]). All codes which attain the upper bound in (5) are universally optimal. Theorem 3.24 ([34]). Let F n be a code and h : (0, 1,...,n] R be any function such that C ⊆ q → the bound in Theorem 2.12 is attained. Let c . Then ∈C E ( c )= E (n, 1; q). h C \ { } h |C| − In particular, if is proved to be universally optimal by Theorem 2.12, then c is universally C C \ { } optimal for all c as well. ∈C

9 n q s ( ) d ( ) Distances Comment ′ C ′ C |C| n q n 2 n n repetition code, { } s ( ) = n/2 for ′ C ⌊ ⌋ q = 2 qd (q 1)n+1 n q n 1 2 d n>d> − − { } qd n(q 1) q − − coexistence with resolvable block-designs 2 ( , |C| ,n d) − |C| q − [66] (q 1)n+1 n q n 2 3 − (q 1)n + 1 coexistence with − { q } − affine resolvable block-designs n 1 2 ( , |C| , − ) − |C| q q [67] plq q =pm n 2 3 n pl,n nq l,m = 1, 2,... , − { − } [67] qh+h q q n 2 3 n h, n q3 2 q, h q, 2

Table 1: Parameters of known codes attaining (simultaneously) the upper bound in (5) (see also [22]) and the lower bound (8). This table appears for (5) in [56]. Here the column for the external distance s′ is added. All codes in the table are universally optimal.

10 2ℓ Example 3.25. The Kerdock codes F2 [52] are nonlinear codes existing for lengths Kℓ ⊂ 2 n = 22ℓ. Their cardinality is = n2 = 24ℓ and their distance (weight) distribution is as follows: |Kℓ| 2ℓ 2ℓ 1 2ℓ+1 2ℓ 2ℓ 1 B22ℓ−1 2ℓ−1 = 2 (2 − 1), B22ℓ−1 = 2 2, B22ℓ−1+2ℓ−1 = 2 (2 − 1), − − − − 2ℓ 1 ℓ 1 2ℓ 1 2ℓ 1 ℓ 1 B = B = 1, B = 0 for i = 0, 2 − 2 − , 2 − , 2 − + 2 − . 0 n i 6 − It is easy to check that the Kerdock codes are asymptotically optimal with respect to the upper bound in (5) and the bound (8) as they are very close to the bounds already for small ℓ.

Definition 3.26. For any code F n, ρ( ) := max d(x, ) : x F n is called the covering C ⊆ q C { C ∈ q } radius of . Here d(x, ) := min d(x, c) : c . C C { ∈ C} Theorem 3.27 ([37], Delsarte Bound). For any code F n with external distance s C ⊆ q ′

ρ( ) s′. C ≤ Theorem 3.28 ([73, 74], Tiet¨av¨ainen Bound). For any code F n with dual distance d = C ⊆ q ′ 2k 1+ ε, where k is positive integer and ε 0, 1 , − ∈ { } n 1+ε,q ρ( ) ξ − . C ≤ k See also [44, 70]. Asymptotic versions of some of the bounds in this section can be found in Section 1.9.8 of Chapter 1 (see [1, 2, 13, 58, 61]).

n 1 4 Linear programming on S −

Sn 1 2 2 2 Definition 4.1. Let − = x = (x1,x2,...,xn) : x1 + x2 + + xn = 1 be the unit sphere in n { · · · } R . The Euclidean distance between x = (x1,x2,...,xn) and y = (y1,y2,...,yn) is

d(x, y) := (x y )2 + (x y )2 + + (x y )2. 1 − 1 2 − 2 · · · n − n p The inner product is defined as

(x, y) := x y + x y + + x y . 1 1 2 2 · · · n n n 1 Note that on S − the distance and the inner product are connected by

d2(x, y) (x, y) = 1 . − 2

Definition 4.2. An (n,M,s)-spherical code is a non-empty finite set Sn 1 with cardinality C ⊂ − = M and maximal inner product |C| s = max (x, y) : x, y , x = y . { ∈C 6 }

11 The minimum distance d = d(C) := min d(x, y) : x, y , x = y and the maximal inner { ∈ C 6 } product are connected by d2 s = 1 . − 2 Definition 4.3. For fixed n and s denote by

A(n,s) := max : is an (n,M,s)-spherical code . {|C| C } Definition 4.4. For a, b 0, 1 denote by P a,b(t) the Jacobi polynomials P α,β(t) ([3, ∈ { } { i }i∞=0 { i }i∞=0 Chapter 22], [72]) with n 3 n 3 (α, β)= a + − , b + − 2 2   α,β normalized by Pi (1) = 1. When (a, b) = (0, 0) we get the Gegenbauer polynomials and use the a,b a,b (n) indexing instead of 0, 0. Denote by ti the greatest zero of the polynomial Pi (t) and define 1,1 t0 = 1. Let − 2i + n 2 i + n 2 r := − − . i i + n 2 i −   Theorem 4.5 ([3, 72]). The Gegenbauer polynomials P (n)(t) satisfy the recurrence relations { i }i∞=0 (n) (n) (n) (i + n 2)Pi+1(t) = (2i + n 2)tPi (t) iPi 1(t), i = 1, 2,..., − − − − (n) (n) where P0 (t) = 1 and P1 (t)= t. Theorem 4.6 ([3, 72]). The Gegenbauer polynomials are orthogonal on [ 1, 1] with respect to − the measure n−3 dµ(t) := γ (1 t2) 2 dt, t [ 1, 1], n − ∈ − n n 1 where γn := Γ( 2 )/√πΓ( −2 ) is a normalizing constant. Theorem 4.7 (Linear Programming Bound for spherical codes, [38, 51]). Let n 2 and f(t) be ≥ a real polynomial such that (A1) f(t) 0 for 1 t s; ≤ − ≤ ≤ (A2) The coefficients in the Gegenbauer expansion f(t)= deg(f) f P (n)(t) satisfy f > 0, f 0 i=0 i i 0 i ≥ for i = 1,..., deg(f). P Then A(n,s) f(1)/f . ≤ 0 Theorem 4.8 (Levenstein Bound [54, 56]). For the quantity A(n,s) we have

1,0 k 1+ε Pk 1+ε(s) − A(n,s) L (n,s) := 1 − r , s I , (9) ≤ τ − 0,ε i ∀ ∈ τ Pk (s) ! Xi=0 where Iτ is the interval

1,1 ε 1,ε Iτ := tk −1+ε,tk , τ = 2k 1+ ε, ε 0, 1 . − − ∈ { } h i 12 Example 4.9. The first three bounds in (9) are A(n,s) (s 1)/s for s [ 1, 1/n], ≤ − ∈ − − 2n(1 s) A(n,s) − ≤ 1 ns − for s [ 1/n, 0] and ∈ − n(1 s)(2 + (n + 1)s) A(n,s) − ≤ 1 ns2 − √n+3 1 for s 0, − . ∈ n+2 h i See also [43, 55, 58].

Definition 4.10. A spherical code Sn 1 is a spherical τ-design if and only if C ⊂ − 1 p(x)dσn(x)= p(x) Sn−1 x Z |C| X∈C (σ is the normalized (n 1)-dimensional Hausdorff measure) holds for all polynomials p(x) = n − p(x1,x2,...,xn) of degree at most τ. Theorem 4.11 (Linear Programming Bound for spherical designs, [38]). Let n 2, τ 1 and ≥ ≥ f(t) be a real polynomial such that

(B1) f(t) 0 for 1 t 1; ≥ − ≤ ≤ (B2) the coefficients in the Gegenbauer expansion f(t)= deg(f) f P (n)(t) satisfy f > 0, f 0 i=0 i i 0 i ≤ for i = τ + 1,..., deg(f). P Then any spherical τ-design Sn 1 has cardinality f(1)/f . C ⊂ − |C| ≥ 0 Theorem 4.12 (Delsarte-Goethals-Seidel Bound [38]). Any τ-design Sn 1 has cardinality C ⊆ − n + k 2+ ε n + k 2 D(n,τ) := − + − , (10) |C| ≥ n 1 n 1  −   −  where τ = 2k 1+ ε, ε 0, 1 . − ∈ { } n 1 Definition 4.13. A spherical τ-design on S − is called tight if it attains the bound (10). Theorem 4.14 ([9, 10]). Let n 3. Tight spherical τ-designs on Sn 1 exist for τ = 1, 2 and 3 ≥ − for every n 2, and possibly for τ = 4, 5, 7, and 11. Tight spherical 4-designs on Sn 1 exist for ≥ − n = 6, 22, and possibly for m2 3, where m 7 is an odd integer. Tight spherical 5-designs on n 1 − ≥ 2 S − exist for n = 3, 7, 23, and possibly for n = m 2, where m 7 is an odd integer. Tight n 1 − ≥ 2 spherical 7-designs on S − exist for n = 8, 23, and possibly for n = 3m 4, where m 4 is an n 1 − ≥ integer. Tight spherical 11-designs on S − exist only for n = 24. Remark 4.15 ([38]). Tight spherical 4- and 5-designs coexist and are known for m = 3 and 5 only. Tight spherical 7-designs are known for m = 2 and 3 only.

13 See also [11, 12, 18] for general theory and [21, 44, 71] for other bounds for designs.

Theorem 4.16 ([54, 55, 56, 58]). The bounds and (9) and (10) are related by the equalities

1,1 ε 1,1 ε Lτ 1 ε(n,tk −1 ε)= Lτ ε(n,tk −1 ε)= D(n,τ ε), ε 0, 1 (11) − − − − − − − − ∈ { } at the ends of the intervals I (τ = 2k 1+ ε, ε 0, 1 ). In particular, if Sn 1 is a tight τ − ∈ { } C ⊆ − spherical τ-design, then it attains (9) in the left end of the interval Iτ .

Definition 4.17. Given an (extended real-valued) function h(t) : [ 1, 1] [0, + ], the h- − → ∞ energy (or potential energy) of is given by C E ( ) := h((x, y)). h C x,y ,x=y ∈CX 6 Definition 4.18. For fixed n, h, and M 2 denote by ≥ n 1 (n, M) := inf E ( ) : S − , = M . Eh { h C C ⊂ |C| } Theorem 4.19 (Linear Programming Bound for energy [75]). Let n 2, M 2, h : [ 1, 1] ≥ ≥ − → [0, + ], and f(t) be a real polynomial such that ∞ (C1) f(t) h(t) for t [ 1, 1], and ≤ ∈ − (C2) the coefficients in the Gegenbauer expansion f(t)= deg(f) f P (n)(t) satisfy f > 0, f 0 i=0 i i 0 i ≥ for i = 1,..., deg(f). P Then (n, M) M(f M f(1)). Eh ≥ 0 − Definition 4.20. A real valued extended function h(t) : [ 1, 1] (0, + ] is called absolutely (k) − → ∞ monotone if h (t) 0, for every t [ 1, 1) and every integer k 0, and h(1) = limt 1− h(t). ≥ ∈ − ≥ → The following absolutely monotone potential functions are commonly used: Newton potential

(n 2)/2 (n 2) h(t) = (2 2t)− − = d(x, y)− − , − Riesz s-potential s/2 s h(t) = (2 2t)− = d(x, y)− , − and Gaussian potential h(t) = exp(2t 2) = exp( d(x, y)2). − − Definition 4.21. For (a, b) = (0, 0), (1, 0), and (1, 1) set

j a,b a,b a,b a,b Tj (u, v) := ri Pi (u)Pi (v), Xi=0 14 2 where ra,b = 1/ca,b 1 P a,b(t) (1 t)a(1 + t)bdµ(t), c1,0 = c0,0 = γ , and c1,1 = γ (see i 1 i − n n+2 − 0,0 Theorem 4.6 for relevantR  notation). Note that ri = ri. Let α < α < < α be the roots of the polynomial used for obtaining the Levenshtein 1 2 · · · k+ε Bound L (n,s) with s = α , τ = 2k 1+ ε, ε 0, 1 , and let τ k+ε − ∈ { } 0,0 Tk (s, 1) ρ1 := for ε = 1, T 0,0( 1, 1)T 0,0(s, 1) T 0,0( 1, 1)T 0,0(s, 1) k − − k − k − k − 1 ρi+ε := , i = 1, 2,...,k. 1,ε ε 1,ε c (1 + αi+ε) (1 αi+ε)Tk 1(αi+ε, αi+ε) − − Theorem 4.22 ([26]). Let n 2, τ = 2k 1+ ε 1, ε 0, 1 , and h be absolutely monotone ≥ − ≥ ∈ { } in [ 1, 1]. For M (D(n,τ), D(n,τ + 1)] let s be the largest root of the equation M = L (n,s) − ∈ τ and α < α < < α = s, ρ , ρ , . . . , ρ be as in Definition 4.21. Then 1 2 · · · k+ε 1 2 k+ε k+ε (n, M) M 2 ρ h(α ). (12) Eh ≥ i i Xi=1 If an (n,M,s) code attains (12), then it is a spherical τ-design and its inner products form the set α , α ,...,α . { 1 2 k+ε} See also [19, Chapter 5]. Note that α , α , , α = s are in fact the roots of the equation 1 2 · · · k+ε M = Lτ (n,s).

Remark 4.23. The conditions for attaining the bounds (9) and (12) coincide. Thus a spherical (n,M,s) code attains (9) if and only it attains (12). In particular, every tight spherical design attains (12).

Theorem 4.24 ([68] for (9), [26] for (12)). The bounds (9) and (12) cannot be improved by using in Theorem 4.7 and 4.19, respectively, polynomials of the same or lower degree.

Theorem 4.25 ([24] for (9), [26] for (12)). Let

k+ε (n) 1 (n) Qj := + ρiPj (αi), j>τ = 2k 1+ ε, ε 0, 1 . Lτ (n, αk+ε) − ∈ { } Xi=1

The bounds (9) and (12) (where M = Lτ (n, αk+ε) for (12)) can be (simultaneously) improved if (n) and only if Qj < 0 for some j>τ.

Definition 4.26. A spherical code Sn 1 is universally optimal if it (weakly) minimizes C ⊂ − h-energy among all configurations of points on Sn 1 for each absolutely monotone function h. |C| − Theorem 4.27 ([32]). Every spherical code which is a spherical (2k 1)-design and which admits − exactly k inner products between distinct points is universally optimal. The 600-cell (the unique (4, 120, (1 + √5)/4)-spherical code) is universally optimal.

15 See also [8, 19, 33]. Remark 4.28. Any code which attains (9) (and (12)) is universally optimal. Is it unknown if there exists a spherical code, apart from the 600-cell, which is universally optimal but does not attain (9) (and (12)). Tables with all known codes which attain (9) (and (12)) can be found in [56, 58, 32].

Example 4.29. Consider the case (n, M) = (4, 24). The well known code D4 (D4 root system; equivalently, the set of vertices of the regular 24-cell) is optimal in the sense that it realizes the fourth [62]. However, this code is not universally optimal [30], despite having 1 energy which is very close to the bound (12). For example, with the Newtonian h(t) = 2(1 t) it has energy 334, while (12) gives 333 (which can be improved to 333.157). − ≈ Conjecture 4.30. Every universally optimal spherical code attains the Linear Programming Bound of Theorem 4.19. Example 4.31. (Example 3.25 continued.) A standard construction (see [35, Chapter 5]) maps binary codes from Fn to the sphere Sn 1 – the coordinates 0 and 1 are replaced by 1/√n, 2 − ± respectively. Denote this map by x x. The inner product (x, y) on Sn 1 and the Hamming → − Fn 2dH(x,y) distance dH(x, y) in 2 are connected by (x, y) = 1 n . Thus the weights of the Kerdock 1 −1 code ℓ correspond to the inner products 1, √n , 0, √n , 1, respectively. K 2ℓ − − The image S2 1 of is asymptotically optimal with respect to both bounds (9) and Kℓ ⊂ − Kℓ (12). For example, it has energy

2 2ℓ+1 2ℓ 2ℓ 1 1 1 E ( )= n 2 2 h(0) + 2 (2 − 1) h + h + h( 1) . h Kℓ − − 2ℓ −2ℓ −         When n tends to infinity, we obtain

E ( ) n2 (24ℓ 2)h(0) + h( 1) h(0)n4, h Kℓ ∼ − − ∼   which coincides with the asymptotic of (12) (obtained by a polynomial of degree 5).

5 Linear programming in other problems

Remark 5.1 (Linear programming in Johnson spaces). All concepts and results from Sections 1-3 hold true for the Johnson spaces with changes corresponding to the role of the Hahn polynomials instead of the Krawtchouk polynomials. See [36, 39, 56, 58, 59, 61]. Theorem 5.2 (Linear Programming Bound for binomial moments [5]). Let F n be a code C ⊂ 2 with distance distribution (B ,B ,...,B ), w 1, 2,...,n , and 0 1 n ∈ { } w n i := − B . Bw n w i Xi=1  −  n (n,2) Let the real polynomial f(z)= i=0 fiKi (z) satisfy the conditions P 16 (i) f 0 for i = 1, 2,...,n; i ≥ n j (ii) f(j) n −w for j = 1, 2,...,n. ≤ − Then f  f(0). Bw ≥ 0|C| − The final bound in this chapter is an upper bound on the size of a quantum code.

Theorem 5.3 (Linear Programming Bound for quantum codes [6]). (see also [53]) Let f(z) = n (n,4) i=0 fiKi (z) be a polynomial satisfying the conditions P(i) f 0 for every i = 0, 1,...,n; i ≥ (ii) f(z) > 0 for every z = 0, 1,...,d 1; − (iii) f(z) 0 for every z = d, d + 1,...,n. ≤ Then every ((n, K)) quantum code of minimum distance d satisfies

1 f(j) K n max . ≤ 2 j 0,1,...,d 1 fj ∈{ − } See also [7, 14, 15, 31, 41].

Acknowledgements. A significant part of the work of the first author on this chapter was done during his stay (August-December 2018) as a visiting professor at Department of Mathe- matical Sciences at Purdue University Fort Wayne. His research was supported, in part, by a Bulgarian NSF contract DN02/2-2016.

References

[1] M. Aaltonen. Linear programming bounds for tree codes (corresp.). IEEE Trans. Inform. Theory, 25:85–90, January 1979.

[2] M. Aaltonen. A new upper bound on nonbinary block codes. Discrete Mathematics, 83(2):139 – 160, 1990.

[3] M. Abramowitz and I. A. Stegun. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. Dover, New York, NY, USA, ninth dover printing, tenth gpo printing edition, 1964.

[4] N. Alon, O. Goldreich, J. H˚astad, and R. Peralta. Simple constructions of almost kwise independent random variables. Random Structures Algorithms, 3:289–304, 1992.

[5] A. Ashikhmin and A. Barg. Binomial moments of the distance distribution: bounds and applications. IEEE Trans. Inform. Theory, 45:438–452, March 1999.

[6] A. Ashikhmin and S. Litsyn. Upper bounds on the size of quantum codes. IEEE Trans. Inform. Theory, 45:1206–1215, May 1999.

17 [7] C. Bachoc. Linear programming bounds for codes in Grassmannian spaces. IEEE Trans. Inform. Theory, 52:2111–2125, May 2006.

[8] B. Ballinger, G. Blekherman, H. Cohn, N. Giansiracusa, E. Kelly, and A. Sch¨urmann. Exper- imental study of energy-minimizing point configurations on spheres. Exp. Math., 18:257–283, 2009.

[9] E. Bannai and R. M. Damerell. Tight spherical designs, i. J. Math. Soc. Japan, 31:199–207, 01 1979.

[10] E. Bannai and R. M. Damerell. Tight spherical disigns, ii. J. London Math. Soc., s2-21:13–30, 1980.

[11] Ei. Bannai and Et. Bannai. A survey on spherical designs and algebraic combinatorics on spheres. European J. Combin., 30:1392 – 1425, 2009.

[12] Ei. Bannai, Et. Bannai, H. Tanaka, and Y. Zhu. Design theory from the viewpoint of algebraic combinatorics. Graphs Combin., 33:1–41, 2017.

[13] A. Barg and D. B. Jaffe. Numerical results on the asymptotic rate of binary codes. In Codes and Association Schemes: DIMACS Workshop Codes and Association Schemes, Nov 9-12, 1999, Center for Discrete Mathematics and Theoretical Computer Science New Brunswick, NJ: DIMACS series in discrete mathematics and theoretical computer science, 25–32. Amer- ican Mathematical Society, Providence, RI, USA, 2001.

[14] A. Barg and D. Y. Nogin. Bounds on packings of spheres in the Grassmann manifold. IEEE Trans. Inform. Theory, 48:2450–2454, Sept 2002.

[15] A. Barg and D. Y. Nogin. Spectral approach to linear programming bounds on codes. Probl. Inf. Transm., 42:77–89, 2006.

[16] E. R. Berlekamp, editor. Key Papers in the Development of Coding Theory. IEEE Press, New York, NY, USA, 1974.

[17] I. F. Blake, editor. Algebraic Coding Theory History and Development. Dowden, Hutchinson, & Ross, Inc. Stroudsburg, PA, USA, 1973.

[18] A. Bondarenko, D. Radchenko, and M. Viazovska. Optimal asymptotic bounds for spherical designs. Ann. of Math. (2), 178:443–452, 2013.

[19] S. Borodachov, D. Hardin, and E. Saff. Minimal Discrete Energy on Rectifiable Sets. Springer-Verlag, Berlin, Heidelberg, 2018 (to appear).

[20] R. C. Bose. Mathematical theory of the symmetrical factorial design. Sankhya, 8:107–166, 1947.

[21] S. Boumova, P. G. Boyvalenkov, and D. P. Danev. Necessary conditions for existence of some designs in polynomial metric spaces. European J. Combin., 20:213–225, 1999.

18 [22] P. G. Boyvalenkov and D. P. Danev. On maximal codes in polynomial metric spaces. In T. Mora and H. F. Mattson, editors, Applied Algebra, Algebraic Algorithms and Error- Correcting Codes (Toulouse, France 1997), volume 1255 of Lecture Notes in Comput. Sci., 29–38. Springer-Verlag, Berlin, Heidelberg, 1997.

[23] P. G. Boyvalenkov and D. P. Danev. On linear programming bounds for codes in polynomial metric spaces. Problemy Peredachi Informatsii, 34:16–31, 1998 (English translation in Probl. Inf. Transm., 34:108–120, 1998).

[24] P. G. Boyvalenkov, D. P. Danev, and S. P. Bumova. Upper bounds on the minimum distance of spherical codes. IEEE Trans. Inform. Theory, 42:1576–1581, Sept 1996.

[25] P. G. Boyvalenkov, D. P. Danev, and M. Stoyanova. Refinements of Levenshtein bounds in q-ary Hamming spaces. Probl. Inf. Transm., 54:329-342, Dec 2018.

[26] P. G. Boyvalenkov, P. D. Dragnev, D. P. Hardin, E. B. Saff, and M. M. Stoyanova. Universal lower bounds for potential energy of spherical codes. Constr. Approx., 44:385–415, Dec 2016.

[27] P. G. Boyvalenkov, P. D. Dragnev, D. P. Hardin, E. B. Saff, and M. M. Stoyanova. Energy bounds for codes and designs in Hamming spaces. Des. Codes Cryptogr., 82:411–433, Jan 2017.

[28] A. E. Brouwer. Personal homepage. http://www.win.tue.nl//˜aeb/. Accessed: 2018-08-31.

[29] A. E. Brouwer, A. M. Cohen, and A. Neumaier. Distance-Regular Graphs. Ergebnisse der Mathematik und ihrer Grenzgebiete. 3. Folge / A Series of Modern Surveys in Mathematics. Springer-Verlag, Berlin, Heidelberg, 1989.

[30] H. Cohn, J. H. Conway, N. D. Elkies, and A. Kumar. The D4 root system is not universally optimal. Exp. Math., 16:313–320, 2007.

[31] H. Cohn and M. de Courcy-Ireland. The Gaussian core model in high dimensions. Duke Math. J., 167:2417–2455, 2018.

[32] H. Cohn and A. Kumar. Universally optimal distribution of points on spheres. J. Amer. Math. Soc., 20:99–148, 2007.

[33] H. Cohn and J. Woo. Three-point bounds for energy minimization. J. Amer. Math. Soc., 25:929–958, 2012.

[34] H. Cohn and Y. Zhao. Energy-minimizing error-correcting codes. IEEE Trans. Inform. Theory, 60:7442–7450, Dec 2014.

[35] J. H. Conway and N. J. A. Sloane. Sphere-packings, Lattices, and Groups. Springer, New York, NY, 1988.

[36] P. Delsarte. An algebraic approach to the association schemes of coding theory. Philips Research Report Supplements No. 10, 1973.

19 [37] P. Delsarte. Four fundamental parameters of a code and their combinatorial significance. Inform. and Control, 23:407–438, 1973.

[38] P. Delsarte, J.-M. Goethals, and J. J. Seidel. Spherical codes and designs. Geom. Dedicata, 6:363–388, 09 1977.

[39] P. Delsarte and V. I. Levenshtein. Association schemes and coding theory. IEEE Trans. Inform. Theory, 44:2477–2504, Oct 1998.

[40] R. H. F. Denniston. Some maximal arcs in finite projective planes. J. Combin. Theory, 6:317–319, 1969.

[41] S. T. Dougherty, J.-L. Kim, B. Ozkaya, L. Sok, and P. Sol´e. The combinatorics of LCD codes: linear programming bound and orthogonal matrices. Intern. J. Inform. and Coding Theory (IJICOT), 4:116–128, 2017.

[42] C. F. Dunkl. Discrete quadrature and bounds on t-designs. Michigan Math. J., 26:81–102, 1979.

[43] T. Ericson and V. Zinoviev. Codes on Euclidean Spheres. North-Holland Mathematical Library. Elsevier Science, Amsterdam, 2001.

[44] G. Fazekas and V. I. Levenshtein. On upper bounds for code distance and covering radius of designs in polynomial metric spaces. J. Combin. Theory Ser. A, 70:267 – 288, 1995.

[45] C. D. Godsil. Polynomial spaces. Discrete Math., 73:71 – 88, 1988.

[46] C. D. Godsil. Algebraic Combinatorics. Chapman Hall/CRC Mathematics Series. Taylor & Francis, Milton Park, UK, 1993.

[47] M. J. E. Golay. Notes on digital coding. Proc. IRE, 37:657, 1949. (Also reprinted in [16] p. 13 and [17] p. 9).

[48] R. W. Hamming. Error detecting and error correcting codes. Bell System Tech. J., 29:10–23, 1950. (Also reprinted in [16] pp. 9–12 and [17] pp. 10–23).

[49] A. S. Hedayat, N. J .A. Sloane, and J. Stufken. Orthogonal Arrays. Springer Nature, New York, NY, USA, 1999.

[50] R. Hill. Caps and groups. In Colloquio internazionale sulle teorie combinatorie, Roma, 3-15 settembre 1973, Atti dei convegni lincei 17, pages 384–394. Accademia nazionale dei lincei, 1976.

[51] G. A. Kabatiansky and V. I. Levenshtein. On bounds for packings on a sphere and in space. Problemy Peredachi Informatsii, 14:3–25, 1978 (English translation in Problems Inform. Transmission, 14(1):1–17, 1978).

[52] A. M. Kerdock. A class of low-rate nonlinear binary codes. Information and Control, 20(2):182–187, 1972.

20 [53] C. Lai and A. Ashikhmin. Linear programming bounds for entanglement-assisted quantum error-correcting codes by split weight enumerators. IEEE Trans. Inform. Theory, 64:622–639, Jan 2018.

[54] V. I. Levenshtein. On bounds for packings in n-dimensional Euclidean space. Soviet Math. Doklady, 20:417–421, 1979.

[55] V. I. Levenshtein. Bounds for packings in metric spaces and certain applications. Probl. Kibernet., 40:44–110, 1983. (in Russian).

[56] V. I. Levenshtein. Designs as maximum codes in polynomial metric spaces. Acta Appl. Math., 29(1):1–82, Nov 1992.

[57] V. I. Levenshtein. Krawtchouk polynomials and universal bounds for codes and designs in Hamming spaces. IEEE Trans. Inform. Theory, 41:1303–1321, Sep 1995.

[58] V. I. Levenshtein. Universal Bounds for Codes and Designs. In V. S. Pless and W. C. Huffman, editors, Handbook of Coding Theory, Vol. I, II, chapter 6, pages 499–648. North- Holland, Amsterdam, 1998.

[59] V. I. Levenshtein. Equivalence of Delsarte’s bounds for codes and designs in symmetric association schemes, and some applications. Discrete Math., 197-198:515 – 536, 1999.

[60] F. J. MacWilliams and N. J. A. Sloane. The Theory of Error-Correcting Codes. Else- vier/North Holland, New York, NY, USA, 1977.

[61] R. J. McEliece, E. R. Rodemich, H. Rumsey Jr., and L. Welch. New upper bounds on the rate of a code via the Delsarte–MacWilliams inequalities. IEEE Trans. Inform. Theory, IT–23:157–166, 1977.

[62] O. R. Musin. The kissing number in four dimensions. Ann. of Math. (2), 168(1):1–32, 2008.

[63] B. Qvist. Some remarks concerning curves of the second degree in a finite plane. Ann. Acad. Sci Fenn., 134:1–27, 1952.

[64] C. R. Rao. Factorial experiments derivable from combinatorial arrangements of arrays. Suppl. to J. Roy. Statist. Soc., 9:128–139, 1947.

[65] SAGE. Delsarte, a.k.a. linear programming (LP), upper bounds. http://doc.sagemath.org/html/en/reference/coding/sage/coding/delsarte bounds.html. Accessed: 2018-08-31.

[66] N. V. Semakov and V. A. Zinoviev. Equidistant q-ary codes and resolved balanced incomplete block designs. Probl. Inf. Transm., 4:3–10, 1968.

[67] N. V. Semakov, V. A. Zinoviev, and G. V. Zaitsev. Class of maximal equidistant codes. Probl. Inf. Transm., 5:84–87, 1969.

21 [68] V. M. Sidel’nikov. On extremal polynomials used in bounds of code volume. Problemy Peredachi Informatsii, 16:17–30, 1980 (English translation in Probl. Inf. Transm., 16:174– 186, 1980).

[69] R. C. Singleton. Maximum distance q-ary codes. IEEE Trans. Inform. Theory, IT-10:116– 118, 1964.

[70] P. Sol´e. Asymptotic bounds on the covering radius of binary codes. IEEE Trans. Inform. Theory, 36:1470–1472, Nov 1990.

[71] P. Sol´e. The covering radius of spherical designs. European J. Combin., 12:423 – 431, 1991.

[72] G. Szeg¨o. Orthogonal Polynomials. Colloquium publications. American Mathematical Soci- ety, Providence, RI, USA, 1939.

[73] A. Tiet¨av¨ainen. An upper bound on the covering radius as a function of the dual distance. IEEE Trans. Inform. Theory, 36(6):1472–1474, Nov 1990.

[74] A. Tiet¨av¨ainen. Covering radius and dual distance. Des. Codes Cryptogr., 1:31–46, May 1991.

[75] V. A. Yudin. Minimum potential energy of a point system of charges. Diskret. Mat., 4:115– 121, 1992 (English translation in Discrete Math. Appl., 3:75–81, 1993).

22