Completely regular codes by concatenating Hamming codes

We construct new families of completely regular codes by concatenation methods. By combining parity check matrices of cyclic Hamming codes, we obtain families of completely regular codes. In all cases, we compute the intersection array of these codes. We also study when the extension of these codes gives completely regular codes. Some of these new codes are completely transitive.


Introduction
Let F q be a finite field of the order q. A q-ary linear [n, k, d; ρ] q -code C is a k-dimensional subspace of F n q , where n is the length, d is the minimum distance, q k is the cardinality of C, and ρ is the covering radius. For q = 2, we omit the subscript q. The packing radius of C is e = ⌊(d − 1)/2⌋. Given any vector v ∈ F n q , its distance to the code C is d(v, C) = min x∈C {d(v, x)} and the covering radius of the code C is ρ = max v∈F n q {d(v, C)}. Note that e ≤ ρ.
We denote by D = C + x a coset of C, where + means the component-wise For a given q-ary code C of length n and covering radius ρ, define C(i) = {x ∈ F n q : d(x, C) = i}, i = 0, 1, . . . , ρ.
The sets C(0) = C, C(1), . . . , C(ρ) are called the subconstituents of C. Let M be a monomial matrix, i.e. a matrix with exactly one nonzero entry in each row and column. If q is prime, then the automorphism group of C, Aut(C), consists of all monomial (n × n)-matrices M over F q such that cM ∈ C for all c ∈ C. If q is a power of a prime number, then Aut(C) also contains any field automorphism of F q which preserves C. The group Aut(C) acts on the set of cosets of C in the following way: for all π ∈ Aut(C) and for every vector v ∈ F n q we have π(v + C) = π(v) + C.
Definition 1.2 ( [9,17]). Let C be a linear code over F q with covering radius ρ. Then C is completely transitive if Aut(C) has ρ + 1 orbits when acts on the cosets of C.
Since two cosets in the same orbit have the same weight distribution, it is clear that any completely transitive code is completely regular.
Completely regular and completely transitive codes are classical subjects in algebraic coding theory, which are closely connected with graph theory, combinatorial designs and algebraic combinatorics. Existence, construction and enumeration of all such codes are open hard problems (see [6,12,15,18] and references there).
It is well known that new completely regular codes can be obtained by direct sum of perfect codes or, more general, by direct sum of completely regular codes with covering radius 1 [2,17]. In the current paper, we extend these constructions, giving several explicit constructions of new completely regular and completely transitive codes, based on concatenation methods.

Preliminary results
In this section we see several results we will need in the next sections.
S is a v-set of elements (called points) and B is a collection of k-subsets of points (called blocks) such that every t-subset of points is contained in exactly In terms of incident matrix a t-(v, k, λ)-design is a binary code C of length v with codewords of weight k such that any binary vector of length v and weight t is covered by exactly λ codewords. A t-design with λ = 1 is called a Steiner system and also denoted by S(v, k, t). The following properties are well known (e.g., [3,4,11]).
Given a t-(v, k, λ)-design D: (iv) Each point is contained in the same number of blocks, namely r = λ 1 = bk/v (r is called the replication number).
and weight k over E is called a q-ary t-design and denoted t-(v, k, λ) q , if for every vector y over E of length v and weight t there are exactly λ vectors then we obtain a q-ary Steiner system, denoted S(v, k, t) q .
For a code C denote by C w the set of all codewords of C of weight w.
Regularity of a code C implies that the sets C w determine t-designs.
Directly from the definition of completely regular codes (see also [10,16]) we have the following Theorem 2.4. Let C be a q-ary completely regular code of length n with minimum distance d.
(i) If d = 2e + 1 then any nonempty set C w is an e-(n, w, λ w ) q -design.
For a code C, we denote by s + 1 the number of nonzero terms in the dual distance distribution of C, obtained by the MacWilliams transform. The parameter s was called external distance by Delsarte [8], and is equal to the number of nonzero weights of C ⊥ if C is linear. The following properties show the importance of this parameter.
Theorem 2.5. If C is any code with covering radius ρ and external distance s, then (i) [8] ρ ≤ s.
(ii) [8] A code C is perfect (e = ρ) if and only if e = s.
(iii) [10] A code C is quasi-perfect uniformly packed if and only if s = e + 1.
(vi) [6] If C has only even weights and d ≥ 2s − 2, then C is completely regular.
Given a code C, we define the extended code C * by adding an extra coordinate to each codeword of C such that the sum of the coordinates of the extended vector is zero.
Proposition 3. If a binary extended code C * , of length n+1, is a completely regular code with minimum distance d * = 2e + 2 ≥ 4, then for all odd w |C * w+1 |(w + 1) = (n + 1)|C w | and Proof. Let w be odd and assume that C w is not empty. By Theorem 2.4, the set C * w+1 of codewords of weight w + 1 form a (e + 1)-(n + 1, w + 1, λ * 2 )-design which, in particular, is a 2-(n + 1, w + 1, λ * 2 )-design, by Corollary 1. The number of codewords in C * w+1 with nonzero value at position n + 1 is r * , the replication number, and clearly r * = |C w |. Therefore, For any vector x = (x 1 , . . . , x n ) ∈ F n q , denote by σ(x) the right cyclic shift of Finally, we will also make use of the following technical lemma.
Proof. Assume that σ i (x) = x for some i = 2, . . . , n − 1. Then, i divides n and x has the form: i is a common divisor of n and w. For the case, σ(x) = x, note that x should be either the all-one or the all-zero vector.

