1. Introduction
Motivated by the application of high-density data storage technologies, Cassuto and Blaum [
1] proposed a new coding framework for symbol-pair read channels in 2011. In this framework, the reading from the channel is performed as overlapping pairs of symbols due to physical limitations, and the design object is to protect against pair errors rather than symbol errors.
Construction and decoding for symbol-pair codes and bounds on their sizes were further studied in [
2,
3,
4]. Chee et al. [
5,
6] established a Singleton-like bound on symbol-pair codes and constructed some MDS symbol-pair codes meeting this bound from Mendelsohn designs. More MDS symbol-pair codes were constructed by Kai et al. [
7] based on constacyclic codes.
Yaakobi et al. [
8] generalized symbol-pair codes to
b-symbol codes where
and provided extensions of some concepts and results in 2016. Subsequently, many MDS
b-symbol codes were constructed in [
9,
10,
11,
12,
13,
14] through constacyclic codes, repeated-root cyclic codes, and projective geometry. Yang et al. [
15] established a Plotkin-like bound and constructed some
b-symbol codes on irreducible cyclic codes and constacyclic codes meeting this bound.
The symbol-pair sphere-packing bound was first presented in [
1]. Cassuto and Litsyn [
2] showed that cyclic binary Hamming codes are perfect symbol-pair codes. In [
9], a constacyclic
Hamming symbol-pair code was constructed and shown to be both MDS and perfect.
In 2018, Song et al. [
16] established the sphere-packing bound and Gilbert–Varshamov bound for
b-symbol codes. Chen [
17] studied the covering radii of linear codes in the
b-symbol metric, and many cyclic and algebraic-geometric codes were proved non-perfect in the
b-symbol metric.
In this paper, we continue the investigation of perfect b-symbol codes. We establish a b-sphere-packing bound for linear b-symbol codes and study the existence of linear perfect b-symbol e-error-correcting codes over for . We determine all parameters of linear perfect b-symbol e-error-correcting codes over for and show that for , there exist at most finite such codes for a given and q. In particular, we construct a family of linear perfect b-symbol b-error-correcting codes over using constacyclic codes.
This paper is organized as follows.
Section 2 gives some preliminaries concerning
b-symbol codes. The sphere-packing bound on
b-symbol codes and the enumeration of
b-spheres are presented in
Section 3. In
Section 4, we study the existence of linear perfect
b-symbol
e-error-correcting codes over
for
.
Section 5 is the conclusion.
2. Preliminaries
Basic concepts and propositions related to linear codes over finite fields, the Hamming distance, and the Hamming weight can be found in Chapter 1 of [
18].
Let
be an alphabet consisting of
q elements and
be an integer. For a vector
, the
b-symbol read vector of
is defined as
For
b-symbol vectors
where
, the
b-distance between
and
is defined as
where
if
for all
.
For notational aesthetics, we have
where
. As in the Hamming case,
with the
b-distance is a metric space.
The
b-weight of
is defined as
Throughout this paper, we consider to be the finite field , with q a prime power, and to be a linear code of length n and dimension k over .
Proposition 1. For all , .
Proposition 2 ([
12]).
For all such that , The minimum
b-distance of a code
is defined as
Since is linear, we have
Proposition 3. .
Referring to these propositions, we have
Corollary 1. For a linear code over with , Let . In the b-symbol sense, a b-symbol vector is the result of an e-error from if . A code is an e-error-correcting code if no is the result of an e-error from both and for some .
Proposition 4. A code is an e-error-correcting code if and only if .
Proof. This follows from the fact that with the b-distance is a metric space. □
3. Sphere-Packing Bound and b-Spheres
Let . We define the b-sphere of radius r as the set of all such that and the b-ball of radius r as the set of all such that .
Since is in , and do not rely on the selection of . Hence, we denote and .
For a linear b-symbol e-error-correcting code of length n and dimension k over , since there are disjoint b-balls of radius e, we can establish a b-sphere-packing bound if we can enumerate .
Definition 1. For a word , suppose that . The remaining indices can be uniquely partitioned into a union of its subsets such that each subset consists of consecutive numbers modulo n for some , and . Suppose that there are of these subsets in the partition with an exact cardinality of i for , and c of them have a cardinality of no less than . Then, we say that is an -word, in the b-symbol sense.
Now, we calculate the b-weight of an -word.
Proposition 5. Suppose that is an -word; then, we have Proof. By the definition of the
b-weight,
where the indices may wrap around modulo
n. The indices of
b consecutive zeros must belong to one of the
c subsets which have a cardinality of no less than
in the partition of zeros of
. On the other hand, each
of these
c subsets contributes
of indices
i such that
. Hence, we have
□
For example, the word is a -word in the three-symbol sense, and . The following theorem shows how many -words there are.
Theorem 1. The number of -words in is Proof. We prove the theorem by the following five steps:
- (1)
We sort all these -words into several classes such that and are in the same class if and only if for some j, for all . For each of these classes, whether or not the cardinality is n, the exact of the words in the class satisfy . Hence, the exact of all -words satisfies . For example, the two words and form a class, and of them, i.e., , satisfy .
- (2)
By Proposition 5, the
c subsets
, which have a cardinality of no less than
in the partition of zeros of an
-word
, contribute all
indices
i such that
. Consider the number of non-negative integer solutions
of the equation
or, equivalently, the number of positive integer solutions
of the equation
The latter is obviously .
- (3)
We then consider the order of the subsets in the partition. Since we suppose that , no subset wraps around modulo n, and the number is simply .
- (4)
Now that the cardinalities and the order of these subsets have been determined, we just need to choose from these l non-zeros and insert corresponding zeros after each of them. The number of possible choices is .
- (5)
Each of the l non-zeros has possible values.
Now, by the rule of product, the number of
-words is
□
Corollary 2. The number of -words in is Proof. Take and in Theorem 1. □
This corollary coincides with Theorem 8 in [
1]. By these results, we can determine the size of
b-spheres and
b-balls.
Proposition 6. The cardinality of a b-sphere isThe cardinality of a b-ball is . Finally, we establish the following bound.
Theorem 2 (
b-Sphere-Packing Bound).
For a linear b-symbol e-error-correcting code of length n and dimension k over , we havewhere and Proof. The b-balls, each with a cardinality , are disjoint and contained in ; hence, . □
The e-error-correcting code meeting this bound is called a perfect code, as in the Hamming case.
We set
to be the
b-weight enumerator of all words in
; then, for a linear perfect
b-symbol code
, the following equation holds:
Before studying the existence of perfect codes, we present another way to calculate . Note that for a given b and q, is a polynomial of n, by the expression in Theorem 2.
Proof. For , the equation holds trivially. Now, we consider .
For each
and
, we have
. Suppose that
for some non-negative integers
. Then, we define
and
.
For each
and
, we have
. Suppose that
for some non-negative integers
. Then, we define
.
For example, if , then , and .
We divide the set
into four parts:
We divide the set
into four parts:
For
, we divide the set
into four parts:
For
, we divide the set
into two parts:
For
, we divide the set
into four parts:
We construct several maps:
For example, if we set
, then
It is not hard to prove that
are all well-defined one-to-one maps, and
are all well-defined
-to-1 maps. Thus, we have
Putting all these together, we have
□
The relationship between gives a relationship between .
Theorem 3. Suppose . For , we have Proof. Comparing the coefficients of , the equation holds by Proposition 7. □
For example, we take and . By this theorem, we have ; hence, , , , and . The results coincide with Proposition 6.
4. Linear Perfect b-Symbol Codes for
For linear perfect b-symbol codes, . So far, we know that is the sum of 1 and some , where each is a polynomial of n. Now, we analyze the expression of more carefully. When , we have and , and the corresponding code is the trivial code. Hence, we suppose that from now on.
For each word in , we have . Therefore, by Proposition 5, , or . Note that each polynomial of n has a degree of no more than c, and the sum must be a polynomial of n with a degree of no more than . On the other hand, there does exist a word with and ; hence, is a polynomial of n with degree .
4.1. Linear Perfect b-Symbol Codes for
In this case, , and there is no possible c for a word in ; hence, and . The code has a minimum b-distance b and is a perfect e-error-correcting code if and only if .
Theorem 4. For , linear perfect b-symbol e-error-correcting codes over exist if and only if . The parameters of these perfect codes are .
4.2. Linear Perfect b-Symbol Codes for
In this case, . Hence, all words in satisfy and for , since .
By Proposition 6, . Let ; thus, we have and . Before we construct the corresponding perfect codes, we need the following lemma.
Lemma 1 ([
7], the BCH Bound for Constacyclic Codes).
Let be an ω-constacyclic code of length n over with generating polynomial , where ω is a primitive t-th root of unity. Let δ be a primitive -th root of unity in an extension field of such that . If has the elements as its roots for some integer , then . The basic idea of the following construction is from [
12].
Theorem 5. There exists a linear perfect b-symbol b-error-correcting code over for any .
Proof. Let ; then, . Let be a primitive element of and be a primitive element of such that . Note that divides . Let be the -constacyclic code . Then, is a linear code. By Lemma 1, .
Let
be any non-zero codeword. If there exists a
j such that
where the indices are the reduced modulo
n, then we consider the codeword
. By the selection of
j, we have
Suppose that
for some
. Since
, we have
. Consider the set
where the indices are the reduced modulo
n. The set
I has at least
elements
and
, since
;
; and
,
. If
, then
for
, which means that
and contradicts
. Hence,
.
If there does not exist such a j, then .
Hence, we always have and . On the other hand, the b-error-correcting code meets the b-sphere-packing bound. Thus, is a perfect code, and for the word , which has a b-weight , there must be a codeword separated from it by a b-distance of no more than b. This codeword has a b-weight of no more than , and hence . □
Lemma 2 ([
12],
b-Singleton Bound).
Let and . If is an b-symbol code, then we have . Theorem 6. For , linear perfect b-symbol e-error-correcting codes over exist. The parameters of all these perfect codes are , where .
Proof. By the discussion at the beginning of this subsection and Theorem 5, the only detail we need to prove is that must hold, which is exactly what the b-Singleton bound tells us. □
4.3. Linear Perfect b-Symbol Codes for
In this case, . Hence, all words in satisfy and .
Theorem 7. For , .
Proof. For a fixed
r and
l, the number of ways to insert
1-consecutive zeros,
2-consecutive zeros, …,
-consecutive zeroes into
l non-zeros is
. Note that
, and the number of ways to insert
zeros into
l non-zeros is exactly
On the other hand, this number is
. Thus, we have
□
Theorem 8. For , linear perfect b-symbol e-error-correcting codes over do not exist.
Proof. By Theorem 7, and hence cannot meet the b-sphere-packing bound. □
4.4. Linear Perfect b-Symbol Codes for
We present a general result first. The following lemma is a classical result, and the proof can be found in, for example, [
19].
Lemma 3. Let be a polynomial with integer coefficients and at least two zeroes. When integer , we have , where P is the greatest prime factor of .
Theorem 9. For , there exist infinite linear perfect b-symbol e-error-correcting codes over for a given and q only if for some integer K.
Proof. is a polynomial with rational coefficients, and . Consider the equation ; we can rewrite it as such that is a polynomial with integer coefficients and C is an integer. Since the greatest prime factor of is a constant, the equation has infinite solutions only if , by Lemma 3.
Taking , we have , since . Thus, . Taking , we know that is an integer K, since is an integer. The statement of the theorem follows. □
From now on, we focus on the case . In this case, , and is a quadratic function of n.
Theorem 10. For , the coefficient of in is Proof. In order to calculate the coefficient of
, we only need to consider those words satisfying
. By Proposition 6, this coefficient is
Note that
, and we have
by the same method we used to prove Theorem 7.
□
Theorem 11. For , there exist at most finite linear perfect b-symbol e-error-correcting codes over for a given and q.
Proof. By Theorems 9 and 10, we only need to consider the case
, and hence
for some integer
K.
If , then , which is impossible.
If , then . Hence, is a perfect square, which is also impossible.
If , then , where q is a power of prime p. Hence, , and , which contradicts . □