Infinite families of CR codes
The next construction is new, although the dual codes of the resulting family of q-ary completely regular codes are known as the family SU2 in [7]. In the current paper, we also study when these codes are completely transitive and when the extended codes are completely regular.

Construction I
Let H be the parity check matrix of a q-ary cyclic Hamming code of length n = (q k − 1)/(q − 1), (hence gcd(n, q − 1) = 1). Thus, the simplex code generated by H is also a cyclic code. Denote by r 1 , . . . , r k the rows of H.
For any c ∈ {2, . . . , n}, consider the code C with parity check matrix where H i is the matrix H after cyclically shifting i times its columns to the right. In other words, the rows of H i are σ i (r 1 ), . . . , σ i (r k ). Note that, for which generates the simplex code as H. Therefore, in this case, C is a Hamming code.
Proposition 4. The code C ⊥ has nonzero weights Proof. Let x = (x 1 , . . . , x c ) ∈ C ⊥ be a nonzero codeword such that each x i is an vector of length n generated by Since H and H i generate the same simplex code, x i has weight 0 or q k−1 . Assume that x i is the zero vector. Then, x j is not the zero vector.
The conclusion is that x has weight cq k−1 or (c − 1)q k−1 .

Remark 1.
In the proof of Proposition 4, the number of ways to get x i equal to the zero vector (being x a nonzero codeword) is equal to the number of nonzero vectors generated by H. Therefore, C ⊥ has c(q k − 1) codewords By using this weight distribution of C ⊥ and the MacWilliams transform [14], it is possible to compute |C 3 |, the number of codewords in C of weight 3. Here we use a combinatorial argument to compute |C 3 |.
Let B 1 , . . . , B c be the n-sets, which we call blocks, of coordinate positions Proposition 5. The number |C 3 | of codewords in C of weight 3 is: Proof. For c = 1, the result is trivial since is the number of triples in a q-ary 2-(n, 3, 1)-design. Note that any codeword x of weight 3 cannot have exactly 2 nonzero coordinates in the same block because there exists a codeword y in such block covering these two coordinates and, hence, we would have d(x, y) = 2. Thus, the result is also trivial If c > 2, then the codewords of weight 3 are divided into two classes: a) those with the three nonzero coordinates in the same block, and b) those with the three nonzero coordinates in three different blocks.
Clearly, the number of codewords in the case a) is For the case b), consider any three distinct blocks B j 1 , B j 2 , and B j 3 (we can choose these three blocks in c 3 ways). In the block B j 1 , we fix a vector v of weight one (we have (q − 1)n such vectors). Now, we claim that there exists exactly one codeword of weight 3 covering v with the other two nonzero coordinates in B j 2 and B j 3 .
If there are two such codewords, say x = v + e 2 + e 3 and y = v + d 2 + d 3 (e ℓ and d ℓ are one-weight vectors with the nonzero coordinate in B j ℓ , for ℓ = 2, 3), then we know that there are 3-weight codewords x ′ and y ′ with nonzero coordinates in B j 2 and B j 3 , respectively, and covering e 2 + e 3 and d 2 + d 3 , respectively. Therefore, x + y + x ′ + y ′ has weight 2 leading to a contradiction.
The statement is proved. Proof. The length, dimension and minimum distance of C are clear. By Proposition 4, C has external distance s = 2. Since C is not perfect, 1 < ρ.
Thus, by Theorem 2.5 (i), the covering radius is ρ = 2, and by Theorem 2.5 (iii), C is a quasi-perfect uniformly packed code.
The values of the intersection numbers b 0 = (q − 1)n and c 1 = 1 are straightforward since C has minimum distance 3. Now, we compute the intersection number a 1 , that is, the number of neighbors in C(1) of any vector z ∈ C(1). Without loss of generality, assume that z is a one-weight vector. Then, a 1 is the addition of the number of two-weight vectors covering z and covered by some codeword of weight 3, and the q − 2 vectors of weight 1 at distance 1 from z. Since the set C 3 of codewords of weight 3 defines a q-ary 1-design (Theorem 2.4), we have that where r is the replication number, i.e. the number of codewords in C 3 covering z (note that (3) is a generalization to the q-ary case of Corollary 1 (iv)).
Proposition 7. The number of codewords in C of weight 3 is: Proof. We compute separately the number of codewords in C 3 for the different possible cases. a) Codewords in C 3 with the three nonzero coordinates in B 3 ∪ · · · ∪ B c+3 .
We can apply here the arguments of Proposition 5 for c + 1 instead of c. The result is: c) Codewords in C 3 with exactly one nonzero coordinate in B 3 ∪· · ·∪B c+3 .
Consider any column h i of H (c) in B 3 ∪ · · · ∪ B c+3 . It is clear that there is exactly one column h j in B 1 and one column h ℓ in B 2 , such that h i , h j and h ℓ are linearly dependent. Hence, in this case we have exactly one codeword for each coordinate (and its multiples) in B 3 ∪ · · · ∪ B c+3 .
(ii) The length, dimension and minimum distance of C are clear. By Proposition 6, C has external distance s = 2. Since C is not perfect, we have that ρ > 1 and, by Theorem 2.5 (i), the covering radius is ρ = 2. Hence, by Theorem 2.5 (iii), C is a quasi-perfect uniformly packed code.
The values of the intersection numbers b 0 = (c + 3)n(q − 1) and c 1 = 1 are straightforward since C has minimum distance 3. Now, we compute the intersection number a 1 , that is, the number of neighbors in C(1) of any vector z ∈ C(1). Without loss of generality, assume that z is a one-weight vector. Then, a 1 is the addition of the number of two-weight vectors covering z and covered by some codeword of weight 3, and the q − 2 vectors of weight 1 at distance 1 from z. Since the set C 3 of codewords of weight 3 defines a q-ary 1-design (Theorem 2.4), we have that where r is the replication number, i.e. the number of codewords in C 3 covering z. Of course, any such codeword covers two vectors of weight 2 that, also, cover z. Thus, we have that a 1 = 2r + q − 2. Combining with (8) Substituting n = (q k −1)/(q−1), the expression simplifies to (c+2)(c+3). Of course, for q = 2 and c = n − 1, the extended code is an extended Hamming code. Therefore, we consider the binary cases where 1 ≤ c ≤ n−2. Hence, if C * is completely regular, it must have external distance s * = 3. In other words, (C * ) ⊥ must have exactly 3 nonzero weights (Theorem 2.5 (iv)).
The statement is proved.

Sporadic completely regular codes by concatenation
We have computationally checked that the following codes are completely regular with the specified parameters.