This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Bound on the Minimal Field Size of LRCs,
and Cyclic MR Codes That Attain It

Han Cai, , and Moshe Schwartz The material in this paper was submitted in part to the IEEE International Symposium on Information Theory (ISIT 2022).Han Cai is with the School of Information Science and Technology, Southwest Jiaotong University,Chengdu, 610031, China (e-mail: [email protected]).Moshe Schwartz is with the School of Electrical and Computer Engineering, Ben-Gurion University of the Negev, Beer Sheva 8410501, Israel (e-mail: [email protected]).This research was supported in part by the German Research Foundation (DFG) with a German Israeli Project Cooperation (DIP) under grant no. PE2398/1-1.
Abstract

We prove a new lower bound on the field size of locally repairable codes (LRCs). Additionally, we construct maximally recoverable (MR) codes which are cyclic. While a known construction for MR codes has the same parameters, it produces non-cyclic codes. Furthermore, we prove both necessary conditions and sufficient conditions that specify when the known non-cyclic MR codes may be permuted to become cyclic, thus proving our construction produces cyclic MR codes with new parameters. Furthermore, using our new bound on the field size, we show that the new cyclic MR codes have optimal field size in certain cases. Other known LRCs are also shown to have optimal field size in certain cases.

Index Terms:
Distributed storage, locally repairable codes, maximally recoverable codes, cyclic codes.

I Introduction

In large-scale cloud storage and distributed file systems, such as Amazon Elastic Block Store (EBS) and Google File System (GoogleFS), disk failures are the norm and not the exception, due to the sheer scale of the system. To protect the data integrity, coding theory is used to recover from data loss due to disk failures. The simplest solution for those systems is a straightforward replication of data packets across different disks. However, this solution is costly especially for large-scale systems since it suffers from a large storage overhead. As an alternative solution, erasure codes such as [n,k][n,k] maximum distance separable (MDS) codes, may be employed as storage codes. These codes encode kk information symbols to nn symbols and store them across nn disks, and they can recover from the loss of any nkn-k symbols. This scheme achieves a dramatic improvement in redundancy compared with replication. However, for MDS codes, even if one disk fails, the system needs to access kk surviving disks in order to recover the lost symbol, which makes the repair process costly.

One method to improve the repair efficiently, suggested in [17], is endow the code with a locality property. This property allows a failed symbol to be recovered by accessing only rkr\ll k other symbols. Erasure codes with locality are also called locally repairable codes (LRCs). The original concept of locality only works when exactly one erasure occurs (that is, one disk fails). In the past decade, the notion of locality further generalized in several directions. For example, LRCs with (r,δ)(r,\delta)-locality [31] allow an erased symbol to be recovered by reading rr other symbols, even if the repair set suffered δ1\delta-1 more erasures. Other examples include: locality which guarantees disjoint multiple repairable sets (also named as availability) [40, 35, 6, 8], locality which has a hierarchical structure [36, 14], and unequal localities [26, 44, 22].

Other code properties are also desirable. For a given code length nn and dimension kk, we would like the Hamming distance to be as large as possible, in order to maximize erasure-correcting capabilities. Additionally, we would like the field size (or alphabet size) to be as small as possible, in order to reduce the computation complexity for coding and decoding. Other desirable properties may include a cyclic structure for the code, since it allows for fast encoding algorithms. Finally, even if the code has optimal distance, we would like to be able to correct some pre-determined erasure patterns beyond the minimum Hamming distance.

In the past a few years, many results have been obtained for LRCs. Upper bounds on the minimum Hamming distance were proved, e.g., Singleton-type bounds [17, 31, 41, 7], and bounds related with the alphabet size [5, 1]. Optimal LRCs (with respect to these bounds), were constructed, e.g., [24, 34, 38, 37, 42, 13, 28]. In [21, 9], lower bounds on the field size of optimal LRCs were derived for δ=2\delta=2 [21], and δ2\delta\geqslant 2 [9]. Among the known optimal LRCs, some of them also achieve order-optimal field size [25, 2, 43, 12] when δ=2\delta=2, and [9] when δ2\delta\geqslant 2. Otherwise, constructions of optimal cyclic LRCs were introduced in [39, 13, 32, 14, 33]. When considering pre-determined recoverable erasure patterns beyond the minimum Hamming distance, codes that can recover from all information-theoretically recoverable erasure patterns are called maximally recoverable (MR) codes [17], also known as partial MDS codes [3]. In [19], lower bounds on the field size requirement for MR codes were introduced. For explicit constructions of MR codes, the reader may refer to [3, 16, 15, 28, 20, 10, 18]. Notably, there are MR codes have order-optimal field size (with respect to the bound in [19]): [3] for a single global parity check (h=1h=1), [4, 19] for h=2h=2, [16] for h=3h=3 and δ=2\delta=2, and [10, 18] for hδ+1h\leqslant\delta+1 a constant, and n=Θ(r2)n=\Theta(r^{2}).

The above summary shows how subsets of the mentioned desired properties may be obtained simultaneously. However, to the best of our knowledge, there are no explicit constructions that achieve all them, namely, cyclic MR codes with optimal field size. In this paper, our motivation is to construct cyclic MR codes with optimal field size, or order-optimal field size. To this end, we work both on constructions for cyclic MR codes, and a theoretic bound on the field size of optimal LRCs (containing MR codes as special cases). In the first part of the paper we prove a new general bound for optimal LRCs. We compare our new bound with the known bounds, and show that it is tighter for some parameters. In the second part of the paper, we introduce a new construction for cyclic MR codes. Our construction produces cyclic MR codes that share the same parameters as one of the known non-cyclic constructions in [19]. We also show that under certain conditions, the non-cyclic construction from [19] can be permuted to become a cyclic code, whereas in other cases it cannot, thus proving our construction produces cyclic MR codes with new parameters. As a byproduct of the proof, we characterize the algebraic structure of repair sets for optimal cyclic LRCs, which results in strong new restrictions on the parameters of optimal cyclic LRCs. Finally, we return to review our bound on optimal LRCs, and show that our construction has an optimal field size when r=2r=2. Since the bound is for general LRCs, as a consequence we get that some known constructions have optimal field size when r=2r=2, a result which has not been claimed before.

The remainder of this paper is organized as follows. Section II introduces some preliminaries about LRCs. Section III proves a new bound on the field size of LRCs. Section IV describes a construction of cyclic MR codes, as well as sufficient and necessary conditions under which a known non-cyclic construction from [19] may be permuted to become cyclic. Section V concludes this paper with some remarks.

II Preliminaries

In this section, we present notation and some necessary known results, which are used throughout the paper. For a positive integer nn\in\mathbb{N}, we define [n]={0,1,,n1}[n]=\left\{0,1,\dots,n-1\right\}. If m|nm|n is a positive integer, we denote

mm[n]={0,m,2m,,nm}.\left\langle m\right\rangle\triangleq m\mathbb{Z}\cap[n]=\left\{0,m,2m,\dots,n-m\right\}.

Thus, m\left\langle m\right\rangle implicitly depends on nn, whose value should be understood from the context.

For any prime power qq, let 𝔽q\mathbb{F}_{q} denote the finite field of size qq, let 𝔽qm\mathbb{F}_{q}^{m} denote the set of vectors of length mm over 𝔽q\mathbb{F}_{q}, and let 𝔽qm×n\mathbb{F}^{m\times n}_{q} denote the set of all possible m×nm\times n matrices over 𝔽q\mathbb{F}_{q}.

An [n,k]q[n,k]_{q} linear code, 𝒞\mathcal{C}, over 𝔽q\mathbb{F}_{q}, is a kk-dimensional subspace of 𝔽qn\mathbb{F}_{q}^{n}. Such a code may be specified as the row-space of a k×nk\times n generator matrix G=(g0,g1,,gn1)G=(g_{0},g_{1},\dots,g_{n-1}), where gig_{i} is a column vector of length kk for all i[n]i\in[n]. Specifically, it is called an [n,k,d]q[n,k,d]_{q} linear code if the minimum Hamming distance of the code is dd. For a subset S[n]S\subseteq[n], we define

span(S)\displaystyle\operatorname{span}(S) span{gi:iS},\displaystyle\triangleq\operatorname{span}\left\{g_{i}~{}:~{}i\in S\right\},
rank(S)\displaystyle\operatorname{rank}(S) rank(span(S)).\displaystyle\triangleq\operatorname{rank}(\operatorname{span}(S)).

The code 𝒞\mathcal{C} can also be specified by a parity-check matrix H𝔽q(nk)×nH\in\mathbb{F}^{(n-k)\times n}_{q}, i.e., 𝒞={c𝔽qn:Hc=0},\mathcal{C}=\left\{c\in\mathbb{F}^{n}_{q}~{}:~{}Hc^{\intercal}=0\right\}, where rank(H)=nk\operatorname{rank}(H)=n-k. Given a non-empty set of coordinates, S[n]S\subseteq[n], the punctured code 𝒞|S\mathcal{C}|_{S} is the code obtained from 𝒞\mathcal{C} by deleting the code symbols at positions [n]S[n]\setminus S. Thus, 𝒞|S\mathcal{C}|_{S} is generated by G|SG|_{S} which is obtained from GG by deleting the columns at [n]S[n]\setminus S. Similarly, the shortened code 𝒞|S\mathcal{C}|^{S} is the code whose parity matrix is H|SH|_{S}, namely, the matrix obtained from HH by deleting the columns at [n]S[n]\setminus S.

An [n,k]q[n,k]_{q} linear code, 𝒞\mathcal{C}, is said to be a cyclic code if c=(c0,c1,,cn1)𝒞c=(c_{0},c_{1},\cdots,c_{n-1})\in\mathcal{C} implies that σ(c)(cn1,c0,c1,,\sigma(c)\triangleq(c_{n-1},c_{0},c_{1},\cdots, cn2)𝒞c_{n-2})\in\mathcal{C}, where σ\sigma is the cyclic shift operator by one place. It is well known (see [27]) that a cyclic code with length nn over 𝔽q\mathbb{F}_{q} corresponds to a principal ideal of 𝔽q[x]/(xn1)\mathbb{F}_{q}[x]/(x^{n}-1). Thus, let 𝒞\mathcal{C} be generated by a monic polynomial g(x)|(xn1)g(x)|(x^{n}-1), which is called the generator polynomial of 𝒞\mathcal{C}. When n|(qm1)n|(q^{m}-1), assume α\alpha is a primitive nnth root of unity of 𝔽qm\mathbb{F}_{q^{m}}, then the cyclic code 𝒞\mathcal{C} can be also be determined by the roots of g(x)g(x), i.e., R𝒞={αi:g(αi)=0}R_{\mathcal{C}}=\left\{\alpha^{i}~{}:~{}g(\alpha^{i})=0\right\}.

We shall encounter many Vandermonde matrices in the following section. Since we use a broader-than-usual definition for such matrices, we give it here explicitly. Let α1,,αn𝔽q\alpha_{1},\dots,\alpha_{n}\in\mathbb{F}_{q} be nn distinct elements. We say the following m×nm\times n matrix is a Vandermonde matrix,

ΠD(111α0α1αn1α0m1α1m1αn1m1)D,\Pi\cdot D\cdot\begin{pmatrix}1&1&\dots&1\\ \alpha_{0}&\alpha_{1}&\dots&\alpha_{n-1}\\ \vdots&\vdots&&\vdots\\ \alpha_{0}^{m-1}&\alpha_{1}^{m-1}&\dots&\alpha_{n-1}^{m-1}\end{pmatrix}D^{\prime},

where Π\Pi is a permutation matrix, and where DD and DD^{\prime} are invertible diagonal matrices. It is well known that the rank of such a matrix is min{m,n}\min\left\{m,n\right\}.

II-A Locally Repairable Codes

In [17], Gopalan et al. introduced a definition for the locality of code symbols. For j[n]j\in[n], the jjth code symbol, cjc_{j}, of an [n,k,d]q[n,k,d]_{q} linear code, 𝒞\mathcal{C}, is said to have locality rr if it can be recovered by accessing at most rr other symbols of 𝒞\mathcal{C}. This has been generalized in [31] to the following definition:

Definition 1:

Let 𝒞\mathcal{C} be an [n,k,d]q[n,k,d]_{q} linear code, and let GG be a generator matrix for it. For j[n]j\in[n], the jjth code symbol, cjc_{j}, of 𝒞\mathcal{C}, is said to have (r,δ)(r,\delta)-locality if there exists a subset Sj[n]S_{j}\subseteq[n] such that:

  • jSjj\in S_{j} and |Sj|r+δ1|S_{j}|\leqslant r+\delta-1; and

  • the minimum Hamming distance of the punctured code 𝒞|Sj\mathcal{C}|_{S_{j}} is at least δ\delta.

In that case, the set SjS_{j} is also called a repair set of cjc_{j}. The code 𝒞\mathcal{C} is said to have information (r,δ)(r,\delta)-locality if there exists S[n]S\subseteq[n] with rank(S)=k\operatorname{rank}(S)=k such that for each jSj\in S, cjc_{j} has (r,δ)(r,\delta)-locality. Furthermore, the code 𝒞\mathcal{C} is said to have all-symbol (r,δ)(r,\delta)-locality if all the code symbols have (r,δ)(r,\delta)-locality.

Thus, the definition of symbol locality from [17] is the special case of δ=2\delta=2 in the definition from [31]. In [31] (and for the case δ=2\delta=2, originally [17]), the following upper bound on the minimum Hamming distance of linear codes with information (r,δ)(r,\delta)-locality is derived.

Theorem 1 ([31]):

For an [n,k,d]q[n,k,d]_{q} linear code with information (r,δ)(r,\delta)-locality,

dnk+1(kr1)(δ1).d\leqslant n-k+1-\left(\left\lceil\frac{k}{r}\right\rceil-1\right)(\delta-1).

Codes with information (r,δ)(r,\delta)-locality are said to be optimal locally repairable codes (optimal LRCs) if their minimum Hamming distance attains the bound of Theorem 1 with equality. It is known that optimal LRCs with all-symbol (r,δ)(r,\delta)-locality have a specific structure to their repair sets.

Theorem 2 ([37, 9]):

Let 𝒞\mathcal{C} be an optimal [n,k,d]q[n,k,d]_{q} LRC with all-symbol (r,δ)(r,\delta)-locality. Let Γ2[n]\Gamma\subseteq 2^{[n]} be the set of all possible repair sets. Write k=ru+vk=ru+v, for integers uu and vv, and 0vr10\leqslant v\leqslant r-1. If (r+δ1)|n(r+\delta-1)|n, k>rk>r, and additionally, u2(rv+1)u\geqslant 2(r-v+1) or v=0v=0, then there exists a subset 𝒮Γ\mathcal{S}\subseteq\Gamma, such that:

  • All S𝒮S\in\mathcal{S} are of cardinality |S|=r+δ1\left|S\right|=r+\delta-1, and 𝒮\mathcal{S} is a partition of [n][n].

  • For any S𝒮S\in\mathcal{S}, 𝒞|S\mathcal{C}|_{S} is an [r+δ1,r,δ]q[r+\delta-1,r,\delta]_{q} MDS code.

Remark 1:

The partitioning of [n][n] by repair sets was first proved in [37] only for the case r|kr|k, i.e., v=0v=0. Recently, this property was proved in [9] also for the case u2(rv+1)u\geqslant 2(r-v+1).

In [21], Guruswami et al. asked a fundamental interesting question: How long can an optimal LRC with (r,δ=2)(r,\delta=2)-locality be? They derived the following upper bound on the code length.

Theorem 3 ([21]):

Let 𝒞\mathcal{C} be an optimal [n,k,d]q[n,k,d]_{q} LRC with all-symbol (r,2)(r,2)-locality. If d5d\geqslant 5, k>rk>r, (r+1)|n(r+1)|n, and additionally, r|kr|k or k2r2+2r(2r1)(kmodr)k\geqslant 2r^{2}+2r-(2r-1)(k\bmod r), then

n={O(dq4(d2)da1),if a=1,2,O(dq4(d3)da1),if a=3,4,n=\begin{cases}O\left(dq^{\frac{4(d-2)}{d-a}-1}\right),&\text{if }a=1,2,\\ O\left(dq^{\frac{4(d-3)}{d-a}-1}\right),&\text{if }a=3,4,\\ \end{cases} (1)

where a{1,2,3,4}a\in\left\{1,2,3,4\right\}, and ad(mod4)a\equiv d\pmod{4}.

In [9], this problem is further considered for optimal LRCs with all-symbol (r,δ)(r,\delta)-locality, δ2\delta\geqslant 2.

Theorem 4 ([9]):

Let n=w(r+δ1)n=w(r+\delta-1), δ>2\delta>2, k=ur+vk=ur+v, 0vr10\leqslant v\leqslant r-1, and additionally, u2(rv+1)u\geqslant 2(r-v+1) or v=0v=0, where all parameters are integers. Assume that there exists an optimal [n,k,d]q[n,k,d]_{q} linear code 𝒞\mathcal{C} with all-symbol (r,δ)(r,\delta)-locality, and define t=(d1)/δt=\left\lfloor(d-1)/\delta\right\rfloor. If t2t\geqslant 2, then

n\displaystyle n {(t1)(r+δ1)2r(q1)q2(wu)r2vt1 if t is oddt(r+δ1)2r(q1)q2(wu)r2vt if t is even\displaystyle\leqslant\begin{cases}\frac{(t-1)(r+\delta-1)}{2r(q-1)}q^{\frac{2(w-u)r-2v}{t-1}}&\text{ if }t\text{ is odd}\\ \frac{t(r+\delta-1)}{2r(q-1)}q^{\frac{2(w-u)r-2v}{t}}&\text{ if }t\text{ is even}\\ \end{cases}
=O(t(r+δ)rq(wu)rvt/21),\displaystyle=O\left(\frac{t(r+\delta)}{r}q^{\frac{(w-u)r-v}{\left\lfloor t/2\right\rfloor}-1}\right),

where wuw-u can also be rewritten as wu=(d1+v)/(r+δ1)w-u=\lfloor(d-1+v)/(r+\delta-1)\rfloor.

II-B Maximally Recoverable Codes

Maximally recoverable (MR) codes are an extremal case of LRCs, that maximize the erasure-repair capability.

Definition 2:

Let 𝒞\mathcal{C} be an [n,k,d]q[n,k,d]_{q} code with all-symbol (r,δ)(r,\delta)-locality, and define 𝒮{Si:i[n]}\mathcal{S}\triangleq\{S_{i}~{}:~{}i\in[n]\}, where SiS_{i} is a repair set for coordinate ii. The code 𝒞\mathcal{C} is said to be a maximally recoverable (MR) code if 𝒮\mathcal{S} is a partition of [n][n], and for any RiSiR_{i}\subseteq S_{i} such that |SiRi|=δ1|S_{i}\setminus R_{i}|=\delta-1, the punctured code 𝒞|i[n]Ri\mathcal{C}|_{\cup_{i\in[n]}R_{i}} is an MDS code.

In general, SiS_{i} for i[n]i\in[n], are not required to be of the same size. However, from an application point of view, equal-sized repair sets simplify the implementation, bringing us to the following definition:

Definition 3:

Let 𝒞\mathcal{C} be an [n,k,d]q[n,k,d]_{q} MR code, as in Definition 2. If each Si𝒮S_{i}\in\mathcal{S} is of size |Si|=r+δ1|S_{i}|=r+\delta-1 (implying r+δ1|nr+\delta-1|n), we define

mnr+δ1,hmrk.\displaystyle m\triangleq\frac{n}{r+\delta-1},\qquad h\triangleq mr-k.

Then 𝒞\mathcal{C} is said to be an (n,r,h,δ,q)(n,r,h,\delta,q)-MR code.

We first note that it is easy to verify that (n,r,h,δ,q)(n,r,h,\delta,q)-MR codes are optimal [n,k,d]q[n,k,d]_{q} LRCs with all-symbol (r,δ)(r,\delta)-locality. We can regard each codeword of an (n,r,h,δ,q)(n,r,h,\delta,q)-MR code, as an m×(r+δ1)m\times(r+\delta-1) array, by placing each repair set in 𝒮\mathcal{S} as a row, when 𝒮\mathcal{S} forms a partition of [n][n]. In this way, (n,r,h,δ,q)(n,r,h,\delta,q)-MR codes match the definition of partial MDS (PMDS) codes, as defined in [3]. When implemented in a distributed-storage setting, each entry of a codeword array corresponds to a sector, each column of the array corresponds to a disk, and each row to a stripe. Thus, an (n,r,h,δ,q)(n,r,h,\delta,q)-MR code can recover from δ1\delta-1 sector erasures in each stripe, and additional hh erased sectors anywhere. We mention in passing that a more restricted type of codes, called sector-disk (SD) codes, are capable of recovering from δ1\delta-1 disk erasures, and additional hh erased sectors (see [30, 11]).

Paralleling the general case of optimal LRCs, it is interesting to ask what is the minimum alphabet size required by MR codes.

Lemma 1 ([19, Theorem I.1]):

Let 𝒞\mathcal{C} be an (n,r,h,δ,q)(n,r,h,\delta,q)-MR code, h2h\geqslant 2. If mnr+δ12m\triangleq\frac{n}{r+\delta-1}\geqslant 2, then

q=Ω(nrε),q=\Omega(nr^{\varepsilon}),

where ε=min{δ1,h2hm}/hm\varepsilon=\min\{\delta-1,h-2\lceil\frac{h}{m}\rceil\}/\lceil\frac{h}{m}\rceil, and where hh and δ\delta are regarded as constants. Additionally,

  1. 1.

    If mhm\geqslant h:

    q=Ω(nrmin{δ1,h2}).q=\Omega\left(nr^{\min\{\delta-1,h-2\}}\right).
  2. 2.

    If mhm\leqslant h, m|hm|h, and δ1h2hm\delta-1\leqslant h-\frac{2h}{m}:

    q=Ω(n1+m(δ1)h).q=\Omega\left(n^{1+\frac{m(\delta-1)}{h}}\right).
  3. 3.

    If mhm\leqslant h, m|hm|h, and δ1>h2hm\delta-1>h-\frac{2h}{m}:

    q=Ω(nm1).q=\Omega\left(n^{m-1}\right).
Remark 2:

For the case h=1h=1, the field size requirement of an (n,r,h,δ,q)(n,r,h,\delta,q)-MR code may be as small as q=Θ(r+δ1)q=\Theta(r+\delta-1). This is attainable since the punctured code over any repair set together with the single global parity check is an [r+δ,r,δ+1]q[r+\delta,r,\delta+1]_{q} MDS code when (r+δ1)|k(r+\delta-1)|k or u2(rv+1)u\geqslant 2(r-v+1), where k=ur+vk=ur+v with 0vr10\leqslant v\leqslant r-1 (see [9]).

Definition 4:

A family of (n,r,h,δ,q)(n,r,h,\delta,q)-MR codes has order-optimal field size if it attains one of the bounds of Lemma 1 asymptotically for h2h\geqslant 2, or if it has q=Θ(r+δ1)q=\Theta(r+\delta-1) for h=1h=1.

III A New Bound on Optimal LRCs

In this section we present a new bound on the parameters of optimal LRCs with all-symbol (r,δ)(r,\delta)-locality. To that end, we first prove bounds for optimal LRCs with small minimum Hamming distance, distinguishing between the two cases of 2r2\mid r and 2r2\nmid r. The proof strategy of both bounds is showing that the existence of such codes forces the existence of many subspaces, any two of which intersect only trivially. We then recall a parameter-reduction lemma, which reduces optimal LRCs with a large minimum Hamming distance into optimal LRCs with a smaller one. Combining these together results in the main bound. We note that the new bound is not specific to MR codes or to cyclic codes, but instead applies to optimal LRCs. The bound does, however, require certain divisibility conditions, which are common to several constructions of optimal LRCs, among them, MR codes.

Lemma 2:

Let 𝒞\mathcal{C} be an optimal [n=(u+1)(r+δ1),ur,r+2δ1]q[n=(u+1)(r+\delta-1),ur,r+2\delta-1]_{q} LRC with all-symbol (r,δ)(r,\delta)-locality. If 2|r2|r, then

u+1(qr/2+1)/2r+2δ2r.u+1\leqslant(q^{r/2}+1)\Big{/}\left\lfloor\frac{2r+2\delta-2}{r}\right\rfloor.
Proof:

Denote t(2r+2δ2)/rt\triangleq\lceil(2r+2\delta-2)/r\rceil and t(2r+2δ2)/rt^{\prime}\triangleq\lfloor(2r+2\delta-2)/r\rfloor. By Theorem 2, the code 𝒞\mathcal{C} has a parity-check matrix of the following form,

P=(V0,0V0,1V0,t1000000000V1,0V1,1V1,t1000000000Vu,0Vu,1Vu,t1W0,0W0,1W0,t1W1,0W1,1W1,t1Wu,0Wu,1Wu,t1),P=\setcounter{MaxMatrixCols}{13}\begin{pmatrix}V_{0,0}&V_{0,1}&\cdots&V_{0,t-1}&0&0&\cdots&0&\cdots&0&0&\cdots&0\\ 0&0&\cdots&0&V_{1,0}&V_{1,1}&\cdots&V_{1,t-1}&\cdots&0&0&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&\ddots&\vdots&\vdots&&\vdots\\ 0&0&\cdots&0&0&0&\cdots&0&\cdots&V_{u,0}&V_{u,1}&\cdots&V_{u,t-1}\\ W_{0,0}&W_{0,1}&\cdots&W_{0,t-1}&W_{1,0}&W_{1,1}&\cdots&W_{1,t-1}&\cdots&W_{u,0}&W_{u,1}&\cdots&W_{u,t-1}\\ \end{pmatrix},

where Vi,j𝔽q(δ1)×(r/2)V_{i,j}\in\mathbb{F}^{(\delta-1)\times(r/2)}_{q}, Wi,j𝔽qr×(r/2)W_{i,j}\in\mathbb{F}^{r\times(r/2)}_{q} for i[u+1]i\in[u+1] and j[t1]j\in[t-1], and (Vi,0Vi,1,,Vi,t1)(V_{i,0}\,V_{i,1},\cdots,V_{i,t-1}) is parity-check matrix of an [r+δ1,r,δ]q[r+\delta-1,r,\delta]_{q} MDS code for i[u+1]i\in[u+1]. This implies that the matrices Vi,t1V_{i,t-1} and Wi,t1W_{i,t-1}, i[u+1]i\in[u+1], have r2\frac{r}{2} columns each when r|(2r+2δ2)r|(2r+2\delta-2), and (2r+2δ2)modr2(2r+2\delta-2)\bmod\frac{r}{2} otherwise.

Let us consider the following square (r+2δ2)×(r+2δ2)(r+2\delta-2)\times(r+2\delta-2) matrices,

Ea,b,i,j(Va,0Va,i1Va,i+1Va,t100000000Vb,0,Vb,j1Vb,j+1Vb,t1Wa,0,Wa,i1Wa,i+1Wa,t1Wb,0,Wb,j1Wb,j+1Wb,t1),E_{a,b,i,j}\triangleq\setcounter{MaxMatrixCols}{12}\begin{pmatrix}V_{a,0}&\cdots&V_{a,i-1}&V_{a,i+1}&\cdots&V_{a,t-1}&0&\cdots&0&0&\cdots&0\\ 0&\cdots&0&0&\cdots&0&V_{b,0},&\cdots&V_{b,j-1}&V_{b,j+1}&\cdots&V_{b,t-1}\\ W_{a,0},&\cdots&W_{a,i-1}&W_{a,i+1}&\cdots&W_{a,t-1}&W_{b,0},&\cdots&W_{b,j-1}&W_{b,j+1}&\cdots&W_{b,t-1}\end{pmatrix},

where a,b[u+1]a,b\in[u+1], aba\neq b, and i,j[t]i,j\in[t^{\prime}]. Since the minimum Hamming distance of 𝒞\mathcal{C} is r+2δ1r+2\delta-1, any r+2(δ1)r+2(\delta-1) columns from PP are linearly independent. This implies that the matrices Ea,b,i,jE_{a,b,i,j} defined above have full rank.

Recall that (Va,0,Va,1,,Va,t1)(V_{a,0},V_{a,1},\cdots,V_{a,t-1}) is a parity-check matrix of an [r+δ1,r,δ]q[r+\delta-1,r,\delta]_{q} MDS code. Thus, (Va,1,,Va,i1,Va,i+1,(V_{a,1},\cdots,V_{a,i-1},V_{a,i+1}, ,Va,t1)\cdots,V_{a,t-1}) is an invertible (δ1)×(δ1)(\delta-1)\times(\delta-1) matrix. A similar claim follows for (Vb,1,,Vb,j1,Vb,j+1,,Vb,t1)(V_{b,1},\cdots,V_{b,j-1},V_{b,j+1},\cdots,V_{b,t-1}). Hence, after simple column and row operations, the full rank of Ea,b,i,jE_{a,b,i,j} implies that

(0Va,1Va,i1Va,i+1Va,t100000000000Vb,1Vb,j1Vb,j+1Vb,t1Wa,i0000Wb,j0000)\setcounter{MaxMatrixCols}{14}\begin{pmatrix}0&V_{a,1}&\cdots&V_{a,i-1}&V_{a,i+1}&\cdots&V_{a,t-1}&0&0&\cdots&0&0&\cdots&0\\ 0&0&\cdots&0&0&\cdots&0&0&V_{b,1}&\cdots&V_{b,j-1}&V_{b,j+1}&\cdots&V_{b,t-1}\\ W^{*}_{a,i}&0&\cdots&0&0&\cdots&0&W^{*}_{b,j}&0&\cdots&0&0&\cdots&0\\ \end{pmatrix}

has full rank, implying also that

rank(Wa,i,Wb,j)=r,\operatorname{rank}(W^{*}_{a,i},W^{*}_{b,j})=r, (2)

for a,b[u+1]a,b\in[u+1], aba\neq b, and i,j[t]i,j\in[t^{\prime}]. We also mention that if either i=0i=0 or j=0j=0, natural adjustments need to be made, that is, zeroing Va,1V_{a,1} instead of Va,0V_{a,0}, and Vb,1V_{b,1} instead of Vb,0V_{b,0}.

Next, assume a[u+1]a\in[u+1], and i,j[t]i,j\in[t^{\prime}], iji\neq j. We pick only r+δ1r+\delta-1 columns from PP, which must therefore be linearly independent, giving us,

r+δ1=rank(Va,0Va,1Va,t1Wa,0Wa,1Wa,t1)=rank(Va,0Va,0Va,1Va,t1Wa,0Wa,0Wa,1Wa,t1)=rank(Va,00Va,1Va,t1Wa,0Wa,jWa,1Wa,t1)=rank(Va,00Va,1Va,i1Va,i+1Va,t1Wa,0Wa,jWa,1Wa,i1Wa,i+1Wa,t1)=rank(00Va,1Va,i1Va,i+1Va,t1Wa,iWa,j0000).\begin{split}r+\delta-1&=\operatorname{rank}\begin{pmatrix}V_{a,0}&V_{a,1}&\cdots&V_{a,t-1}\\ W_{a,0}&W_{a,1}&\cdots&W_{a,t-1}\\ \end{pmatrix}\\ &=\operatorname{rank}\begin{pmatrix}V_{a,0}&V_{a,0}&V_{a,1}&\cdots&V_{a,t-1}\\ W_{a,0}&W_{a,0}&W_{a,1}&\cdots&W_{a,t-1}\\ \end{pmatrix}\\ &=\operatorname{rank}\begin{pmatrix}V_{a,0}&0&V_{a,1}&\cdots&V_{a,t-1}\\ W_{a,0}&W^{*}_{a,j}&W_{a,1}&\cdots&W_{a,t-1}\\ \end{pmatrix}\\ &=\operatorname{rank}\begin{pmatrix}V_{a,0}&0&V_{a,1}&\cdots&V_{a,i-1}&V_{a,i+1}&\cdots&V_{a,t-1}\\ W_{a,0}&W^{*}_{a,j}&W_{a,1}&\cdots&W_{a,i-1}&W_{a,i+1}&\cdots&W_{a,t-1}\\ \end{pmatrix}\\ &=\operatorname{rank}\begin{pmatrix}0&0&V_{a,1}&\cdots&V_{a,i-1}&V_{a,i+1}&\cdots&V_{a,t-1}\\ W^{*}_{a,i}&W^{*}_{a,j}&0&\cdots&0&0&\cdots&0\\ \end{pmatrix}.\end{split} (3)

We explain why the fourth equality holds in more detail. The column operations performed in order to obtain Wa,jW^{*}_{a,j} may be written as

(0Wa,j)=τ[t]{j}(Va,τWa,τ)Eτ,\begin{pmatrix}0\\ W^{*}_{a,j}\\ \end{pmatrix}=\sum_{\tau\in[t]\setminus\left\{j\right\}}\begin{pmatrix}V_{a,\tau}\\ W_{a,\tau}\\ \end{pmatrix}E_{\tau},

where E0=IE_{0}=I is the identity matrix. It then follows that

(Va,0,,Va,j1,Va,j+1,,Va,t1)(E0Ej1Ej+1Et1)=0.(V_{a,0},\dots,V_{a,j-1},V_{a,j+1},\dots,V_{a,t-1})\cdot\begin{pmatrix}E_{0}\\ \vdots\\ E_{j-1}\\ E_{j+1}\\ \vdots\\ E_{t-1}\end{pmatrix}=0.

Since (Va,0,,Va,j1,Va,j+1,,Va,t1)(V_{a,0},\dots,V_{a,j-1},V_{a,j+1},\dots,V_{a,t-1}) is a parity-check matrix for an [r2+δ1,r2,δ]q[\frac{r}{2}+\delta-1,\frac{r}{2},\delta]_{q} MDS code, we have that the matrix (E0,,Ej1,Ej,,Et1)(E_{0}^{\intercal},\dots,E_{j-1}^{\intercal},E_{j}^{\intercal},\dots,E_{t-1}^{\intercal}) is a generator matrix for that code. Hence, any r2\frac{r}{2} columns of it are linearly independent. In particular, that means EiE_{i} is invertible. We can therefore write,

(Va,iWa,i)=τ[t]{i,j}(Va,τWa,τ)EτEi1+(0Wa,j)Ei1.\begin{pmatrix}V_{a,i}\\ W_{a,i}\\ \end{pmatrix}=-\sum_{\tau\in[t]\setminus\left\{i,j\right\}}\begin{pmatrix}V_{a,\tau}\\ W_{a,\tau}\\ \end{pmatrix}E_{\tau}E^{-1}_{i}+\begin{pmatrix}0\\ W^{*}_{a,j}\\ \end{pmatrix}E^{-1}_{i}.

This completes the detailed explanation for the fourth equality in (3). The main observation is that (3) gives

rank(Wa,i,Wa,j)=r,\operatorname{rank}(W^{*}_{a,i},W^{*}_{a,j})=r, (4)

for a[u+1]a\in[u+1], and i,j[t]i,j\in[t^{\prime}], iji\neq j. Again, if i=0i=0 or j=0j=0, a natural adjustment needs to be made.

Let us define the following set of subspaces

𝒲{colspan(Wa,i):a[u+1],i[t]},\mathcal{W}\triangleq\left\{\operatorname{colspan}(W^{*}_{a,i})~{}:~{}a\in[u+1],i\in[t^{\prime}]\right\},

where colspan()\operatorname{colspan}(\cdot) of a matrix denotes its column space. By (2) and (4) we learn that 𝒲\mathcal{W} contains only r2\frac{r}{2}-dimensional spaces, which are all distinct, hence

|𝒲|=(u+1)t=(u+1)2r+2δ2r.\left|\mathcal{W}\right|=(u+1)t^{\prime}=(u+1)\left\lfloor\frac{2r+2\delta-2}{r}\right\rfloor.

Additionally, any two subspaces from 𝒲\mathcal{W} intersect only trivially, hence

(u+1)2r+2δ2r=|𝒲|qr1qr/21=qr/2+1.(u+1)\left\lfloor\frac{2r+2\delta-2}{r}\right\rfloor=\left|\mathcal{W}\right|\leqslant\frac{q^{r}-1}{q^{r/2}-1}=q^{r/2}+1.

Rearranging this gives the desired claim. ∎

For the case 2r2\nmid r, we also have a similar lemma.

Lemma 3:

Let 𝒞\mathcal{C} be an optimal [n=(u+2)(r+δ1),ur,2r+3δ2]q[n=(u+2)(r+\delta-1),ur,2r+3\delta-2]_{q} LRC with all-symbol (r,δ)(r,\delta)-locality. If 2r2\nmid r, then

uq(r+1)/2.u\leqslant q^{(r+1)/2}.
Proof:

By Theorem 2, and after simple row operations, the code 𝒞\mathcal{C} has a parity-check matrix of the following form,

P=(Iδ1V0,0V0,1000000000Iδ1V1,0V1,1000000000Iδ1Vu+1,0Vu+1,10W0,0W0,10W1,0W1,10Wu+1,0Wu+1,1),P=\begin{pmatrix}I_{\delta-1}&V_{0,0}&V_{0,1}&0&0&0&\cdots&0&0&0\\ 0&0&0&I_{\delta-1}&V_{1,0}&V_{1,1}&\cdots&0&0&0\\ \vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\ddots&\vdots&\vdots&\vdots\\ 0&0&0&0&0&0&\cdots&I_{\delta-1}&V_{u+1,0}&V_{u+1,1}\\ 0&W_{0,0}&W_{0,1}&0&W_{1,0}&W_{1,1}&\cdots&0&W_{u+1,0}&W_{u+1,1}\\ \end{pmatrix},

where Iδ1I_{\delta-1} is the (δ1)×(δ1)(\delta-1)\times(\delta-1) identity matrix, Vi,1𝔽q(δ1)×((r1)/2)V_{i,1}\in\mathbb{F}^{(\delta-1)\times((r-1)/2)}_{q}, Vi,2𝔽q(δ1)×((r+1)/2)V_{i,2}\in\mathbb{F}^{(\delta-1)\times((r+1)/2)}_{q}, Wi,1𝔽q2r×((r1)/2)W_{i,1}\in\mathbb{F}^{2r\times((r-1)/2)}_{q}, Wi,2𝔽q2r×((r+1)/2)W_{i,2}\in\mathbb{F}^{2r\times((r+1)/2)}_{q}, and (Iδ1,Vi,1,Vi,2)(I_{\delta-1},V_{i,1},V_{i,2}) is a parity-check matrix of an [r+δ1,r,δ]q[r+\delta-1,r,\delta]_{q} MDS code, for all i[u+2]i\in[u+2].

Consider the following square (2r+3δ3)×(2r+3δ3)(2r+3\delta-3)\times(2r+3\delta-3) matrices,

Ea,b(Iδ1V0,0V0,10000000Iδ1Va,10000000Iδ1Vb,10W0,0W0,10Wa,10Wb,1),E_{a,b}\triangleq\begin{pmatrix}I_{\delta-1}&V_{0,0}&V^{\prime}_{0,1}&0&0&0&0\\ 0&0&0&I_{\delta-1}&V_{a,1}&0&0\\ 0&0&0&0&0&I_{\delta-1}&V_{b,1}\\ 0&W_{0,0}&W^{\prime}_{0,1}&0&W_{a,1}&0&W_{b,1}\\ \end{pmatrix},

where a,b[u+2]{0}a,b\in[u+2]\setminus\left\{0\right\}, aba\neq b, and where V0,1V^{\prime}_{0,1} and W0,1W^{\prime}_{0,1} are the first r12\frac{r-1}{2} columns of V0,1V_{0,1} and W0,1W_{0,1}, respectively. Since the minimum Hamming distance of 𝒞\mathcal{C} is 2r+3δ22r+3\delta-2, any 2r+3δ32r+3\delta-3 columns from PP are linearly independent, and in particular,

rank(Ea,b)=2r+3δ3.\operatorname{rank}(E_{a,b})=2r+3\delta-3.

This implies that

rank(W0,0,W0,1,Wa,1,Wb,1)=2r.\operatorname{rank}(W_{0,0},W^{\prime}_{0,1},W_{a,1},W_{b,1})=2r.

By the size of the matrices, we also must have

rank(Wa,1,Wb,1)=r+1,\operatorname{rank}(W_{a,1},W_{b,1})=r+1,

and also

rank(Wa,1)=rank(Wb,1)=r+12.\operatorname{rank}(W_{a,1})=\operatorname{rank}(W_{b,1})=\frac{r+1}{2}.

We now denote U=colspan(W0,0,W0,1)𝔽q2rU^{\prime}=\operatorname{colspan}(W_{0,0},W^{\prime}_{0,1})\subseteq\mathbb{F}_{q}^{2r}. Obviously, dim(U)=r1\dim(U^{\prime})=r-1. Let us arbitrarily choose an (r+1)(r+1)-dimensional subspace U~𝔽q2r\widetilde{U}\subseteq\mathbb{F}_{q}^{2r} such that 𝔽q2r=U+U~\mathbb{F}_{q}^{2r}=U^{\prime}+\widetilde{U}, namely, dim(U~)=r+1\dim(\widetilde{U})=r+1 and UU~={0}U^{\prime}\cap\widetilde{U}=\left\{0\right\}. For any vector x𝔽q2rx\in\mathbb{F}_{q}^{2r}, let x~𝔽q2r\widetilde{x}\in\mathbb{F}_{q}^{2r} denotes its projection onto U~\widetilde{U}, that is, x~U~\widetilde{x}\in\widetilde{U} is the unique vector such that x=x+x~x=x^{\prime}+\widetilde{x}, with xUx^{\prime}\in U^{\prime}. For any a[u+2]{0}a\in[u+2]\setminus\left\{0\right\}, we then construct W~a,1\widetilde{W}_{a,1} from Wa,1W_{a,1} by replacing each column vector with its projection onto U~\widetilde{U}. It then follows, that for all a,b[u+2]{0}a,b\in[u+2]\setminus\left\{0\right\}, aba\neq b,

rank(W0,0,W0,1,W~a,1,W~b,1)=2r,\operatorname{rank}(W_{0,0},W^{\prime}_{0,1},\widetilde{W}_{a,1},\widetilde{W}_{b,1})=2r,

and also

rank(W~a,1)=rank(W~b,1)=r+12.\operatorname{rank}(\widetilde{W}_{a,1})=\operatorname{rank}(\widetilde{W}_{b,1})=\frac{r+1}{2}.

Let us construct the set of subspaces

𝒲{colspan(W~a,1):a[u+2]{0}}.\mathcal{W}\triangleq\left\{\operatorname{colspan}(\widetilde{W}_{a,1})~{}:~{}a\in[u+2]\setminus\left\{0\right\}\right\}.

By the previous discussion, 𝒲\mathcal{W} contains u+1u+1 subspaces of U~\widetilde{U}, each of dimension r+12\frac{r+1}{2}, any two of which intersect only trivially. Additionally, the sum of any two subspaces from 𝒲\mathcal{W}, summed together with the fixed (r1)(r-1)-dimensional subspace colspan(W0,0)+colspan(W0,1)\operatorname{colspan}(W_{0,0})+\operatorname{colspan}(W^{\prime}_{0,1}), gives 𝔽q2r\mathbb{F}_{q}^{2r}. Thus,

u+1=|𝒲|qr+11q(r+1)/21=q(r+1)/2+1,u+1=\left|\mathcal{W}\right|\leqslant\frac{q^{r+1}-1}{q^{(r+1)/2}-1}=q^{(r+1)/2}+1,

completing the proof. ∎

The final component in our main bounding theorem is a parameter-reduction lemma. This lemma was proved in [9].

Lemma 4 ([9] Corollary 2):

Let n=m(r+δ1)n=m(r+\delta-1), δ2\delta\geqslant 2, k=ur+v>rk=ur+v>r, and additionally, r|kr|k or u2(r+1v)u\geqslant 2(r+1-v), where all parameters are integers. If there exists an optimal [n,k,d]q[n,k,d]_{q} linear code 𝒞\mathcal{C} with d>r+δd>r+\delta and all-symbol (r,δ)(r,\delta)-locality, then there exists an optimal linear code 𝒞\mathcal{C}^{\prime} with all-symbol (r,δ)(r,\delta)-locality and parameters [nϵ(r+δ1),k,d=dϵ(r+δ1)]q,[n-\epsilon(r+\delta-1),k,d^{\prime}=d-\epsilon(r+\delta-1)]_{q}, where ϵ(d1)/(r+δ1)1\epsilon\leqslant\lceil(d-1)/(r+\delta-1)\rceil-1.

Let us now state and prove our main bound. The next theorem gives a lower bound on the size of the field required for LRCs with all-symbol (r,δ)(r,\delta)-locality.

Theorem 5:

Let 𝒞\mathcal{C} be an optimal [n,k,d]q[n,k,d]_{q} linear code with all-symbol (r,δ)(r,\delta)-locality. Assume n=m(r+δ1)n=m(r+\delta-1), k=urk=ur, u2u\geqslant 2. If 2|r2|r and mu+1m\geqslant u+1 then,

qψ(((kr+1)2r+2δ2r1)2r),q\geqslant\psi\left(\left(\left(\frac{k}{r}+1\right)\left\lfloor\frac{2r+2\delta-2}{r}\right\rfloor-1\right)^{\frac{2}{r}}\right),

where ψ(x)\psi(x) is the smallest prime power greater or equal to xx. If 2r2\nmid r and mu+2m\geqslant u+2 then

qψ((kr)2r+1).q\geqslant\psi\left(\left(\frac{k}{r}\right)^{\frac{2}{r+1}}\right).
Proof:

The proof is straightforward. Apply Lemma 4 until reaching the required conditions of either Lemma 2 or Lemma 3, and then use them. ∎

Remark 3:

Assume that there exists an optimal [n,k,d]q[n,k,d]_{q} LRC with all-symbol (r,δ)(r,\delta)-locality, and define t=(d1)/δ2t=\left\lfloor(d-1)/\delta\right\rfloor\geqslant 2. Rewriting the bound of Theorem 4 (which we cite from [9]) in a slightly looser yet more convenient way,

q=Ω((nrt(r+δ))(d1)/δ2d1+vr+δ1r2v).q=\Omega\left(\left(\frac{nr}{t(r+\delta)}\right)^{\frac{\left\lfloor(d-1)/\delta\right\rfloor}{2\left\lfloor\frac{d-1+v}{r+\delta-1}\right\rfloor r-2v}}\right).

Thus, when only kk and nn tend to infinity, and the other parameters are constant, if

(d1)/δ2d1+vr+δ1r2v<2r+1,{\frac{\left\lfloor(d-1)/\delta\right\rfloor}{2\left\lfloor\frac{d-1+v}{r+\delta-1}\right\rfloor r-2v}}<\frac{2}{r+1},

then the exponent in the bound of Theorem 5 is higher, and it may outperform the known bound of Theorem 4 (where we denote k=ur+vk=ur+v and 0vr10\leqslant v\leqslant r-1).

Having seen that the new bound of Theorem 5 may provide an improvement, we focus on a single case. More specifically, the case of r=2r=2 is of particular interest, since we can then use Theorem 5 to prove that some known LRCs have optimal field size.

We first consider some Tamo-Barg codes [38].

Lemma 5 ([38]):

Let qq be a prime power, q=r+δ1q=r+\delta-1, then there exists an optimal LRC with all-symbol (r,δ)(r,\delta)-locality and parameters [qb,ur,(qb1u)q+δ]qb[q^{b},ur,(q^{b-1}-u)q+\delta]_{q^{b}}, where b2b\geqslant 2 and 0<u<qb10<u<q^{b-1}.

Corollary 1:

Let 𝒞\mathcal{C} be a code from Lemma 5 with r=2r=2 and u=qb11u=q^{b-1}-1. If qb1q^{b}-1 is not a prime power then 𝒞\mathcal{C} has optimal field size.

Example 1:

Let n=24n=2^{4}, r=2r=2, δ=3\delta=3, then by Lemma 5 there exists an optimal LRC with all-symbol (2,3)(2,3)-locality and parameters [16,6,7]24[16,6,7]_{2^{4}}, which has optimal field size since 1515 is not a prime power.

We now examine a construction of cyclic optimal LRCs from [39].

Lemma 6 ([39]):

Let r=2r=2, n=m(r+δ1)=qb1n=m(r+\delta-1)=q^{b}-1, and k=ur+vk=ur+v with 0v<r0\leqslant v<r, where qbq^{b} is prime power. Then there exists a cyclic optimal LRC with all-symbol (2,δ)(2,\delta)-locality and parameters [qb1,k,d]qb[q^{b}-1,k,d]_{q^{b}}.

Corollary 2:

Let 𝒞\mathcal{C} be a code from Lemma 6 with m=u+1m=u+1 and v=0v=0. If neither qb2q^{b}-2, nor qb1q^{b}-1, are prime powers, then 𝒞\mathcal{C} has optimal field size.

Example 2:

Let n=261n=2^{6}-1, r=2r=2, and δ=2\delta=2. Then by Lemma 6, there exists a cyclic optimal LRC with all-symbol (2,2)(2,2)-locality, and parameters [63,40,5]26[63,40,5]_{2^{6}}, which has optimal field size since both 6262 and 6363 are not prime powers.

Yet another construction of cyclic optimal LRCs comes from [13].

Lemma 7 ([13]):

Let r=2r=2, δ=2\delta=2, n=m(r+δ1)=3m=qb+1n=m(r+\delta-1)=3m=q^{b}+1, and k=2uk=2u, with uu an even integer, and where qbq^{b} is prime power. Then there exists a cyclic optimal LRC with all-symbol (2,2)(2,2)-locality and parameters [qb+1=3m,2u,d]qm[q^{b}+1=3m,2u,d]_{q^{m}}.

Corollary 3:

Let 𝒞\mathcal{C} be a code from Lemma 7 with m=u+1m=u+1. Then 𝒞\mathcal{C} has optimal field size.

Example 3:

[13] Let n=9=23+1n=9=2^{3}+1, r=2r=2, δ=2\delta=2, k=4k=4, then there exists a cyclic optimal [9,4,5]8[9,4,5]_{8}-LRC, which has optimal field size.

Note that an (n,r=2,h=2,δ,q)(n,r=2,h=2,\delta,q)-MR code is also an [n=(u+1)(δ+1),2u,2δ+1]q[n=(u+1)(\delta+1),2u,2\delta+1]_{q} optimal LRC. The following corollary can be derived directly from Lemma 2.

Corollary 4:

Let 𝒞\mathcal{C} be an (n,r=2,h=2,δ,q)(n,r=2,h=2,\delta,q)-MR code. Then qn1q\geqslant n-1.

IV Cyclic Maximally Recoverable (MR) Codes

We divide this section into two parts. In the first part we construct cyclic MR codes, and show that for certain parameters they have the exact optimal field size. The main idea behind our construction is to carefully choose the roots for the cyclic code we construct, in a way that produces an MR code. In the second part we study a known class of MR codes which are non-cyclic, but have the same parameters as the cyclic codes we construct. We then show that these non-cyclic codes can sometimes be permuted to obtain cyclic MR codes. For this part, as tools to prove the main results, we characterize the algebraic structure of the repair sets of cyclic optimal LRCs (Theorem 7) and the structure of punctured codes and shortened codes over repair sets (Corollary 7). On the one hand, we prove that for some parameters the known construction can be permuted to obtain cyclic MR codes by finding suitable permutations (Theorem 8). On the other hand, we show that such a permutation is not always possible (Theorem 9). By combining the two parts, we obtain our main result.

IV-A A New Construction

We immediately present our construction for cyclic MR codes. It is inspired by the construction of [39].

Construction A:

Let b,r,δ2b,r,\delta\geqslant 2 be integers, qq a prime power, n=qb1n=q^{b}-1, α𝔽qb\alpha\in\mathbb{F}_{q^{b}} a primitive element, a=(r+δ1)|(q1)a=(r+\delta-1)|(q-1), and m=n/am=n/a such that gcd(δ,m)=1\gcd(\delta,m)=1. Define

R{αja+t:1jm,1tδ1}{1,αδ}.R\triangleq\left\{\alpha^{ja+t}~{}:~{}1\leqslant j\leqslant m,1\leqslant t\leqslant\delta-1\right\}\cup\left\{1,\alpha^{\delta}\right\}.

The constructed code, 𝒞\mathcal{C}, is the cyclic code of length nn over 𝔽qb\mathbb{F}_{q^{b}} with root set RR.

Our goal is now to show that the code from Construction A is indeed a cyclic MR code. However, in order to do so we require a technical lemma.

Lemma 8:

Assume the setting and notation of Construction A. Denote β=αm\beta=\alpha^{m}, and γ=αδ\gamma=\alpha^{\delta}. Assume Ti={ti,1,,ti,δ}[a]T_{i}=\left\{t_{i,1},\dots,t_{i,\delta}\right\}\subseteq[a] for i=1,2i=1,2. Then for any i1,i2[m]i_{1},i_{2}\in[m], i1i2i_{1}\neq i_{2}, the matrix

M=(βt1,1βt1,2βt1,δ000β2t1,1β2t1,2β2t1,δ000β(δ1)t1,1β(δ1)t1,2β(δ1)t1,δ000000βt2,1βt2,2βt2,δ000β2t2,1β2t2,2β2t2,δ000β(δ1)t2,1β(δ1)t2,2β(δ1)t2,δ111111γt1,1m+i1γt1,2m+i1γt1,δm+i1γt2,1m+i2γt2,1m+i2γt2,δm+i2),M=\left(\begin{array}[]{cccc|cccc}\beta^{t_{1,1}}&\beta^{t_{1,2}}&\cdots&\beta^{t_{1,\delta}}&0&0&\cdots&0\\ \beta^{2t_{1,1}}&\beta^{2t_{1,2}}&\cdots&\beta^{2t_{1,\delta}}&0&0&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots\\ \beta^{(\delta-1)t_{1,1}}&\beta^{(\delta-1)t_{1,2}}&\cdots&\beta^{(\delta-1)t_{1,\delta}}&0&0&\cdots&0\\ \hline\cr 0&0&\cdots&0&\beta^{t_{2,1}}&\beta^{t_{2,2}}&\cdots&\beta^{t_{2,\delta}}\\ 0&0&\cdots&0&\beta^{2t_{2,1}}&\beta^{2t_{2,2}}&\cdots&\beta^{2t_{2,\delta}}\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots\\ 0&0&\cdots&0&\beta^{(\delta-1)t_{2,1}}&\beta^{(\delta-1)t_{2,2}}&\cdots&\beta^{(\delta-1)t_{2,\delta}}\\ \hline\cr 1&1&\cdots&1&1&1&\cdots&1\\ \gamma^{t_{1,1}m+i_{1}}&\gamma^{t_{1,2}m+i_{1}}&\cdots&\gamma^{t_{1,\delta}m+i_{1}}&\gamma^{t_{2,1}m+i_{2}}&\gamma^{t_{2,1}m+i_{2}}&\cdots&\gamma^{t_{2,\delta}m+i_{2}}\\ \end{array}\right),

has full rank.

Proof:

Assume to the contrary that there exists 0E=(e1,1,e1,2,,e1,δ1,e2,1,e2,2,,e2,δ1,e0,eδ)𝔽qb2δ0\neq E=(e_{1,1},e_{1,2},\cdots,e_{1,\delta-1},e_{2,1},e_{2,2},\cdots,e_{2,\delta-1},e_{0},e_{\delta})\in\mathbb{F}^{2\delta}_{q^{b}} satisfying EM=0EM=0. Hence, the polynomials f1(x)=e0+γi1eδxδ+i=1δ1e1,ixif_{1}(x)=e_{0}+\gamma^{i_{1}}e_{\delta}x^{\delta}+\sum_{i=1}^{\delta-1}e_{1,i}x^{i} and f2(x)=e0+eδγi2xδ+i=1δ1e2,ixif_{2}(x)=e_{0}+e_{\delta}\gamma^{i_{2}}x^{\delta}+\sum_{i=1}^{\delta-1}e_{2,i}x^{i} have roots {βt1,i:1iδ}\{\beta^{t_{1,i}}~{}:~{}1\leqslant i\leqslant\delta\} and {βt2,i:1iδ}\{\beta^{t_{2,i}}~{}:~{}1\leqslant i\leqslant\delta\}, respectively. Note that E0E\neq 0 implies that eδ0e_{\delta}\neq 0, for otherwise, deg(f1(x))<δ\deg(f_{1}(x))<\delta and deg(f2(x))<δ\deg(f_{2}(x))<\delta, but they each have δ\delta distinct roots, a contradiction. By Vieta’s formula, we have

1iδβt1,i1iδβt2,i=γi2i1.\frac{\prod_{1\leqslant i\leqslant\delta}\beta^{t_{1,i}}}{\prod_{1\leqslant i\leqslant\delta}\beta^{t_{2,i}}}=\gamma^{i_{2}-i_{1}}.

Hence, there exists an integer tt such that βt=γi2i1\beta^{t}=\gamma^{i_{2}-i_{1}}, i.e., αmt=αδ(i2i1)\alpha^{mt}=\alpha^{\delta(i_{2}-i_{1})}. It follows that

mtδ(i2i1)(modma),mt\equiv\delta(i_{2}-i_{1})\pmod{ma},

and then

0δ(i2i1)(modm).0\equiv\delta(i_{2}-i_{1})\pmod{m}.

This contradicts the facts that i1i2i_{1}\neq i_{2} and gcd(δ,m)=1\gcd(\delta,m)=1, and completes the proof. ∎

We can now prove that the constructed code is indeed a cyclic MR code.

Theorem 6:

Assume the setting and notation of Construction A. Then the code 𝒞\mathcal{C} of Construction A is a cyclic (n=qb1,r,h=2,δ,qb)(n=q^{b}-1,r,h=2,\delta,q^{b})-MR code, equivalently, a cyclic MR code with parameters [n=qb1,k=mr2,d]qb[n=q^{b}-1,k=mr-2,d]_{q^{b}} with repair sets of size r+δ1r+\delta-1, and

d={δ+2r>2,2δ+1r=2.d=\begin{cases}\delta+2&r>2,\\ 2\delta+1&r=2.\end{cases}
Proof:

Denote β=αm\beta=\alpha^{m}, and γ=αδ\gamma=\alpha^{\delta}. In the first step of our proof we contend that the following matrix is a parity-check matrix of 𝒞\mathcal{C},

H=(100β00βa100100β200β2(a1)00100βδ100β(δ1)(a1)000100β00βa100100β200β2(a1)00100βδ100β(δ1)(a1)000100β00βa100100β200β2(a1)00100βδ100β(δ1)(a1)1111111111γγm1γmγm+1γ2m1γ(a1)mγ(a1)m+1γn1).H=\left(\begin{array}[]{cccc|cccc|c|cccc}1&0&\cdots&0&\beta&0&\cdots&0&\cdots&\beta^{a-1}&0&\cdots&0\\ 1&0&\cdots&0&\beta^{2}&0&\cdots&0&\cdots&\beta^{2(a-1)}&0&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 1&0&\cdots&0&\beta^{\delta-1}&0&\cdots&0&\cdots&\beta^{(\delta-1)(a-1)}&0&\cdots&0\\ \hline\cr 0&1&\cdots&0&0&\beta&\cdots&0&\cdots&0&\beta^{a-1}&\cdots&0\\ 0&1&\cdots&0&0&\beta^{2}&\cdots&0&\cdots&0&\beta^{2(a-1)}&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&1&\cdots&0&0&\beta^{\delta-1}&\cdots&0&\cdots&0&\beta^{(\delta-1)(a-1)}&\cdots&0\\ \hline\cr\vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ \hline\cr 0&0&\cdots&1&0&0&\cdots&\beta&\cdots&0&0&\cdots&\beta^{a-1}\\ 0&0&\cdots&1&0&0&\cdots&\beta^{2}&\cdots&0&0&\cdots&\beta^{2(a-1)}\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&0&\cdots&1&0&0&\cdots&\beta^{\delta-1}&\cdots&0&0&\cdots&\beta^{(\delta-1)(a-1)}\\ \hline\cr 1&1&\cdots&1&1&1&\cdots&1&\cdots&1&1&\cdots&1\\ 1&\gamma&\cdots&\gamma^{m-1}&\gamma^{m}&\gamma^{m+1}&\cdots&\gamma^{2m-1}&\cdots&\gamma^{(a-1)m}&\gamma^{(a-1)m+1}&\cdots&\gamma^{n-1}\\ \end{array}\right).

Define the following polynomial,

f(x)i=1m1(xαai)=j=0m1ejxj.f(x)\triangleq\prod_{i=1}^{m-1}(x-\alpha^{ai})=\sum_{j=0}^{m-1}e_{j}x^{j}.

Clearly, f(1)0f(1)\neq 0. We then have

(e0,e1,,em1)(11111αaα2aαa(n1)1α2aα4aα2a(n1)1αa(m1)α2a(m1)αa(m1)(n1))\displaystyle(e_{0},e_{1},\cdots,e_{m-1})\begin{pmatrix}1&1&1&\cdots&1\\ 1&\alpha^{a}&\alpha^{2a}&\cdots&\alpha^{a(n-1)}\\ 1&\alpha^{2a}&\alpha^{4a}&\cdots&\alpha^{2a(n-1)}\\ \vdots&\vdots&\vdots&&\vdots\\ 1&\alpha^{a(m-1)}&\alpha^{2a(m-1)}&\cdots&\alpha^{a(m-1)(n-1)}\\ \end{pmatrix}
=(f(1),0,,0,f(αam),0,,0,f(α2am),,0,f(α(a1)am),0,,0)\displaystyle\quad=(f(1),0,\dots,0,f(\alpha^{am}),0,\dots,0,f(\alpha^{2am}),\dots,0,f(\alpha^{(a-1)am}),0,\dots,0)
=(f(1),0,,0,f(1),0,,0,f(1),0,,0,f(1),0,,0).\displaystyle\quad=(f(1),0,\dots,0,f(1),0,\dots,0,f(1),0,\dots,0,f(1),0,\dots,0).

The preceding equation also means that for all 1iδ11\leqslant i\leqslant\delta-1,

(e0,e1,,em1)(1αiα2iαi(n1)1αa+iα2a+2iαa(n1)+i(n1)1α2a+iα4a+2iα2a(n1)+i(n1)1αa(m1)+iα2a(m1)+2iαa(m1)(n1)+i(n1))\displaystyle(e_{0},e_{1},\cdots,e_{m-1})\begin{pmatrix}1&\alpha^{i}&\alpha^{2i}&\cdots&\alpha^{i(n-1)}\\ 1&\alpha^{a+i}&\alpha^{2a+2i}&\cdots&\alpha^{a(n-1)+i(n-1)}\\ 1&\alpha^{2a+i}&\alpha^{4a+2i}&\cdots&\alpha^{2a(n-1)+i(n-1)}\\ \vdots&\vdots&\vdots&&\vdots\\ 1&\alpha^{a(m-1)+i}&\alpha^{2a(m-1)+2i}&\cdots&\alpha^{a(m-1)(n-1)+i(n-1)}\\ \end{pmatrix}
=(f(1),0,,0,αmif(1),0,,0,α2mif(1),0,,0,α(a1)mif(1),0,,0).\displaystyle\quad=(f(1),0,\dots,0,\alpha^{mi}f(1),0,\dots,0,\alpha^{2mi}f(1),0,\dots,0,\alpha^{(a-1)mi}f(1),0,\dots,0). (5)

Assume GG is a generator matrix for 𝒞\mathcal{C}. Recall that the roots of 𝒞\mathcal{C} are R={αja+t:1jm,1tδ1}{1,αδ}R=\left\{\alpha^{ja+t}~{}:~{}1\leqslant j\leqslant m,1\leqslant t\leqslant\delta-1\right\}\cup\left\{1,\alpha^{\delta}\right\}. Hence, for all 1jm1\leqslant j\leqslant m and 1tδ11\leqslant t\leqslant\delta-1,

G(1,αja+t,α2(ja+t),,α(n1)(ja+t))=0.G\cdot\left(1,\alpha^{ja+t},\alpha^{2(ja+t)},\dots,\alpha^{(n-1)(ja+t)}\right)^{\intercal}=0.

Define, for all 1iδ11\leqslant i\leqslant\delta-1,

ci=(1,0,,0,βi,0,,0,β2i,,0,β(a1)i,0,,0).c_{i}=(1,0,\cdots,0,\beta^{i},0,\cdots,0,\beta^{2i},\cdots,0,\beta^{(a-1)i},0,\cdots,0).

Note that cic_{i} is a linear combination of the rows of matrix in (5). Thus, the facts β=αm\beta=\alpha^{m}, and f(1)0f(1)\neq 0 hint

Gci=0,G\cdot c_{i}^{\intercal}=0,

and so, ci𝒞c_{i}\in\mathcal{C}^{\perp}. Combining this with the fact that 𝒞\mathcal{C} is cyclic (and therefore, also 𝒞\mathcal{C}^{\perp}), σj(ci)𝒞\sigma^{j}(c_{i})\in\mathcal{C}^{\perp} for all jj, where we recall that σ\sigma is the cyclic left-shift operator. Thus, the first m(δ1)m(\delta-1) rows of HH contain codewords of 𝒞\mathcal{C}^{\perp}. The remaining last two rows of HH correspond to parity checks for the roots 11 and γ=αδ\gamma=\alpha^{\delta}, both of which are roots of 𝒞\mathcal{C}. If we now denote by 𝒞\mathcal{C}^{\prime} the [n,k,d]qb[n,k^{\prime},d^{\prime}]_{q^{b}} code whose parity-check matrix is HH, we can say 𝒞𝒞\mathcal{C}\subseteq\mathcal{C}^{\prime}. It remains to show that 𝒞=𝒞\mathcal{C}=\mathcal{C}^{\prime} to complete the proof.

We first observe that since HH has m(δ1)+2m(\delta-1)+2 rows,

dim(𝒞)=knm(δ1)2=mr2.\dim(\mathcal{C}^{\prime})=k^{\prime}\geqslant n-m(\delta-1)-2=mr-2. (6)

An inspection of HH reveals that 𝒞\mathcal{C}^{\prime} has all-symbol (r,δ)(r,\delta)-locality and the repair sets are given by Gim+iG_{i}\triangleq\left\langle m\right\rangle+i for i[m]i\in[m]. Plugging (6) into Theorem 1 we obtain that the minimum distance of 𝒞\mathcal{C}^{\prime} satisfies

d{δ+2r>2,2δ+1r=2.d^{\prime}\leqslant\begin{cases}\delta+2&r>2,\\ 2\delta+1&r=2.\end{cases} (7)

Let us first handle the case of r>2r>2. We contend that in that case, the minimum distance of 𝒞\mathcal{C}^{\prime} is at least dδ+2d^{\prime}\geqslant\delta+2. Even if we ignore the two bottom rows of HH, the (δ1)×(r+δ1)(\delta-1)\times(r+\delta-1) Vandermonde matrices in the columns corresponding to a repair set show that any δ1\delta-1 columns of HH are linearly independent. Thus, a linearly dependent set of columns from HH requires at least δ\delta columns from each repair set it intersects. If we try to pick linearly dependent columns from a single repair set, then taking into account also the bottom two rows of HH, the columns of a repair set also form a (δ+1)×(r+δ1)(\delta+1)\times(r+\delta-1) Vandermonde matrix (recall that γm=βδ\gamma^{m}=\beta^{\delta}), and so δ+1\delta+1 columns of HH from the same repair set are still linearly independent. If instead we pick columns from more than one repair set, at least 2δ2\delta columns are required. Combined together, since δ2\delta\geqslant 2, the smallest set of linearly dependent columns of HH contains at least δ+2\delta+2 columns, i.e., dδ+2d^{\prime}\geqslant\delta+2 as claimed. Together with (7),

d=δ+2.d^{\prime}=\delta+2.

Again by Theorem 1, necessarily

k=nm(δ1)2=mr2.k^{\prime}=n-m(\delta-1)-2=mr-2.

Finally, we note that

dim(𝒞)=k=n|R|=nm(δ1)2=k=dim(𝒞).\dim(\mathcal{C})=k=n-\left|R\right|=n-m(\delta-1)-2=k^{\prime}=\dim(\mathcal{C}^{\prime}).

Since 𝒞𝒞\mathcal{C}\subseteq\mathcal{C}^{\prime}, and they are of equal dimension, we have 𝒞=𝒞\mathcal{C}=\mathcal{C}^{\prime}, and HH is a parity-check matrix for 𝒞\mathcal{C}.

We turn to the case of r=2r=2. As in the previous case, a linearly dependent set of columns from HH requires at least δ\delta columns from each repair set it intersects. However, this time, since r=2r=2, we cannot choose δ+2\delta+2 columns from the same repair set, since each repair set contains exactly δ+1\delta+1 columns. Thus, a set of linearly dependent columns of HH contains at least δ\delta columns each from two repair sets. However, by Lemma 8, exactly δ\delta columns each from two repair sets, still forms a set of linearly independent vectors. Thus, at least 2δ+12\delta+1 columns are required for a dependent set, namely, d2δ+1d^{\prime}\geqslant 2\delta+1. As in the previous case, by (7) we have

d=2δ+1,d^{\prime}=2\delta+1,

and then

k=nm(δ1)2=k,k^{\prime}=n-m(\delta-1)-2=k,

and 𝒞=𝒞\mathcal{C}=\mathcal{C}^{\prime}, as desired.

In summary, we just proved the code 𝒞\mathcal{C} is an optimal LRC which is cyclic. The fact that it is a (qb1,r,2,δ,qb)(q^{b}-1,r,2,\delta,q^{b})-MR code follows directly from Lemma 8, since any erasure pattern hitting two repair sets with δ\delta erasures each, corresponds to a full-rank set of columns from HH, and is therefore correctable. ∎

The cyclic MR codes by Construction A have optimal Hamming distance, and order-optimal field size with respect to the bound in Lemma 1-(1), where we consider δ2\delta\geqslant 2 as a constant. However, we can do better than that when r=2r=2, according to Corollary 4.

Corollary 5:

When r=2r=2, the cyclic MR codes generated by Construction A have optimal field size by Corollary 4, provided that neither qb1q^{b}-1, nor qb2q^{b}-2, are prime powers. When r>2r>2, the cyclic MR codes by Construction A have optimal Hamming distance, and order-optimal field size with respect to the bound in Lemma 1-(1), where we consider δ2\delta\geqslant 2 as a constant.

IV-B Turning Non-cyclic Codes into Cyclic Codes

Previous works that constructed non-cyclic (n,r,h,δ,q)(n,r,h,\delta,q)-MR codes, for h=2h=2, did so with q=Θ(n(δ1))q=\Theta(n(\delta-1)) in [4], and later, with q=Θ(n)q=\Theta(n) [19] (see also [23], that obtained q=Θ(n)q=\Theta(n) for the special case of n=2(r+δ1)n=2(r+\delta-1)). Of particular interest to us are the (n,r,2,δ,qb)(n,r,2,\delta,q^{b})-MR codes from [19, Theorem IV.2]. These MR codes have the same parameters as Construction A. However, they are not cyclic MR codes directly. In what follows, we shall attempt to determine whether the MR codes generated in [19, Theorem IV.2] can be rearranged to become cyclic codes. Along the way, we shall prove some interesting facts concerning cyclic optimal LRCs.

As a first step, we show the repair sets of cyclic optimal LRCs are severely restricted.

Theorem 7:

Let 𝒞\mathcal{C} be a cyclic optimal LRC with parameters [n,k,d]q[n,k,d]_{q} and all-symbol (r,δ)(r,\delta)-locality. Write k=ur+vk=ur+v with 0<vr0<v\leqslant r. If u2(rv+1)u\geqslant 2(r-v+1), then for any repair set SnS\subseteq\mathbb{Z}_{n}, and any jnj\in\mathbb{Z}_{n}, either S+j=SS+j=S or (S+j)S=(S+j)\cap S=\emptyset.

The technical proof of Theorem 7 is deferred to the appendix. As an immediate consequence, we now show that the repair sets of cyclic optimal LRCs must be cosets of n\mathbb{Z}_{n}.

Corollary 6:

Let 𝒞\mathcal{C} be a cyclic optimal LRC with parameters [n,k,d]q[n,k,d]_{q} and all-symbol (r,δ)(r,\delta)-locality (where, to avoid trivial cases, we assume that 𝒞\mathcal{C} does not have all-symbol (r1,δ)(r-1,\delta)-locality). Let k=ur+vk=ur+v, 0<vr0<v\leqslant r. If u2(rv+1)u\geqslant 2(r-v+1), then n=m(r+δ1)n=m(r+\delta-1), mm\in\mathbb{N}, and the repair sets of 𝒞\mathcal{C} are

Gim+i={jm+i:j}n,G_{i}\triangleq\left\langle m\right\rangle+i=\left\{jm+i~{}:~{}j\in\mathbb{Z}\right\}\subseteq\mathbb{Z}_{n},

for all ii\in\mathbb{Z}.

Proof:

Let S0nS_{0}\subseteq\mathbb{Z}_{n} be a repair set such that 0S00\in S_{0}. By Theorem 7 we have S0+i=S0nS_{0}+i=S_{0}\subseteq\mathbb{Z}_{n} for any iS0i\in S_{0}. Thus, S0S_{0} is a subgroup of the cyclic group (n,+)(\mathbb{Z}_{n},+). Note that |S0|r+δ1|S_{0}|\leqslant r+\delta-1. If |S0|<r+δ1|S_{0}|<r+\delta-1, then the fact S0+iS_{0}+i, for ini\in\mathbb{Z}_{n}, are also repair sets for 𝒞\mathcal{C}, implies that 𝒞\mathcal{C} has all-symbol (r1,δ)(r-1,\delta)-locality, which contradicts our assumption. Thus, |S0|=r+δ1|S_{0}|=r+\delta-1, S0=mS_{0}=\left\langle m\right\rangle, and (r+δ1)|n(r+\delta-1)|n.

Let SS be any repair set of 𝒞\mathcal{C}. the same analysis shows that |S|=r+δ1|S|=r+\delta-1. Note that SiS-i for any iSi\in S is still a repair set of 𝒞\mathcal{C}. Now it is easy to check that SiS-i is a r+δ1r+\delta-1-subgroup of (n,+)(\mathbb{Z}_{n},+), i.e., Si=S0S-i=S_{0}, which completes the proof. ∎

Remark 4:

Corollary 6 shows that the condition (r+δ1)|n(r+\delta-1)|n is not a restriction when u2(rv+1)u\geqslant 2(r-v+1), but rather a consequence.

Remark 5:

For the case u=1u=1 (i.e., k=r+vk=r+v), and (r+δ1)n(r+\delta-1)\nmid n, explicit constructions were proposed in [33, Corollaries 27, 37, 43] for cyclic optimal LRCs. Corollary 6 implies that constructions with such parameters are possible only if 1=u<2(rv+1)1=u<2(r-v+1), i.e., rvr\geqslant v.

Further building on Corollary 6, we can now show that cyclic optimal LRCs have a parity-check matrix with a nice form.

Corollary 7:

Let 𝒞\mathcal{C} be a cyclic optimal LRC with parameters [n,k,d]q[n,k,d]_{q}, and all-symbol (r,δ)(r,\delta)-locality (where, to avoid trivial cases, we assume that 𝒞\mathcal{C} does not have all-symbol (r1,δ)(r-1,\delta)-locality). If u2(rv+1)u\geqslant 2(r-v+1), then a parity-check matrix of 𝒞\mathcal{C} can be given in the following form:

H=(s000s100sa1000s000s100sa1000s000s100sa1h0h1hm1hmhm+1h2m1h(a1)mh(a1)m+1ham1),H=\left(\begin{array}[]{cccc|cccc|c|cccc}s_{0}&0&\cdots&0&s_{1}&0&\cdots&0&\cdots&s_{a-1}&0&\cdots&0\\ 0&s_{0}&\cdots&0&0&s_{1}&\cdots&0&\cdots&0&s_{a-1}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&s_{0}&0&0&\cdots&s_{1}&\cdots&0&0&\cdots&s_{a-1}\\ h_{0}&h_{1}&\cdots&h_{m-1}&h_{m}&h_{m+1}&\cdots&h_{2m-1}&\cdots&h_{(a-1)m}&h_{(a-1)m+1}&\cdots&h_{am-1}\\ \end{array}\right),

where si,hjs_{i},h_{j} are column vectors, (s0,s2,,sa1)(s_{0},s_{2},\cdots,s_{a-1}) is a parity-check matrix of a cyclic code with minimum Hamming distance of at least δ\delta, a=r+δ1a=r+\delta-1, m=n/am=n/a, and (h0,h1,,ham1)(h_{0},h_{1},\cdots,h_{am-1}) corresponds to the global parity checks. Moreover, the punctured codes satisfy 𝒞|Gi=𝒞|G0\mathcal{C}|_{G_{i}}=\mathcal{C}|_{G_{0}} for all i[m]i\in[m], where Gim+iG_{i}\triangleq\left\langle m\right\rangle+i. Similarly, the shortened codes satisfy 𝒞|Gi=𝒞|G0\mathcal{C}|^{G_{i}}=\mathcal{C}|^{G_{0}} for all i[m]i\in[m], where 𝒞|Gi\mathcal{C}|^{G_{i}} is the code whose parity check matrix contains only the columns corresponding to GiG_{i} from HH.

Proof:

The parity-check matrix follows directly from Corollary 6 and the fact that 𝒞|m=𝒞|m+i\mathcal{C}|_{\left\langle m\right\rangle}=\mathcal{C}|_{\left\langle m\right\rangle+i} for ii\in\mathbb{Z} is also a cyclic code. Additionally, since 𝒞\mathcal{C} is cyclic, trivially we have 𝒞|Gi=𝒞|G0\mathcal{C}|_{G_{i}}=\mathcal{C}|_{G_{0}} and 𝒞|Gi=𝒞|G0\mathcal{C}|^{G_{i}}=\mathcal{C}|^{G_{0}}. ∎

Now we recall a construction, which was first introduced in [19].

Construction B ([19]):

Let qq be a prime power, bb\in\mathbb{N}, n=qb1n=q^{b}-1, a=r+δ1a=r+\delta-1, a|(q1)a|(q-1), and m=n/am=n/a. Let α\alpha be a primitive element of 𝔽qb\mathbb{F}_{q^{b}}, β=αm\beta=\alpha^{m}, and λ=αs\lambda=\alpha^{s}, gcd(s,m)=1\gcd(s,m)=1. The following parity-check matrix defines an (n,r,2,δ,qb)(n,r,2,\delta,q^{b})-MR code,

H=(100β00βa100100β200β2(a1)00100βδ100β(δ1)(a1)000100β00βa100100βδ100β(δ1)(a1)000100β00βa10100βδ100β(δ1)(a1)λ0λ1λm1λ0λ1λm1λ0λ1λm1111βδβδβδβδ(a1)βδ(a1)βδ(a1)).H=\left(\begin{array}[]{cccc|cccc|c|cccc}1&0&\cdots&0&\beta&0&\cdots&0&\cdots&\beta^{a-1}&0&\cdots&0\\ 1&0&\cdots&0&\beta^{2}&0&\cdots&0&\cdots&\beta^{2(a-1)}&0&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 1&0&\cdots&0&\beta^{\delta-1}&0&\cdots&0&\cdots&\beta^{(\delta-1)(a-1)}&0&\cdots&0\\ 0&1&\cdots&0&0&\beta&\cdots&0&\cdots&0&\beta^{a-1}&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&1&\cdots&0&0&\beta^{\delta-1}&\cdots&0&\cdots&0&\beta^{(\delta-1)(a-1)}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&1&0&0&\cdots&\beta&\cdots&0&0&\cdots&\beta^{a-1}\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&\cdots&\cdots&1&0&0&\cdots&\beta^{\delta-1}&\cdots&0&0&\cdots&\beta^{(\delta-1)(a-1)}\\ \lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\cdots&\lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}\\ 1&1&\cdots&1&\beta^{\delta}&\beta^{\delta}&\cdots&\beta^{\delta}&\cdots&\beta^{\delta(a-1)}&\beta^{\delta(a-1)}&\cdots&\beta^{\delta(a-1)}\\ \end{array}\right).

To simply our notation, we define,

𝒙(xx2xδ1).\bm{x}\triangleq\begin{pmatrix}x\\ x^{2}\\ \vdots\\ x^{\delta-1}\end{pmatrix}.

In this notation, the matrix HH from Construction B becomes,

H=(𝟏𝟎𝟎𝜷𝟎𝟎𝜷𝒂𝟏𝟎𝟎𝟎𝟏𝟎𝟎𝜷𝟎𝟎𝜷𝒂𝟏𝟎𝟎𝟎𝟏𝟎𝟎𝜷𝟎𝟎𝜷𝒂𝟏λ0λ1λm1λ0λ1λm1λ0λ1λm1111βδβδβδβδ(a1)βδ(a1)βδ(a1))H=\left(\begin{array}[]{cccc|cccc|c|cccc}\bm{1}&\bm{0}&\cdots&\bm{0}&\bm{\beta}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta^{a-1}}&\bm{0}&\cdots&\bm{0}\\ \bm{0}&\bm{1}&\cdots&\bm{0}&\bm{0}&\bm{\beta}&\cdots&\bm{0}&\cdots&\bm{0}&\bm{\beta^{a-1}}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{1}&\bm{0}&\bm{0}&\cdots&\bm{\beta}&\cdots&\bm{0}&\bm{0}&\cdots&\bm{\beta^{a-1}}\\ \lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\cdots&\lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}\\ 1&1&\cdots&1&\beta^{\delta}&\beta^{\delta}&\cdots&\beta^{\delta}&\cdots&\beta^{\delta(a-1)}&\beta^{\delta(a-1)}&\cdots&\beta^{\delta(a-1)}\\ \end{array}\right)

One cannot avoid seeing a similarity between the parity-check matrix of Construction B, and the parity-check matrix found in Theorem 6 for the code from Construction A. However, the code from Construction B is not cyclic, but rather quasi-cyclic. In what follows we study whether permuting it produces a cyclic code.

Let 𝕊n\mathbb{S}_{n} denote the set of permutations over n\mathbb{Z}_{n}, for any nn\in\mathbb{N}. Each permutation in 𝕊n\mathbb{S}_{n} may be thought of as a bijection in nn\mathbb{Z}_{n}^{\mathbb{Z}_{n}}, namely, a bijection from n\mathbb{Z}_{n} to n\mathbb{Z}_{n}. Let 𝒞\mathcal{C} be a code of length nn, whose coordinates are indexed by n\mathbb{Z}_{n}. If 𝕊n\ell\in\mathbb{S}_{n} is a permutation, we define the permutation of 𝒞\mathcal{C} by \ell as

𝒞{(c(0),c(1),,c(n1)):(c0,c1,,cn1)𝒞)}.\mathcal{C}_{\ell}\triangleq\left\{(c_{\ell(0)},c_{\ell(1)},\dots,c_{\ell(n-1)})~{}:~{}(c_{0},c_{1},\dots,c_{n-1})\in\mathcal{C})\right\}.

If 𝒞\mathcal{C} is a cyclic code, it is natural to ask for what permutations 𝕊n\ell\in\mathbb{S}_{n}, 𝒞\mathcal{C}_{\ell} is also cyclic. Apart from the trivial cyclic shifts of 𝒞\mathcal{C}, a natural subset of candidate permutations are multipliers, namely,

μt(x)\displaystyle\mu_{t}(x) xtmodn,\displaystyle\triangleq xt\bmod n,
n×\displaystyle\mathbb{Z}_{n}^{\times} {1tn:gcd(t,n)=1},\displaystyle\triangleq\left\{1\leqslant t\leqslant n~{}:~{}\gcd(t,n)=1\right\},
Υ(n)\displaystyle\Upsilon(n) {μt:tn×}.\displaystyle\triangleq\left\{\mu_{t}~{}:~{}t\in\mathbb{Z}_{n}^{\times}\right\}.

Pálfy [29] proved that, in many cases, multipliers are the essential permutations keeping a code cyclic:

Lemma 9 ([29]):

Consider codes of length nn whose coordinates are indexed by n\mathbb{Z}_{n}.

  1. 1.

    When gcd(n,φ(n))=1\gcd(n,\varphi(n))=1 or n=4n=4, for all cyclic codes 𝒞\mathcal{C}, if 𝒞\mathcal{C}_{\ell^{\prime}}, 𝕊n\ell^{\prime}\in\mathbb{S}_{n}, is also a cyclic code, then there is a multiplier Υ(n)\ell\in\Upsilon(n) such that 𝒞=𝒞\mathcal{C}_{\ell^{\prime}}=\mathcal{C}_{\ell}.

  2. 2.

    When gcd(n,φ(n))1\gcd(n,\varphi(n))\neq 1 and n4n\neq 4, there exists a cyclic code 𝒞\mathcal{C}, and 𝕊n\ell^{\prime}\in\mathbb{S}_{n} such that 𝒞\mathcal{C}_{\ell^{\prime}} is cyclic, but 𝒞𝒞\mathcal{C}_{\ell^{\prime}}\neq\mathcal{C}_{\ell} for all multipliers Υ(n)\ell\in\Upsilon(n).

Here φ()\varphi(\cdot) denotes Euler’s totient function.

Drawing inspiration from Lemma 9, we address the (different) question of finding permutations from 𝕊n\mathbb{S}_{n} that turn the non-cyclic code of Construction B into a cyclic code. Recall that in the setting of Construction B, a,m,na,m,n\in\mathbb{N}, and n=man=ma. We now define a set of functions from n\mathbb{Z}_{n} to n\mathbb{Z}_{n} as follows:

μt,z(xm+i)(xmti+zi)modn,\mu_{t,z}(xm+i)\triangleq\left(xmt_{i}+z_{i}\right)\bmod n,

where we assume x[a]x\in[a], i[m]i\in[m], t=(t0,,tm1)mt=(t_{0},\dots,t_{m-1})\in\mathbb{Z}^{m}, and z=(z0,,zm1)mz=(z_{0},\dots,z_{m-1})\in\mathbb{Z}^{m}. We then define the set,

Ψ(n,a){μt,z:t(a×)m,zm,(zmodm)𝕊m},\Psi(n,a)\triangleq\left\{\mu_{t,z}~{}:~{}t\in(\mathbb{Z}_{a}^{\times})^{m},z\in\mathbb{Z}^{m},(z\bmod m)\in\mathbb{S}_{m}\right\},

and where by abuse of notation, zmodmz\bmod m denotes the mm\mathbb{Z}_{m}\to\mathbb{Z}_{m} mapping that maps i(zimodm)i\mapsto(z_{i}\bmod m).

We would like to make some easy observations concerning the elements of Ψ(n,a)\Psi(n,a). Denote G0mnG_{0}\triangleq\left\langle m\right\rangle\subseteq\mathbb{Z}_{n}. Then G0G_{0} is an additive subgroup of n\mathbb{Z}_{n}, and G0aG_{0}\cong\mathbb{Z}_{a}. Let us denote the cosets of G0G_{0} by GiG0+iG_{i}\triangleq G_{0}+i, for all ii\in\mathbb{Z}. We now note that jjtmodnj\mapsto jt\bmod n is a bijection from G0G_{0} to G0G_{0} if and only if gcd(t,a)=1\gcd(t,a)=1. Thus, t,z|Gi\ell_{t,z}|_{G_{i}} (i.e., the restriction of t,z\ell_{t,z} to GiG_{i}) is a bijection from GiG_{i} to GzimodmG_{z_{i}\bmod m}. With the extra requirement that (zmodm)𝕊m(z\bmod m)\in\mathbb{S}_{m}, we have that distinct cosets GiG_{i} are mapped to distinct cosets GzimodmG_{z_{i}\bmod m}, and hence, Ψ(n,a)𝕊n\Psi(n,a)\subseteq\mathbb{S}_{n}, namely, Ψ\Psi comprises of permutations over n\mathbb{Z}_{n}.

Theorem 8:

Assume the notation and setting of Construction B, and let 𝒞\mathcal{C} be the resulting code when r3r\geqslant 3. Then there exists a permutation Ψ(n,a)\ell\in\Psi(n,a) such that 𝒞\mathcal{C}_{\ell} is a cyclic code if and only if gcd(m,agcd(a,δ))=1\gcd(m,\frac{a}{\gcd(a,\delta)})=1.

Proof:

We first observe that gcd(m,agcd(a,δ))=1\gcd(m,\frac{a}{\gcd(a,\delta)})=1 if and only if the equation δmτδ(moda)\delta m\tau\equiv\delta\pmod{a} has at least one solution τa\tau\in\mathbb{Z}_{a}. We now prove both directions of the claim.

In the first direction, assume δmτδ(moda)\delta m\tau\equiv\delta\pmod{a} has a solution τa\tau\in\mathbb{Z}_{a}. Consider the permutation =t,zΨ(n,a)\ell=\ell_{t,z}\in\Psi(n,a) for which t=(1,,1)t=(1,\dots,1), and z=(z0,,zm1)z=(z_{0},\dots,z_{m-1}), where zi=i+mτiz_{i}=i+m\tau i. Applying \ell to the coordinates of 𝒞\mathcal{C}, the parity-check matrix HH from Construction B becomes

H=(𝟏𝟎𝟎𝜷𝟎𝟎𝜷𝒂𝟏𝟎𝟎𝜷𝝉𝟎𝟎𝜷𝝉+𝟏𝟎𝟎𝟎𝟎𝟎𝜷𝝉(𝒎𝟏)𝟎𝟎𝜷𝝉(𝒎𝟏)+𝟏𝟎𝜷𝝉(𝒎𝟏)+𝒂𝟏λ0λ1λm1λ0λ1λm1λ0λm11βτδβτ(m1)δβτmδβτ(m+1)δβτ(2m1)δβτm(a1)δβτ(am1)δ).H_{\ell}=\left(\begin{array}[]{cccc|cccc|c|ccc}\bm{1}&\bm{0}&\cdots&\bm{0}&\bm{\beta}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta^{a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{\beta^{\tau}}&\cdots&\bm{0}&\bm{0}&\bm{\beta^{\tau+1}}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{\beta^{\tau(m-1)}}&\bm{0}&\bm{0}&\cdots&\bm{\beta^{\tau(m-1)+1}}&\cdots&\bm{0}&\cdots&\bm{\beta^{\tau(m-1)+a-1}}\\ \lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\cdots&\lambda^{0}&\cdots&\lambda^{m-1}\\ 1&\beta^{\tau\delta}&\cdots&\beta^{\tau(m-1)\delta}&\beta^{\tau m\delta}&\beta^{\tau(m+1)\delta}&\cdots&\beta^{\tau(2m-1)\delta}&\cdots&\beta^{\tau m(a-1)\delta}&\cdots&\beta^{\tau(am-1)\delta}\\ \end{array}\right).

which is a parity-check matrix for 𝒞\mathcal{C}_{\ell}. Here we used δmτδ(moda)\delta m\tau\equiv\delta\pmod{a} to get that βδmτ=βδ\beta^{\delta m\tau}=\beta^{\delta}. Now, by dividing some of the rows with appropriate scalars, another parity-check matrix for 𝒞\mathcal{C}_{\ell} is the following:

H=(𝟏𝟎𝟎𝜷𝟎𝟎𝜷𝒂𝟏𝟎𝟎𝟏𝟎𝟎𝜷𝟎𝟎𝟎𝟎𝟎𝟏𝟎𝟎𝜷𝟎𝜷𝒂𝟏λ0λ1λm1λ0λ1λm1λ0λm11βτδβτ(m1)δβτmδβτ(m+1)δβτ(2m1)δβτm(a1)δβτ(am1)δ).H^{\prime}_{\ell}=\left(\begin{array}[]{cccc|cccc|c|ccc}\bm{1}&\bm{0}&\cdots&\bm{0}&\bm{\beta}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta^{a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{1}&\cdots&\bm{0}&\bm{0}&\bm{\beta}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{1}&\bm{0}&\bm{0}&\cdots&\bm{\beta}&\cdots&\bm{0}&\cdots&\bm{\beta^{a-1}}\\ \lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\lambda^{0}&\lambda^{1}&\cdots&\lambda^{m-1}&\cdots&\lambda^{0}&\cdots&\lambda^{m-1}\\ 1&\beta^{\tau\delta}&\cdots&\beta^{\tau(m-1)\delta}&\beta^{\tau m\delta}&\beta^{\tau(m+1)\delta}&\cdots&\beta^{\tau(2m-1)\delta}&\cdots&\beta^{\tau m(a-1)\delta}&\cdots&\beta^{\tau(am-1)\delta}\\ \end{array}\right).

It is now clear that 𝒞\mathcal{C}_{\ell} is cyclic, since Hc=0H^{\prime}_{\ell}c^{\intercal}=0 implies H(σ(c))=0H^{\prime}_{\ell}(\sigma(c))^{\intercal}=0, i.e., c𝒞c\in\mathcal{C}_{\ell} implies σ(c)𝒞\sigma(c)\in\mathcal{C}_{\ell}.

In the second direction, assume that there exists Ψ(n,a)\ell\in\Psi(n,a) such that 𝒞\mathcal{C}_{\ell} is cyclic. Assume to the contrary that δmτδ(moda)\delta m\tau\not\equiv\delta\pmod{a} for all τa\tau\in\mathbb{Z}_{a}. Let us write =t,zΨ(n,a)\ell=\ell_{t,z}\in\Psi(n,a), with t=(t0,,tm1)(a×)mt=(t_{0},\dots,t_{m-1})\in(\mathbb{Z}_{a}^{\times})^{m}, and z=(z0,,zm1)mz=(z_{0},\dots,z_{m-1})\in\mathbb{Z}^{m}. We can now write,

(xm+i)=(xmti+zi)modn=((x+τi)mti+ζi)modn,\ell(xm+i)=(xmt_{i}+z_{i})\bmod n=((x+\tau_{i})mt_{i}+\zeta_{i})\bmod n,

with x,τi[a]x,\tau_{i}\in[a], and i,ζi[m]i,\zeta_{i}\in[m]. Let us further define βiβti\beta_{i}\triangleq\beta^{t_{i}}. We can now apply \ell to the order of the columns of HH from Construction B to obtain a parity-check matrix HH_{\ell} for the code 𝒞\mathcal{C}_{\ell}. By rearranging the order of the rows of the matrix, we may write,

H=(𝜷𝟎𝝉𝟎𝟎𝟎𝜷𝟎𝝉𝟎+𝟏𝟎𝟎𝜷𝟎𝝉𝟎+𝒂𝟏𝟎𝟎𝜷𝟏𝝉𝟏𝟎𝟎𝜷𝟏𝝉𝟏+𝟏𝟎𝟎𝟎𝟎𝟎𝜷𝒎𝟏𝝉𝒎𝟏𝟎𝟎𝜷𝒎𝟏𝝉𝒎𝟏+𝟏𝟎𝜷𝒎𝟏𝝉𝒎𝟏+𝒂𝟏λζ0λζ1λζm1λζ0λζ1λζm1λζ0λζm1β0τ0δβ1τ1δβm1τm1δβ0(τ0+1)δβ1(τ1+1)δβm1(τm1+1)δβ0δ(τ0+a1)βm1δ(τm1+a1)).H_{\ell}=\left(\begin{array}[]{cccc|cccc|c|ccc}\bm{\beta^{\tau_{0}}_{0}}&\bm{0}&\cdots&\bm{0}&\bm{\beta^{\tau_{0}+1}_{0}}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{0}+a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{\beta^{\tau_{1}}_{1}}&\cdots&\bm{0}&\bm{0}&\bm{\beta_{1}^{\tau_{1}+1}}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}}}&\bm{0}&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}+1}}&\cdots&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\cdots&\lambda^{\zeta_{0}}&\cdots&\lambda^{\zeta_{m-1}}\\ \beta^{\tau_{0}\delta}_{0}&\beta_{1}^{\tau_{1}\delta}&\cdots&\beta_{m-1}^{\tau_{m-1}\delta}&\beta^{(\tau_{0}+1)\delta}_{0}&\beta_{1}^{(\tau_{1}+1)\delta}&\cdots&\beta_{m-1}^{(\tau_{m-1}+1)\delta}&\cdots&\beta_{0}^{\delta(\tau_{0}+a-1)}&\cdots&\beta_{m-1}^{\delta(\tau_{m-1}+a-1)}\\ \end{array}\right).

Recall that, by construction, the multiplicative order of β\beta is o(β)=ao(\beta)=a. Since gcd(tj,a)=1\gcd(t_{j},a)=1, we also have that o(βj)=ao(\beta_{j})=a, for all jmj\in\mathbb{Z}_{m}. Taking into account that r3r\geqslant 3, namely, a=r+δ1δ+2a=r+\delta-1\geqslant\delta+2, we have that 1,βj,βj2,,βjδ1,\beta_{j},\beta_{j}^{2},\dots,\beta_{j}^{\delta} are all distinct. Let us look at the columns of HH_{\ell} that correspond to GjG_{j} for some jmj\in\mathbb{Z}_{m}. These columns, after removing all-zero rows, form a (transposed) (δ+1)×a(\delta+1)\times a Vandermonde matrix.

(𝜷𝒋𝝉𝒋𝜷𝒋𝝉𝒋+𝟏𝜷𝒋𝝉𝒋+𝒂𝟏λζjλζjλζjβjτjδβj(τj+1)δβj(τj+a1)δ)=Πdiag(βjτj,,βjτj(δ1),λζj,βjτjδ)(1111βjβja11βj2βj2(a1)1βjδβjδ(a1)),\begin{pmatrix}\bm{\beta_{j}^{\tau_{j}}}&\bm{\beta_{j}^{\tau_{j}+1}}&\dots&\bm{\beta_{j}^{\tau_{j}+a-1}}\\ \lambda^{\zeta_{j}}&\lambda^{\zeta_{j}}&\dots&\lambda^{\zeta_{j}}\\ \beta_{j}^{\tau_{j}\delta}&\beta_{j}^{(\tau_{j}+1)\delta}&\dots&\beta_{j}^{(\tau_{j}+a-1)\delta}\end{pmatrix}=\Pi\cdot\operatorname{diag}(\beta_{j}^{\tau_{j}},\dots,\beta_{j}^{\tau_{j}(\delta-1)},\lambda^{\zeta_{j}},\beta_{j}^{\tau_{j}\delta})\cdot\begin{pmatrix}1&1&\dots&1\\ 1&\beta_{j}&\dots&\beta_{j}^{a-1}\\ 1&\beta_{j}^{2}&\dots&\beta_{j}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{j}^{\delta}&\dots&\beta_{j}^{\delta(a-1)}\end{pmatrix}, (8)

where Π\Pi is a permutation matrix that moves the second row from the bottom to the top. Since 1,βj,βj2,,βjδ1,\beta_{j},\beta_{j}^{2},\dots,\beta_{j}^{\delta} are all distinct, the rows of (8) are linearly independent. Thus, a linear combination of the rows of HH_{\ell} that results in zeros in all the positions of GjG_{j} must be a trivial combination.

We now use the fact that HH_{\ell} is a parity-check matrix for a cyclic code. By adding cyclic rotations of existing rows in HH_{\ell}, we obtain HH^{\prime}_{\ell} which is also a parity-check matrix for the same code,

H=(𝜷𝒊𝝉𝒊𝟎𝟎𝜷𝒊𝝉𝒊+𝟏𝟎𝟎𝜷𝒊𝝉𝒊+𝒂𝟏𝟎𝜷𝟎𝝉𝟎𝟎𝟎𝜷𝟎𝝉𝟎+𝟏𝟎𝟎𝜷𝟎𝝉𝟎+𝒂𝟏𝟎𝟎𝜷𝟏𝝉𝟏𝟎𝟎𝜷𝟏𝝉𝟏+𝟏𝟎𝟎𝟎𝟎𝟎𝜷𝒎𝟏𝝉𝒎𝟏𝟎𝟎𝜷𝒎𝟏𝝉𝒎𝟏+𝟏𝟎𝜷𝒎𝟏𝝉𝒎𝟏+𝒂𝟏λζ0λζ1λζm1λζ0λζ1λζm1λζ0λζm1β0τ0δβ1τ1δβm1τm1δβ0(τ0+1)δβ1(τ1+1)δβm1(τm1+1)δβ0δ(τ0+a1)βm1δ(τm1+a1)),H^{\prime}_{\ell}=\left(\begin{array}[]{cccc|cccc|c|ccc}\bm{\beta^{\tau_{i}}_{i}}&\bm{0}&\cdots&\bm{0}&\bm{\beta^{\tau_{i}+1}_{i}}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta_{i}^{\tau_{i}+a-1}}&\cdots&\bm{0}\\ \hline\cr\bm{\beta^{\tau_{0}}_{0}}&\bm{0}&\cdots&\bm{0}&\bm{\beta^{\tau_{0}+1}_{0}}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{0}+a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{\beta^{\tau_{1}}_{1}}&\cdots&\bm{0}&\bm{0}&\bm{\beta_{1}^{\tau_{1}+1}}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}}}&\bm{0}&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}+1}}&\cdots&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\cdots&\lambda^{\zeta_{0}}&\cdots&\lambda^{\zeta_{m-1}}\\ \beta^{\tau_{0}\delta}_{0}&\beta_{1}^{\tau_{1}\delta}&\cdots&\beta_{m-1}^{\tau_{m-1}\delta}&\beta^{(\tau_{0}+1)\delta}_{0}&\beta_{1}^{(\tau_{1}+1)\delta}&\cdots&\beta_{m-1}^{(\tau_{m-1}+1)\delta}&\cdots&\beta_{0}^{\delta(\tau_{0}+a-1)}&\cdots&\beta_{m-1}^{\delta(\tau_{m-1}+a-1)}\\ \end{array}\right),

where imi\in\mathbb{Z}_{m}. However, these added rows must be linear combinations of the rows of HH_{\ell}. Since they contain zeros in all the entries of GjG_{j}, j0j\neq 0, these linear combinations cannot use the last two rows of HH_{\ell}. It now follows that

rank(𝜷𝒊𝝉𝒊𝜷𝒊𝝉𝒊+𝟏𝜷𝒊𝝉𝒊+𝒂𝟏𝜷𝟎𝝉𝟎𝜷𝟎𝝉𝟎+𝟏𝜷𝟎𝝉𝟎+𝒂𝟏)=rank(𝜷𝟎𝝉𝟎𝜷𝟎𝝉𝟎+𝟏𝜷𝟎𝝉𝟎+𝒂𝟏).\operatorname{rank}\begin{pmatrix}\bm{\beta_{i}^{\tau_{i}}}&\bm{\beta_{i}^{\tau_{i}+1}}&\dots&\bm{\beta_{i}^{\tau_{i}+a-1}}\\ \bm{\beta_{0}^{\tau_{0}}}&\bm{\beta_{0}^{\tau_{0}+1}}&\dots&\bm{\beta_{0}^{\tau_{0}+a-1}}\\ \end{pmatrix}=\operatorname{rank}\begin{pmatrix}\bm{\beta_{0}^{\tau_{0}}}&\bm{\beta_{0}^{\tau_{0}+1}}&\dots&\bm{\beta_{0}^{\tau_{0}+a-1}}\end{pmatrix}.

After the same treatment as (8), this gives

rank(1βiβia11βi2βi2(a1)1βiδ1βi(δ1)(a1)1β0β0a11β02β02(a1)1β0δ1β0(δ1)(a1))=rank(1β0β0a11β02β02(a1)1β0δ1β0(δ1)(a1)).\operatorname{rank}\begin{pmatrix}1&\beta_{i}&\dots&\beta_{i}^{a-1}\\ 1&\beta_{i}^{2}&\dots&\beta_{i}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{i}^{\delta-1}&\dots&\beta_{i}^{(\delta-1)(a-1)}\\ 1&\beta_{0}&\dots&\beta_{0}^{a-1}\\ 1&\beta_{0}^{2}&\dots&\beta_{0}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{0}^{\delta-1}&\dots&\beta_{0}^{(\delta-1)(a-1)}\\ \end{pmatrix}=\operatorname{rank}\begin{pmatrix}1&\beta_{0}&\dots&\beta_{0}^{a-1}\\ 1&\beta_{0}^{2}&\dots&\beta_{0}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{0}^{\delta-1}&\dots&\beta_{0}^{(\delta-1)(a-1)}\end{pmatrix}.

If {β0,β02,,β0δ1}{βi,βi2,,βiδ1}\left\{\beta_{0},\beta_{0}^{2},\dots,\beta_{0}^{\delta-1}\right\}\neq\left\{\beta_{i},\beta_{i}^{2},\dots,\beta_{i}^{\delta-1}\right\}, then by the fact that r3r\geqslant 3, we would have a contradiction to the rank equality above. It follows that

{β0,β02,,β0δ1}={βi,βi2,,βiδ1},\left\{\beta_{0},\beta_{0}^{2},\dots,\beta_{0}^{\delta-1}\right\}=\left\{\beta_{i},\beta_{i}^{2},\dots,\beta_{i}^{\delta-1}\right\}, (9)

for all imi\in\mathbb{Z}_{m}.

We now repeat the argument, with an extra step. Take HH^{\prime}_{\ell} and add to it a cyclic rotation of its last row to obtain the following parity-check matrix for the same code,

H′′=(𝜷𝒊𝝉𝒊𝟎𝟎𝜷𝒊𝝉𝒊+𝟏𝟎𝜷𝒊𝝉𝒊+𝒂𝟏𝟎𝜷𝟎𝝉𝟎𝟎𝟎𝜷𝟎𝝉𝟎+𝟏𝟎𝜷𝟎𝝉𝟎+𝒂𝟏𝟎𝟎𝜷𝟏𝝉𝟏𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝜷𝒎𝟏𝝉𝒎𝟏𝟎𝜷𝒎𝟏𝝉𝒎𝟏+𝟏𝟎𝜷𝒎𝟏𝝉𝒎𝟏+𝒂𝟏λζ0λζ1λζm1λζ0λζm1λζ0λζm1β0τ0δβ1τ1δβm1τm1δβ0(τ0+1)δβm1(τm1+1)δβ0δ(τ0+a1)βm1δ(τm1+a1)βiτiδβi+1τi+1δβi1(τi1+1)δβi(τi+1)δβi1(τi1+2)δβiδ(τi+a1)βi1τi1δ),H^{\prime\prime}_{\ell}=\left(\begin{array}[]{cccc|ccc|c|ccc}\bm{\beta^{\tau_{i}}_{i}}&\bm{0}&\cdots&\bm{0}&\bm{\beta^{\tau_{i}+1}_{i}}&\cdots&\bm{0}&\cdots&\bm{\beta_{i}^{\tau_{i}+a-1}}&\cdots&\bm{0}\\ \hline\cr\bm{\beta^{\tau_{0}}_{0}}&\bm{0}&\cdots&\bm{0}&\bm{\beta^{\tau_{0}+1}_{0}}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{0}+a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{\beta^{\tau_{1}}_{1}}&\cdots&\bm{0}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}}}&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}+1}}&\cdots&\bm{0}&\cdots&\bm{\beta_{m-1}^{\tau_{m-1}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\lambda^{\zeta_{0}}&\cdots&\lambda^{\zeta_{m-1}}&\cdots&\lambda^{\zeta_{0}}&\cdots&\lambda^{\zeta_{m-1}}\\ \beta^{\tau_{0}\delta}_{0}&\beta_{1}^{\tau_{1}\delta}&\cdots&\beta_{m-1}^{\tau_{m-1}\delta}&\beta^{(\tau_{0}+1)\delta}_{0}&\cdots&\beta_{m-1}^{(\tau_{m-1}+1)\delta}&\cdots&\beta_{0}^{\delta(\tau_{0}+a-1)}&\cdots&\beta_{m-1}^{\delta(\tau_{m-1}+a-1)}\\ \hline\cr\beta_{i}^{\tau_{i}\delta}&\beta_{i+1}^{\tau_{i+1}\delta}&\cdots&\beta_{i-1}^{(\tau_{i-1}+1)\delta}&\beta_{i}^{(\tau_{i}+1)\delta}&\cdots&\beta_{i-1}^{(\tau_{i-1}+2)\delta}&\cdots&\beta_{i}^{\delta(\tau_{i}+a-1)}&\cdots&\beta_{i-1}^{\tau_{i-1}\delta}\\ \end{array}\right),

where imi\in\mathbb{Z}_{m}. Again, this added row is linearly dependent on the others, and so, looking at the columns of G0G_{0} we obtain the rank equality

rank(𝜷𝒊𝝉𝒊𝜷𝒊𝝉𝒊+𝟏𝜷𝒊𝝉𝒊+𝒂𝟏𝜷𝟎𝝉𝟎𝜷𝟎𝝉𝟎+𝟏𝜷𝟎𝝉𝟎+𝒂𝟏λζ0λζ0λζ0β0τ0δβ0(τ0+1)δβ0(τ0+a1)δβiτiδβi(τi+1)δβi(τi+a1)δ)=rank(𝜷𝟎𝝉𝟎𝜷𝟎𝝉𝟎+𝟏𝜷𝟎𝝉𝟎+𝒂𝟏λζ0λζ0λζ0β0τ0δβ0(τ0+1)δβ0(τ0+a1)δ).\operatorname{rank}\begin{pmatrix}\bm{\beta_{i}^{\tau_{i}}}&\bm{\beta_{i}^{\tau_{i}+1}}&\dots&\bm{\beta_{i}^{\tau_{i}+a-1}}\\ \bm{\beta_{0}^{\tau_{0}}}&\bm{\beta_{0}^{\tau_{0}+1}}&\dots&\bm{\beta_{0}^{\tau_{0}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{0}}&\dots&\lambda^{\zeta_{0}}\\ \beta_{0}^{\tau_{0}\delta}&\beta_{0}^{(\tau_{0}+1)\delta}&\dots&\beta_{0}^{(\tau_{0}+a-1)\delta}\\ \beta_{i}^{\tau_{i}\delta}&\beta_{i}^{(\tau_{i}+1)\delta}&\dots&\beta_{i}^{(\tau_{i}+a-1)\delta}\\ \end{pmatrix}=\operatorname{rank}\begin{pmatrix}\bm{\beta_{0}^{\tau_{0}}}&\bm{\beta_{0}^{\tau_{0}+1}}&\dots&\bm{\beta_{0}^{\tau_{0}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{0}}&\dots&\lambda^{\zeta_{0}}\\ \beta_{0}^{\tau_{0}\delta}&\beta_{0}^{(\tau_{0}+1)\delta}&\dots&\beta_{0}^{(\tau_{0}+a-1)\delta}\\ \end{pmatrix}.

Again, using the same steps as in (8), we get

rank(1111βiβia11βi2βi2(a1)1βiδβiδ(a1)1β0β0a11β02β02(a1)1β0δβ0δ(a1))=rank(1111β0β0a11β02β02(a1)1β0δβ0δ(a1)).\operatorname{rank}\begin{pmatrix}1&1&\dots&1\\ 1&\beta_{i}&\dots&\beta_{i}^{a-1}\\ 1&\beta_{i}^{2}&\dots&\beta_{i}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{i}^{\delta}&\dots&\beta_{i}^{\delta(a-1)}\\ 1&\beta_{0}&\dots&\beta_{0}^{a-1}\\ 1&\beta_{0}^{2}&\dots&\beta_{0}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{0}^{\delta}&\dots&\beta_{0}^{\delta(a-1)}\\ \end{pmatrix}=\operatorname{rank}\begin{pmatrix}1&1&\dots&1\\ 1&\beta_{0}&\dots&\beta_{0}^{a-1}\\ 1&\beta_{0}^{2}&\dots&\beta_{0}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{0}^{\delta}&\dots&\beta_{0}^{\delta(a-1)}\end{pmatrix}.

As before, if {1,β0,β02,,β0δ}{1,βi,βi2,,βiδ}\left\{1,\beta_{0},\beta_{0}^{2},\dots,\beta_{0}^{\delta}\right\}\neq\left\{1,\beta_{i},\beta_{i}^{2},\dots,\beta_{i}^{\delta}\right\}, then by the fact that r3r\geqslant 3, we would have a contradiction to the rank equality above. If follows that

{1,β0,β02,,β0δ}={1,βi,βi2,,βiδ},\left\{1,\beta_{0},\beta_{0}^{2},\dots,\beta_{0}^{\delta}\right\}=\left\{1,\beta_{i},\beta_{i}^{2},\dots,\beta_{i}^{\delta}\right\}, (10)

for all imi\in\mathbb{Z}_{m}.

The combination of (9) and (10) implies that β0δ=βiδ\beta_{0}^{\delta}=\beta_{i}^{\delta} for all imi\in\mathbb{Z}_{m}. We observe that

β0δ1\displaystyle\beta_{0}^{\delta}-1 =(1+β0++β0δ1)(β01),\displaystyle=(1+\beta_{0}+\dots+\beta_{0}^{\delta-1})(\beta_{0}-1),
βiδ1\displaystyle\beta_{i}^{\delta}-1 =(1+βi++βiδ1)(βi1).\displaystyle=(1+\beta_{i}+\dots+\beta_{i}^{\delta-1})(\beta_{i}-1).

By (9),

β0δ1βiδ1=β01βi1.\frac{\beta_{0}^{\delta}-1}{\beta_{i}^{\delta}-1}=\frac{\beta_{0}-1}{\beta_{i}-1}.

But now, since β0δ=βiδ\beta_{0}^{\delta}=\beta_{i}^{\delta}, we conclude that

βi=β0,\beta_{i}=\beta_{0},

for all imi\in\mathbb{Z}_{m}.

Now that we know that β0=β1==βm1\beta_{0}=\beta_{1}=\dots=\beta_{m-1}, we can write HH_{\ell} as

H=(𝜷𝟎𝝉𝟎𝟎𝟎𝜷𝟎𝝉𝟎+𝟏𝟎𝟎𝜷𝟎𝝉𝟎+𝒂𝟏𝟎𝟎𝜷𝟎𝝉𝟏𝟎𝟎𝜷𝟎𝝉𝟏+𝟏𝟎𝟎𝟎𝟎𝟎𝜷𝟎𝝉𝒎𝟏𝟎𝟎𝜷𝟎𝝉𝒎𝟏+𝟏𝟎𝜷𝟎𝝉𝒎𝟏+𝒂𝟏λζ0λζ1λζm1λζ0λζ1λζm1λζ0λζm1β0τ0δβ0τ1δβ0τm1δβ0(τ0+1)δβ0(τ1+1)δβ0(τm1+1)δβ0δ(τ0+a1)β0δ(τm1+a1)).H_{\ell}=\left(\begin{array}[]{cccc|cccc|c|ccc}\bm{\beta_{0}^{\tau_{0}}}&\bm{0}&\cdots&\bm{0}&\bm{\beta_{0}^{\tau_{0}+1}}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{0}+a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{\beta_{0}^{\tau_{1}}}&\cdots&\bm{0}&\bm{0}&\bm{\beta_{0}^{\tau_{1}+1}}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{m-1}}}&\bm{0}&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{m-1}+1}}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{m-1}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\cdots&\lambda^{\zeta_{0}}&\cdots&\lambda^{\zeta_{m-1}}\\ \beta_{0}^{\tau_{0}\delta}&\beta_{0}^{\tau_{1}\delta}&\cdots&\beta_{0}^{\tau_{m-1}\delta}&\beta_{0}^{(\tau_{0}+1)\delta}&\beta_{0}^{(\tau_{1}+1)\delta}&\cdots&\beta_{0}^{(\tau_{m-1}+1)\delta}&\cdots&\beta_{0}^{\delta(\tau_{0}+a-1)}&\cdots&\beta_{0}^{\delta(\tau_{m-1}+a-1)}\\ \end{array}\right).

Looking at the columns of HH_{\ell} that correspond to GjG_{j}, jmj\in\mathbb{Z}_{m}, once again we observe that the non-zero rows are equivalent to a (transposed) Vandermonde matrix

(1111β0β0a11β02β02(a1)1β0δβ0δ(a1)).\begin{pmatrix}1&1&\dots&1\\ 1&\beta_{0}&\dots&\beta_{0}^{a-1}\\ 1&\beta_{0}^{2}&\dots&\beta_{0}^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta_{0}^{\delta}&\dots&\beta_{0}^{\delta(a-1)}\end{pmatrix}.

Hence, these rows are linearly independent. Let us now add a cyclically shifted version of the last row of HH_{\ell}, to obtain yet another parity-check matrix for the code,

H=(𝜷𝟎𝝉𝟎𝟎𝟎𝜷𝟎𝝉𝟎+𝟏𝟎𝟎𝜷𝟎𝝉𝟎+𝒂𝟏𝟎𝟎𝜷𝟎𝝉𝟏𝟎𝟎𝜷𝟎𝝉𝟏+𝟏𝟎𝟎𝟎𝟎𝟎𝜷𝟎𝝉𝒎𝟏𝟎𝟎𝜷𝟎𝝉𝒎𝟏+𝟏𝟎𝜷𝟎𝝉𝒎𝟏+𝒂𝟏λζ0λζ1λζm1λζ0λζ1λζm1λζ0λζm1β0τ0δβ0τ1δβ0τm1δβ0(τ0+1)δβ0(τ1+1)δβ0(τm1+1)δβ0δ(τ0+a1)β0δ(τm1+a1)β0τ1δβ0τ2δβ0(τ0+1)δβ0(τ1+1)δβ0(τ2+1)δβ0(τ0+2)δβ0δ(τ1+a1)β0τ0δ).H^{*}_{\ell}=\left(\begin{array}[]{cccc|cccc|c|ccc}\bm{\beta_{0}^{\tau_{0}}}&\bm{0}&\cdots&\bm{0}&\bm{\beta_{0}^{\tau_{0}+1}}&\bm{0}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{0}+a-1}}&\cdots&\bm{0}\\ \bm{0}&\bm{\beta_{0}^{\tau_{1}}}&\cdots&\bm{0}&\bm{0}&\bm{\beta_{0}^{\tau_{1}+1}}&\cdots&\bm{0}&\cdots&\bm{0}&\cdots&\bm{0}\\ \vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots&&\vdots&\ddots&\vdots\\ \bm{0}&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{m-1}}}&\bm{0}&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{m-1}+1}}&\cdots&\bm{0}&\cdots&\bm{\beta_{0}^{\tau_{m-1}+a-1}}\\ \lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\lambda^{\zeta_{0}}&\lambda^{\zeta_{1}}&\cdots&\lambda^{\zeta_{m-1}}&\cdots&\lambda^{\zeta_{0}}&\cdots&\lambda^{\zeta_{m-1}}\\ \beta_{0}^{\tau_{0}\delta}&\beta_{0}^{\tau_{1}\delta}&\cdots&\beta_{0}^{\tau_{m-1}\delta}&\beta_{0}^{(\tau_{0}+1)\delta}&\beta_{0}^{(\tau_{1}+1)\delta}&\cdots&\beta_{0}^{(\tau_{m-1}+1)\delta}&\cdots&\beta_{0}^{\delta(\tau_{0}+a-1)}&\cdots&\beta_{0}^{\delta(\tau_{m-1}+a-1)}\\ \hline\cr\beta_{0}^{\tau_{1}\delta}&\beta_{0}^{\tau_{2}\delta}&\cdots&\beta_{0}^{(\tau_{0}+1)\delta}&\beta_{0}^{(\tau_{1}+1)\delta}&\beta_{0}^{(\tau_{2}+1)\delta}&\cdots&\beta_{0}^{(\tau_{0}+2)\delta}&\cdots&\beta_{0}^{\delta(\tau_{1}+a-1)}&\cdots&\beta_{0}^{\tau_{0}\delta}\\ \end{array}\right).

The added row is a linear combination of the original rows of HH_{\ell}. Assume jmj\in\mathbb{Z}_{m}, jm1j\neq m-1. If we look at the columns of GjG_{j} in HH^{*}_{\ell} we see that

(β0τj+1δ,β0(τj+1+1)δ,,β0(τj+1+a1)δ)=β(τj+1τj)δ(β0τjδ,β0(τj+1)δ,,β0(τj+a1)δ).\left(\beta_{0}^{\tau_{j+1}\delta},\beta_{0}^{(\tau_{j+1}+1)\delta},\dots,\beta_{0}^{(\tau_{j+1}+a-1)\delta}\right)=\beta^{(\tau_{j+1}-\tau_{j})\delta}\left(\beta_{0}^{\tau_{j}\delta},\beta_{0}^{(\tau_{j}+1)\delta},\dots,\beta_{0}^{(\tau_{j}+a-1)\delta}\right).

Since the non-zero rows in the columns of GjG_{j} are linearly independent, this linear combination is unique. Similarly, for j=m1j=m-1 we get

(β0(τ0+1)δ,β0(τ0+2)δ,,β0τ0δ)=β(τ0τm1)δ+δ(β0τm1δ,β0(τm1+1)δ,,β0(τm1+a1)δ),\left(\beta_{0}^{(\tau_{0}+1)\delta},\beta_{0}^{(\tau_{0}+2)\delta},\dots,\beta_{0}^{\tau_{0}\delta}\right)=\beta^{(\tau_{0}-\tau_{m-1})\delta+\delta}\left(\beta_{0}^{\tau_{m-1}\delta},\beta_{0}^{(\tau_{m-1}+1)\delta},\dots,\beta_{0}^{(\tau_{m-1}+a-1)\delta}\right),

which is again unique. However, all these linear combinations must coincide simultaneously when viewing the entire HH^{*}_{\ell}, and so

β0(τ1τ0)δ=β0(τ2τ1)δ==β0(τm1τm2)δ=β0(τ0τm1)δ+δ.\beta_{0}^{(\tau_{1}-\tau_{0})\delta}=\beta_{0}^{(\tau_{2}-\tau_{1})\delta}=\dots=\beta_{0}^{(\tau_{m-1}-\tau_{m-2})\delta}=\beta_{0}^{(\tau_{0}-\tau_{m-1})\delta+\delta}.

Multiplying all of them together we get

(β0(τ1τ0)δ)m=β0(τ1τ0)δβ0(τm1τm2)δβ0(τ0τm1)δ+δ=β0δ.\left(\beta_{0}^{(\tau_{1}-\tau_{0})\delta}\right)^{m}=\beta_{0}^{(\tau_{1}-\tau_{0})\delta}\cdot\ldots\cdot\beta_{0}^{(\tau_{m-1}-\tau_{m-2})\delta}\cdot\beta_{0}^{(\tau_{0}-\tau_{m-1})\delta+\delta}=\beta_{0}^{\delta}.

However, this means that

δm(τ1τ0)δ(moda),\delta m(\tau_{1}-\tau_{0})\equiv\delta\pmod{a},

which completes the proof. ∎

While the last theorem shows us a sufficient condition under which the known code of Construction B may be permuted to a cyclic code, the next theorem shows us that for almost all cases, this condition is in fact necessary. First, we bring a technical proposition.

Proposition 1:

Let aa, rr, δ\delta be positive integers with a=r+δ1a=r+\delta-1, and τ,τa×\tau,\tau^{\prime}\in\mathbb{Z}_{a}^{\times}. If

{iτmoda:1iδ1}{iτmoda:1iδ},\left\{i\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\subseteq\left\{i\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}, (11)

and one of the following conditions holds,

  1. 1.

    δ4\delta\geqslant 4 and r5r\geqslant 5

  2. 2.

    δ=3\delta=3 and r4r\geqslant 4

  3. 3.

    δ=2\delta=2 and r3r\geqslant 3 is odd

then we have τ=τ\tau=\tau^{\prime}.

Proof:

For Case 1, since τ,τa×\tau,\tau^{\prime}\in\mathbb{Z}_{a}^{\times} there exists an a×\ell\in\mathbb{Z}_{a}^{\times} such that ττ(moda)\tau\equiv\ell\tau^{\prime}\pmod{a}. By (11), we have

{(i+1)τmoda:1iδ1}{(iτ+τ)moda:1iδ}={(i+)τmoda:1iδ}.\left\{(i+1)\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\subseteq\left\{(i\tau^{\prime}+\tau)\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}=\left\{(i+\ell)\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}.

Obviously,

|{(i+1)τmoda:1iδ1}{iτmoda:1iδ1}|δ2,\left|\left\{(i+1)\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\cap\left\{i\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\right|\geqslant\delta-2,

and so,

|{iτmoda:1iδ}{(i+)τmoda:1iδ}|δ2,\left|\left\{i\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\cap\left\{(i+\ell)\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\right|\geqslant\delta-2,

and since τa×\tau^{\prime}\in\mathbb{Z}_{a}^{\times},

|{imoda:1iδ}{(i+)moda:1iδ}|δ2.\left|\left\{i\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\cap\left\{(i+\ell)\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\right|\geqslant\delta-2.

Since δ13\delta-1\geqslant 3 and aδ+4a\geqslant\delta+4, we must have {1,2}\ell\in\left\{1,2\right\}. It remains to show that 2\ell\neq 2. Assume to the contrary that =2\ell=2. Similarly, by (11), we have

{(i+2)τmoda:1iδ1}{(iτ+2τ)moda:1iδ}={(i+4)τmoda:1iδ}.\left\{(i+2)\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\subseteq\left\{(i\tau^{\prime}+2\tau)\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}=\left\{(i+4)\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}.

Again,

|{(i+2)τmoda:1iδ1}{iτmoda:1iδ1}|δ3,\left|\left\{(i+2)\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\cap\left\{i\tau\bmod a~{}:~{}1\leqslant i\leqslant\delta-1\right\}\right|\geqslant\delta-3,

which implies that,

|{(i+4)τmoda:1iδ}{iτmoda:1iδ}|δ3,\left|\left\{(i+4)\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\cap\left\{i\tau^{\prime}\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\right|\geqslant\delta-3,

and since τa×\tau^{\prime}\in\mathbb{Z}_{a}^{\times},

|{(i+4)moda:1iδ}{imoda:1iδ}|δ3.\left|\left\{(i+4)\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\cap\left\{i\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\right|\geqslant\delta-3.

However, aδ+4a\geqslant\delta+4 implies that

|{(i+4)moda:1iδ}{imoda:1iδ}|δ4,\left|\left\{(i+4)\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\cap\left\{i\bmod a~{}:~{}1\leqslant i\leqslant\delta\right\}\right|\leqslant\delta-4,

which is a contradiction. Thus, we have =1\ell=1 and τ=τ\tau=\tau^{\prime}.

For Case 2, by (11), we have

{τ,2τmoda}{τ,2τmoda,3τmoda}.\left\{\tau,2\tau\bmod a\right\}\subseteq\left\{\tau^{\prime},2\tau^{\prime}\bmod a,3\tau^{\prime}\bmod a\right\}.

If τ2τ(moda)\tau\equiv 2\tau^{\prime}\pmod{a} then we have 2τ4τ(moda)2\tau\equiv 4\tau^{\prime}\pmod{a}, hence 4τmoda{τ,2τmoda,3τmoda}4\tau^{\prime}\bmod a\in\left\{\tau^{\prime},2\tau^{\prime}\bmod a,3\tau^{\prime}\bmod a\right\}. However, this is impossible since τa×\tau^{\prime}\in\mathbb{Z}_{a}^{\times} and a6a\geqslant 6. Similarly, if τ3τ(moda)\tau\equiv 3\tau^{\prime}\pmod{a} then we have 2τ6τ(moda)2\tau\equiv 6\tau^{\prime}\pmod{a}, hence 6τmoda{τ,2τmoda,3τmoda}6\tau^{\prime}\bmod a\in\left\{\tau^{\prime},2\tau^{\prime}\bmod a,3\tau^{\prime}\bmod a\right\}. Again, this is also impossible since τa×\tau^{\prime}\in\mathbb{Z}_{a}^{\times} and a6a\geqslant 6. Thus, we have τ=τ\tau=\tau^{\prime}.

Finally, for Case 3, by (11) we have {τ}{τ,2τmoda}\left\{\tau\right\}\subseteq\left\{\tau^{\prime},2\tau^{\prime}\bmod a\right\}. Obviously τ2τ(moda)\tau\equiv 2\tau^{\prime}\pmod{a} is impossible since 2|a2|a and a3a\geqslant 3. Thus, τ=τ\tau=\tau^{\prime}. ∎

Theorem 9:

Assume the notation and setting of Construction B. Let 𝒞\mathcal{C} be the resulting code. Denote k=dim(𝒞)=ur+vk=\dim(\mathcal{C})=ur+v with 0<vr0<v\leqslant r and u2(rv+1)u\geqslant 2(r-v+1). Additionally, let a=4a=4 or gcd(a,φ(a))=1\gcd(a,\varphi(a))=1. Furthermore, assume that a=qb1|qb1=na=q^{b^{\prime}}-1|q^{b}-1=n, and that one of the following holds:

  1. 1.

    δ4\delta\geqslant 4 and r5r\geqslant 5

  2. 2.

    δ=3\delta=3 and r4r\geqslant 4

  3. 3.

    δ=2\delta=2 and r3r\geqslant 3 is odd

Then there exists a permutation 𝕊n\ell\in\mathbb{S}_{n} such that 𝒞\mathcal{C}_{\ell} is cyclic only if gcd(m,a)δ\gcd(m,a)\mid\delta.

Proof:

Assume 𝕊n\ell\in\mathbb{S}_{n} is a permutation such that 𝒞\mathcal{C}_{\ell} is cyclic. By Construction B, we have that Gim+iG_{i}\triangleq\left\langle m\right\rangle+i, i[m]i\in[m], are exactly the repair sets of 𝒞\mathcal{C}. Thus, the image sets (Gi){(x):xGi}\ell(G_{i})\triangleq\left\{\ell(x)~{}:~{}x\in G_{i}\right\} are exactly the repair sets of 𝒞\mathcal{C}_{\ell}. Note that 𝒞\mathcal{C} is an optimal LRC, which means that 𝒞\mathcal{C}_{\ell} is also optimal. By Corollary 6, we have

{(Gi):i[m]}={Gi:i[m]}.\left\{\ell(G_{i})~{}:~{}i\in[m]\right\}=\left\{G_{i}~{}:~{}i\in[m]\right\}.

Thus, there exists a sequence of permutations, i\ell_{i} over GiG_{i}, for all i[m]i\in[m], and ziz_{i}\in\mathbb{Z}, such that for all xGix\in G_{i},

(x)=(i(x)+zi)modn,\ell(x)=\left(\ell_{i}(x)+z_{i}\right)\bmod n, (12)

which also implies that (Gi)=Gi+zi\ell(G_{i})=G_{i+z_{i}}, and (z0,,zm1)(z_{0},\dots,z_{m-1}) is a permutation of [m][m]. By assumption, 𝒞\mathcal{C}_{\ell} is cyclic. Hence, 𝒞|Gi\mathcal{C}_{\ell}|_{G_{i}} is also cyclic, for each i[m]i\in[m].

By Construction B, any punctured code, 𝒞|Gi\mathcal{C}|_{G_{i}}, i[m]i\in[m], is a subcode of the code with the (δ1)×a(\delta-1)\times a parity-check matrix (𝟏,𝜷,,𝜷𝒂𝟏)(\bm{1},\bm{\beta},\dots,\bm{\beta^{a-1}}). Recall that 𝒞\mathcal{C} is an optimal LRC. Hence, by Theorem 2, we have that this punctured code, 𝒞|Gi\mathcal{C}|_{G_{i}}, is an [a=r+δ1,r,δ]q[a=r+\delta-1,r,\delta]_{q} MDS code. This implies that its parity-check matrix is exactly (𝟏,𝜷,,𝜷𝒂𝟏)(\bm{1},\bm{\beta},\dots,\bm{\beta^{a-1}}). Since this matrix clearly does not depend on ii, we have 𝒞|Gi=𝒞|Gj\mathcal{C}|_{G_{i}}=\mathcal{C}|_{G_{j}}, for all i,j[m]i,j\in[m]. Additionally, since βa=1\beta^{a}=1, all the punctured codes 𝒞|Gi\mathcal{C}|_{G_{i}} are cyclic.

By Corollary 7, we have that 𝒞|Gi=𝒞|Gj\mathcal{C}_{\ell}|_{G_{i}}=\mathcal{C}_{\ell}|_{G_{j}} for all i,j[m]i,j\in[m], and are all cyclic codes. Thus, a parity-check matrix of 𝒞|Gi\mathcal{C}_{\ell}|_{G_{i}} may be given by

H(𝒞|Gi)=(𝜷𝝉𝒊,𝟎,𝜷𝝉𝒊,𝟏,,𝜷𝝉𝒊,𝒂𝟏).H(\mathcal{C}_{\ell}|_{G_{i}})=(\bm{\beta^{\tau_{i,0}}},\bm{\beta^{\tau_{i,1}}},\cdots,\bm{\beta^{\tau_{i,a-1}}}). (13)

We now have that 0\ell_{0} maps the cyclic code 𝒞|G0\mathcal{C}|_{G_{0}} into a cyclic code 𝒞|G0\mathcal{C}_{\ell}|_{G_{0}}, where we view these codes as indexed by a\mathbb{Z}_{a}. Then, by Lemma 9, we can find a multiplier permutation from Υ(a)\Upsilon(a) that also maps 𝒞|G0\mathcal{C}|_{G_{0}} to 𝒞|G0\mathcal{C}_{\ell}|_{G_{0}}. More concretely, there exists τa×\tau^{\prime}\in\mathbb{Z}_{a}^{\times}, with which we define a permutation

(xm+i)=(xmτ+i)(modn),\ell^{\prime}(xm+i)=(xm\tau^{\prime}+i)\pmod{n},

for all x[a]x\in[a] and i[m]i\in[m]. For this permutation we have 𝒞|Gi=𝒞|Gi\mathcal{C}_{\ell}|_{G_{i}}=\mathcal{C}_{\ell^{\prime}}|_{G_{i}} for all i[m]i\in[m]. Now, a parity-check matrix for 𝒞|Gi\mathcal{C}_{\ell^{\prime}}|_{G_{i}} may be given by

H(𝒞|Gi)=(𝟏,𝜷𝝉,,𝜷𝝉(𝒂𝟏)),H(\mathcal{C}_{\ell^{\prime}}|_{G_{i}})=(\bm{1},\bm{\beta^{\tau^{\prime}}},\cdots,\bm{\beta^{\tau^{\prime}(a-1)}}),

and it must be row-equivalent to H(𝒞|Gi)H(\mathcal{C}_{\ell}|_{G_{i}}) from (13).

We switch our view from the punctured codes to the shortened codes of 𝒞\mathcal{C}. As above, the following shortened codes are all equal, 𝒞|Gi=𝒞|G0\mathcal{C}|^{G_{i}}=\mathcal{C}|^{G_{0}}, for all i[m]i\in[m]. A parity-check matrix for them may be written as

(111𝟏𝜷𝜷𝒂𝟏1βδβδ(a1))=(1111ββa11β2β2(a1)1βδ1β(δ1)(a1)1βδβ(δ)(a1)).\begin{pmatrix}1&1&\cdots&1\\ \bm{1}&\bm{\beta}&\cdots&\bm{\beta^{a-1}}\\ 1&\beta^{\delta}&\cdots&\beta^{\delta(a-1)}\end{pmatrix}=\begin{pmatrix}1&1&\cdots&1\\ 1&\beta&\cdots&\beta^{a-1}\\ 1&\beta^{2}&\cdots&\beta^{2(a-1)}\\ \vdots&\vdots&&\vdots\\ 1&\beta^{\delta-1}&\cdots&\beta^{(\delta-1)(a-1)}\\ 1&\beta^{\delta}&\cdots&\beta^{(\delta)(a-1)}\\ \end{pmatrix}.

By the multiplicative order of β\beta, the codes 𝒞|Gi\mathcal{C}|^{G_{i}} are all cyclic. By Corollary 7, 𝒞|Gi=𝒞|G0\mathcal{C}_{\ell}|^{G_{i}}=\mathcal{C}_{\ell}|^{G_{0}}, for all i[m]i\in[m], and a parity-check matrix for them may be given by

H(𝒞|Gi)=(111𝜷𝝉𝒊,𝟎𝜷𝝉𝒊,𝟏𝜷𝝉𝒊,𝒂𝟏βδτi,0βδτi,1βδτi,a1),H(\mathcal{C}_{\ell}|^{G_{i}})=\begin{pmatrix}1&1&\cdots&1\\ \bm{\beta^{\tau_{i,0}}}&\bm{\beta^{\tau_{i,1}}}&\cdots&\bm{\beta^{\tau_{i,a-1}}}\\ \beta^{\delta\tau_{i,0}}&\beta^{\delta\tau_{i,1}}&\cdots&\beta^{\delta\tau_{i,a-1}}\\ \end{pmatrix}, (14)

where τi,j\tau_{i,j}, i[m]i\in[m], j[a]j\in[a], are the same as those in (13). Once again, 𝒞|Gi\mathcal{C}_{\ell}|^{G_{i}} are all cyclic. Hence, by Lemma 9 we can find a multiplier permutation from Υ(a)\Upsilon(a) that also maps 𝒞|G0\mathcal{C}|^{G_{0}} to 𝒞|G0\mathcal{C}_{\ell}|^{G_{0}}. Namely, there exists τ′′a×\tau^{\prime\prime}\in\mathbb{Z}_{a}^{\times}, with which we define

′′(xm+i)=(xmτ′′+i)(modn),\ell^{\prime\prime}(xm+i)=(xm\tau^{\prime\prime}+i)\pmod{n},

for all x[a]x\in[a] and i[m]i\in[m], such that 𝒞|Gi=𝒞′′|Gi\mathcal{C}_{\ell}|^{G_{i}}=\mathcal{C}_{\ell^{\prime\prime}}|^{G_{i}}, for all i[m]i\in[m]. A parity-check matrix for 𝒞′′|Gi\mathcal{C}_{\ell^{\prime\prime}}|^{G_{i}} may be given by

H(𝒞′′|Gi)=(111𝟏𝜷𝝉′′𝜷𝝉′′(𝒂𝟏)1βδτ′′βδτ′′(a1)),H(\mathcal{C}_{\ell^{\prime\prime}}|^{G_{i}})=\begin{pmatrix}1&1&\cdots&1\\ \bm{1}&\bm{\beta^{\tau^{\prime\prime}}}&\cdots&\bm{\beta^{\tau^{\prime\prime}(a-1)}}\\ 1&\beta^{\delta\tau^{\prime\prime}}&\cdots&\beta^{\delta\tau^{\prime\prime}(a-1)}\\ \end{pmatrix},

and it must be row-equivalent to H(𝒞|Gi)H(\mathcal{C}_{\ell}|^{G_{i}}) from (14).

By the properties of Vandermonde matrices we have for all i[m]i\in[m],

δ+1\displaystyle\delta+1 =rank(111𝜷𝝉𝒊,𝟎𝜷𝝉𝒊,𝟏𝜷𝝉𝒊,𝒂𝟏βδτi,0βδτi,1βδτi,a1)=rank(111𝜷𝝉𝒊,𝟎𝜷𝝉𝒊,𝟏𝜷𝝉𝒊,𝒂𝟏𝜷𝝉𝒊,𝟎𝜷𝝉𝒊,𝟏𝜷𝝉𝒊,𝒂𝟏βδτi,0βδτi,1βδτi,a1)\displaystyle=\operatorname{rank}\begin{pmatrix}1&1&\cdots&1\\ \bm{\beta^{\tau_{i,0}}}&\bm{\beta^{\tau_{i,1}}}&\cdots&\bm{\beta^{\tau_{i,a-1}}}\\ \beta^{\delta\tau_{i,0}}&\beta^{\delta\tau_{i,1}}&\cdots&\beta^{\delta\tau_{i,a-1}}\\ \end{pmatrix}=\operatorname{rank}\begin{pmatrix}1&1&\cdots&1\\ \bm{\beta^{\tau_{i,0}}}&\bm{\beta^{\tau_{i,1}}}&\cdots&\bm{\beta^{\tau_{i,a-1}}}\\ \bm{\beta^{\tau_{i,0}}}&\bm{\beta^{\tau_{i,1}}}&\cdots&\bm{\beta^{\tau_{i,a-1}}}\\ \beta^{\delta\tau_{i,0}}&\beta^{\delta\tau_{i,1}}&\cdots&\beta^{\delta\tau_{i,a-1}}\\ \end{pmatrix}
=rank(111𝟏𝜷𝝉𝜷𝝉(𝒂𝟏)𝟏𝜷𝝉′′𝜷𝝉′′(𝒂𝟏)1βδτ′′βδτ′′(a1)),\displaystyle=\operatorname{rank}\begin{pmatrix}1&1&\cdots&1\\ \bm{1}&\bm{\beta^{\tau^{\prime}}}&\cdots&\bm{\beta^{\tau^{\prime}(a-1)}}\\ \bm{1}&\bm{\beta^{\tau^{\prime\prime}}}&\cdots&\bm{\beta^{\tau^{\prime\prime}(a-1)}}\\ 1&\beta^{\delta\tau^{\prime\prime}}&\cdots&\beta^{\delta\tau^{\prime\prime}(a-1)}\\ \end{pmatrix},

where the last equality holds by the row equivalence of H(𝒞|Gi)H(\mathcal{C}_{\ell}|_{G_{i}}) and H(𝒞|Gi)H(\mathcal{C}_{\ell^{\prime}}|_{G_{i}}), as well as the row equivalence of H(𝒞|Gi)H(\mathcal{C}_{\ell}|^{G_{i}}) and H(𝒞′′|Gi)H(\mathcal{C}_{\ell^{\prime\prime}}|^{G_{i}}). Since r3r\geqslant 3, the above equality implies

{βjτ:1jδ1}{βjτ′′:0jδ}.\left\{\beta^{j\tau^{\prime}}~{}:~{}1\leqslant j\leqslant\delta-1\right\}\subseteq\left\{\beta^{j\tau^{\prime\prime}}~{}:~{}0\leqslant j\leqslant\delta\right\}.

By construction, the multiplicative order of β\beta is o(β)=ao(\beta)=a, and so

o(βτ)=o(β)gcd(τ,o(β))=agcd(τ,a)=a,o(\beta^{\tau^{\prime}})=\frac{o(\beta)}{\gcd(\tau^{\prime},o(\beta))}=\frac{a}{\gcd(\tau^{\prime},a)}=a,

where the last equality follows from the fact that τa×\tau^{\prime}\in\mathbb{Z}_{a}^{\times}. Since a=r+δ1a=r+\delta-1,

1{βjτ:1jδ1}.1\not\in\left\{\beta^{j\tau^{\prime}}~{}:~{}1\leqslant j\leqslant\delta-1\right\}.

Thus,

{βjτ:1jδ1}{βjτ′′:1jδ}.\left\{\beta^{j\tau^{\prime}}~{}:~{}1\leqslant j\leqslant\delta-1\right\}\subseteq\left\{\beta^{j\tau^{\prime\prime}}~{}:~{}1\leqslant j\leqslant\delta\right\}.

Since o(β)=ao(\beta)=a, we have

{jτmoda:1jδ1}{jτ′′moda:1jδ}.\left\{j\tau^{\prime}\bmod a~{}:~{}1\leqslant j\leqslant\delta-1\right\}\subseteq\left\{j\tau^{\prime\prime}\bmod a~{}:~{}1\leqslant j\leqslant\delta\right\}.

Then, by Proposition 1, we have τ=τ′′\tau^{\prime}=\tau^{\prime\prime}.

Denote γβτ=βτ′′\gamma\triangleq\beta^{\tau^{\prime}}=\beta^{\tau^{\prime\prime}}. Thus, (𝟏,𝜸,,𝜸𝒂𝟏)=(𝟏,𝜷𝝉,,𝜷𝝉(𝒂𝟏))(\bm{1},\bm{\gamma},\cdots,\bm{\gamma^{a-1}})=(\bm{1},\bm{\beta^{\tau^{\prime}}},\cdots,\bm{\beta^{\tau^{\prime}(a-1)}}). We now know that the following two matrices are row equivalent,

(111𝟏𝜸𝜸𝒂𝟏1γδγδ(a1))and(111𝟏𝜸𝜸𝒂𝟏βδτi,0βδτi,1βδτi,a1),\begin{pmatrix}1&1&\cdots&1\\ \bm{1}&\bm{\gamma}&\cdots&\bm{\gamma^{a-1}}\\ 1&\gamma^{\delta}&\cdots&\gamma^{\delta(a-1)}\\ \end{pmatrix}\quad\text{and}\quad\begin{pmatrix}1&1&\cdots&1\\ \bm{1}&\bm{\gamma}&\cdots&\bm{\gamma^{a-1}}\\ \beta^{\delta\tau_{i,0}}&\beta^{\delta\tau_{i,1}}&\cdots&\beta^{\delta\tau_{i,a-1}}\\ \end{pmatrix}, (15)

for all i[m]i\in[m]. Recall that β\beta and γ\gamma have the same order, o(β)=o(γ)a=qb1o(\beta)=o(\gamma)a=q^{b^{\prime}}-1, i.e., the entries of the matrices in (15) belong to the field 𝔽qb\mathbb{F}_{q^{b^{\prime}}}. Hence, (βδτi,0,βδτi,1,,βδτi,a1)(\beta^{\delta\tau_{i,0}},\beta^{\delta\tau_{i,1}},\cdots,\beta^{\delta\tau_{i,a-1}}) can be represented as a linear combination

(βδτi,0,βδτi,1,,βδτi,a1)=s=0δηi,s(1,γs,,γs(a1))(\beta^{\delta\tau_{i,0}},\beta^{\delta\tau_{i,1}},\cdots,\beta^{\delta\tau_{i,a-1}})=\sum_{s=0}^{\delta}\eta_{i,s}(1,\gamma^{s},\cdots,\gamma^{s(a-1)}) (16)

where ηi,s𝔽qb𝔽qb\eta_{i,s}\in\mathbb{F}_{q^{b^{\prime}}}\subseteq\mathbb{F}_{q^{b}} for all i[m]i\in[m], s[δ+1]s\in[\delta+1]. We also highlight the fact that ηi,δ0\eta_{i,\delta}\neq 0 for all i[m]i\in[m], for otherwise we would have that the matrix on the right has rank δ\delta whereas the one on the left has rank δ+1\delta+1. For convenience, let us define ξi,jηi,δγδj+ηi,0\xi_{i,j}\triangleq\eta_{i,\delta}\gamma^{\delta j}+\eta_{i,0}, where i[m]i\in[m], j[a]j\in[a].

After focusing on shortened and punctured codes, let us look again at the entire code. If we permute the columns of the parity-check matrix of 𝒞\mathcal{C} using \ell, we arrive at the following parity-check matrix for 𝒞\mathcal{C}_{\ell}, to (14),

H=(𝜷𝝉𝟎,𝟎00𝜷𝝉𝟎,𝟏00𝜷𝝉𝟎,𝒂𝟏000𝜷𝝉𝟏,𝟎00𝜷𝝉𝟏,𝟏00𝜷𝝉𝟏,𝒂𝟏000𝜷𝝉𝒎𝟏,𝟎00𝜷𝝉𝒎𝟏,𝟏00𝜷𝝉𝒎𝟏,𝒂𝟏λz0λz1λzm1λz0λz1λzm1λz0λz1λzm1βδτ0,0βδτ1,0βδτm1,0βδτ0,1βδτ1,1βδτm1,1βδτ0,a1βδτ1,a1βδτm1,a1),H_{\ell}=\left(\begin{array}[]{cccc|cccc|c|cccc}\bm{\beta^{\tau_{0,0}}}&0&\cdots&0&\bm{\beta^{\tau_{0,1}}}&0&\cdots&0&\cdots&\bm{\beta^{\tau_{0,a-1}}}&0&\cdots&0\\ 0&\bm{\beta^{\tau_{1,0}}}&\cdots&0&0&\bm{\beta^{\tau_{1,1}}}&\cdots&0&\cdots&0&\bm{\beta^{\tau_{1,a-1}}}&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&0&\cdots&\bm{\beta^{\tau_{m-1,0}}}&0&0&\cdots&\bm{\beta^{\tau_{m-1,1}}}&\cdots&0&0&\cdots&\bm{\beta^{\tau_{m-1,a-1}}}\\ \lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}&\lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}&\cdots&\lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}\\ \beta^{\delta\tau_{0,0}}&\beta^{\delta\tau_{1,0}}&\cdots&\beta^{\delta\tau_{m-1,0}}&\beta^{\delta\tau_{0,1}}&\beta^{\delta\tau_{1,1}}&\cdots&\beta^{\delta\tau_{m-1,1}}&\cdots&\beta^{\delta\tau_{0,a-1}}&\beta^{\delta\tau_{1,a-1}}&\cdots&\beta^{\delta\tau_{m-1,a-1}}\\ \end{array}\right),

where ziz_{i}, i[m]i\in[m] are the same as in (12), and τi,j\tau_{i,j}, i[m]i\in[m], j[a]j\in[a], are the same as in (13). By (16) and the equivalence of H(𝒞|Gi)H(\mathcal{C}_{\ell}|_{G_{i}}) and H(𝒞|Gi)H(\mathcal{C}_{\ell^{\prime}}|_{G_{i}}), the matrix HH_{\ell} is row equivalent with

H=(𝟏00𝜸00𝜸𝒂𝟏000𝟏00𝜸00𝜸𝒂𝟏000𝟏00𝜸00𝜸𝒂𝟏λz0λz1λzm1λz0λz1λzm1λz0λz1λzm1ξ0,0ξ1,0ξm1,0ξ0,1ξ1,1ξm1,1ξ0,a1ξ1,a1ξm1,a1).H^{\prime}=\left(\begin{array}[]{cccc|cccc|c|cccc}\bm{1}&0&\cdots&0&\bm{\gamma}&0&\cdots&0&\cdots&\bm{\gamma^{a-1}}&0&\cdots&0\\ 0&\bm{1}&\cdots&0&0&\bm{\gamma}&\cdots&0&\cdots&0&\bm{\gamma^{a-1}}&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&0&\cdots&\bm{1}&0&0&\cdots&\bm{\gamma}&\cdots&0&0&\cdots&\bm{\gamma^{a-1}}\\ \lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}&\lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}&\cdots&\lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}\\ \xi_{0,0}&\xi_{1,0}&\cdots&\xi_{m-1,0}&\xi_{0,1}&\xi_{1,1}&\cdots&\xi_{m-1,1}&\cdots&\xi_{0,a-1}&\xi_{1,a-1}&\cdots&\xi_{m-1,a-1}\\ \end{array}\right).

Since HH^{\prime} is also a parity-check matrix for 𝒞\mathcal{C}_{\ell}, which is a cyclic code, adding a dependent row to HH^{\prime} which is a cyclic shift of another row, does not change the code. Hence, we look at the following parity-check matrix for 𝒞\mathcal{C}_{\ell},

H′′=(𝟏00𝜸00𝜸𝒂𝟏000𝟏00𝜸00𝜸𝒂𝟏000𝟏00𝜸00𝜸𝒂𝟏λz0λz1λzm1λz0λz1λzm1λz0λz1λzm1ξ0,0ξ1,0ξm1,0ξ0,1ξ1,1ξm1,1ξ0,a1ξ1,a1ξm1,a1ξ1,0ξ2,0ξ0,1ξ1,1ξ2,1ξ0,2ξ1,a1ξ2,a1ξ0,0).H^{\prime\prime}=\left(\begin{array}[]{cccc|cccc|c|cccc}\bm{1}&0&\cdots&0&\bm{\gamma}&0&\cdots&0&\cdots&\bm{\gamma^{a-1}}&0&\cdots&0\\ 0&\bm{1}&\cdots&0&0&\bm{\gamma}&\cdots&0&\cdots&0&\bm{\gamma^{a-1}}&\cdots&0\\ \vdots&\vdots&&\vdots&\vdots&\vdots&&\vdots&&\vdots&\vdots&&\vdots\\ 0&0&\cdots&\bm{1}&0&0&\cdots&\bm{\gamma}&\cdots&0&0&\cdots&\bm{\gamma^{a-1}}\\ \lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}&\lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}&\cdots&\lambda^{z_{0}}&\lambda^{z_{1}}&\cdots&\lambda^{z_{m-1}}\\ \xi_{0,0}&\xi_{1,0}&\cdots&\xi_{m-1,0}&\xi_{0,1}&\xi_{1,1}&\cdots&\xi_{m-1,1}&\cdots&\xi_{0,a-1}&\xi_{1,a-1}&\cdots&\xi_{m-1,a-1}\\ \hline\cr\xi_{1,0}&\xi_{2,0}&\cdots&\xi_{0,1}&\xi_{1,1}&\xi_{2,1}&\cdots&\xi_{0,2}&\cdots&\xi_{1,a-1}&\xi_{2,a-1}&\cdots&\xi_{0,0}\\ \end{array}\right).

Let us now denote by hh the bottom row of H′′H^{\prime\prime}, and by h2,h1h_{-2},h_{-1} the bottom two rows of HH^{\prime}. We recall that ξi,jηi,δγδj+ηi,0\xi_{i,j}\triangleq\eta_{i,\delta}\gamma^{\delta j}+\eta_{i,0}, and hence,

h|Gi\displaystyle h|_{G_{i}} =(ηi+1,δγ0+ηi+1,0,ηi+1,δγδ+ηi+1,0,,ηi+1,δγδ(a1)+ηi+1,0),\displaystyle=(\eta_{i+1,\delta}\gamma^{0}+\eta_{i+1,0},\eta_{i+1,\delta}\gamma^{\delta}+\eta_{i+1,0},\dots,\eta_{i+1,\delta}\gamma^{\delta(a-1)}+\eta_{i+1,0}), i\displaystyle i [m1]\displaystyle\in[m-1]
h|Gm1\displaystyle h|_{G_{m-1}} =(η0,δγδ+η0,0,η0,δγ2δ+η0,0,,η0,δγ0+η0,0),\displaystyle=(\eta_{0,\delta}\gamma^{\delta}+\eta_{0,0},\eta_{0,\delta}\gamma^{2\delta}+\eta_{0,0},\dots,\eta_{0,\delta}\gamma^{0}+\eta_{0,0}),
h1|Gi\displaystyle h_{-1}|_{G_{i}} =(ηi,δγ0+ηi,0,ηi,δγδ+ηi,0,,ηi,δγδ(a1)+ηi,0),\displaystyle=(\eta_{i,\delta}\gamma^{0}+\eta_{i,0},\eta_{i,\delta}\gamma^{\delta}+\eta_{i,0},\dots,\eta_{i,\delta}\gamma^{\delta(a-1)}+\eta_{i,0}), i\displaystyle i [m]\displaystyle\in[m]
h2|Gi\displaystyle h_{-2}|_{G_{i}} =λzi(1,1,,1).\displaystyle=\lambda^{z_{i}}(1,1,\dots,1). i\displaystyle i [m]\displaystyle\in[m]

We now observe that the last row of H′′|GiH^{\prime\prime}|_{G_{i}} may be shown as a linear combination of the preceding two rows. More precisely, for all i[m]i\in[m],

h|Gi=θi,1h1|Gi+θi,2h2|Gi,h|_{G_{i}}=\theta_{i,1}h_{-1}|_{G_{i}}+\theta_{i,2}h_{-2}|_{G_{i}},

where

θi,1\displaystyle\theta_{i,1} ={ηi+1,δηi,δi[m1],η0,δηm1,δγδi=m1,\displaystyle=\begin{cases}\frac{\eta_{i+1,\delta}}{\eta_{i,\delta}}&i\in[m-1],\\ \frac{\eta_{0,\delta}}{\eta_{m-1,\delta}}\gamma^{\delta}&i=m-1,\\ \end{cases} (17)
θi,2\displaystyle\theta_{i,2} ={ηi+1,0θ1,iηi,0λzii[m1],η0,0θm1,1ηm1,0λzm1i=m1.\displaystyle=\begin{cases}\frac{\eta_{i+1,0}-\theta_{1,i}\eta_{i,0}}{\lambda^{z_{i}}}&i\in[m-1],\\ \frac{\eta_{0,0}-\theta_{m-1,1}\eta_{m-1,0}}{\lambda^{z_{m-1}}}&i=m-1.\end{cases}

Since H′′H^{\prime\prime} is row equivalent with HH^{\prime}, and rank(H|Gi)=δ+1\operatorname{rank}(H^{\prime}|_{G_{i}})=\delta+1 (i.e., full rank), the linear combination above is the unique linear combination of the rows of H|GiH^{\prime}|_{G_{i}} that gives h|Gih|_{G_{i}}. This linear combination does not use the first δ1\delta-1 rows of H|GiH^{\prime}|_{G_{i}}.

Looking at the entire matrix (instead of focusing on the projections onto GiG_{i}), once again, since H′′H^{\prime\prime} is row equivalent with HH^{\prime}, hh must be linear combination of the rows of HH^{\prime}. Since in each projection onto GiG_{i} there is a unique linear combination, all these must simultaneously agree. In particular, this means

θ0,1=θ1,1=θ2,1==θm1,1.\theta_{0,1}=\theta_{1,1}=\theta_{2,1}=\dots=\theta_{m-1,1}.

We recall that 0ηi,δ𝔽qb0\neq\eta_{i,\delta}\in\mathbb{F}_{q^{b^{\prime}}} for all i[m]i\in[m], and γ𝔽qb\gamma\in\mathbb{F}_{q^{b^{\prime}}} is primitive. Thus, we may write

θ0,1=θ1,1=θ2,1==θm1,1=γj,\theta_{0,1}=\theta_{1,1}=\theta_{2,1}=\dots=\theta_{m-1,1}=\gamma^{j}, (18)

for some integer jj. Also, by (17),

η1,δη0,δ=η2,δη1,δ=η3,δη2,δ==ηm1,δηm2,δ=γδη0,δηm1,δ.\frac{\eta_{1,\delta}}{\eta_{0,\delta}}=\frac{\eta_{2,\delta}}{\eta_{1,\delta}}=\frac{\eta_{3,\delta}}{\eta_{2,\delta}}=\dots=\frac{\eta_{m-1,\delta}}{\eta_{m-2,\delta}}=\gamma^{\delta}\frac{\eta_{0,\delta}}{\eta_{m-1,\delta}}. (19)

Now, combining (18) and (19) we get

γjm=i[m]θi,1=γδ.\gamma^{jm}=\prod_{i\in[m]}\theta_{i,1}=\gamma^{\delta}.

Thus,

jmδ(moda).jm\equiv\delta\pmod{a}.

This, in turn, implies that gcd(m,a)δ\gcd(m,a)\mid\delta, as we wanted to prove. ∎

To conclude this section, we make use of Theorem 9 in order to show that Construction A may produce cyclic MR codes with new parameters. Namely, in certain case, the construction of [19], which produces codes with the same parameters as our Construction A, results in codes that are neither cyclic, nor can be permuted to become cyclic.

Example 4:

Set q=3q=3, b1=2b_{1}=2, b=4b=4, r=6r=6, δ=3\delta=3, a=8a=8, n=80n=80, and m=10m=10. By using Construction A, we may generate a cyclic (n=80,r=6,h=2,δ=3,qb=34)(n=80,r=6,h=2,\delta=3,q^{b}=3^{4})-MR code, where we note that gcd(3,10)=1\gcd(3,10)=1. A non-cyclic MR code with the same parameters may be constructed using [19]. However, since gcd(m,a)=gcd(10,8)=23=δ\gcd(m,a)=\gcd(10,8)=2\nmid 3=\delta, by Theorem 9 this code cannot be permuted to become a cyclic code.

V Conclusion

In this paper, we proved a new lower bound on the field size of optimal LRCs. As a byproduct, when r=2r=2 we were able to prove that some known code constructions actually have optimal field size (where we further had to assume that the field size minus 11 or 22 is not a prime power). We then constructed cyclic MR codes. When r=2r=2, these codes also attain the new bound with equality, and therefore have optimal field size (again, assuming the same number-theoretic condition). We concluded by showing a known quasi-cyclic MR code, with the same parameters as our cyclic construction, may sometimes be permuted to become cyclic, and in other cases it may not.

Many open questions remain. First and foremost, the construction for a cyclic MR code in this paper only works for the case of two global parity checks, i.e., h=2h=2. However, in the non-cyclic case, there are a few known constructions of MR codes with h3h\geqslant 3. Finding cyclic MR codes with h3h\geqslant 3 is still an open question.

As a second open question we mention our lower bound on the field size of optimal LRCs. We were able to show it is tight only when r=2r=2. Thus, finding out whether it is tight for cases in which r3r\geqslant 3, or improving it, remains widely open. We leave these questions and others for future work.

In this appendix, we shall prove Theorem 7. To this end, we first recall some definitions and lemmas from [9].

Throughout the appendix we shall assume the coordinate of code of length nn are indexed by n\mathbb{Z}_{n}, and where operations on coordinates are required, they shall be made modulo nn. Let k=ru+vk=ru+v with 0<vr0<v\leqslant r. Denote the set of all the possible repair sets for an LRC 𝒞\mathcal{C} with all-symbol (r,δ)(r,\delta)-locality as

Γ{S:Sn,|S|r+δ1,d(𝒞|S)δ}.\Gamma\triangleq\left\{S~{}:~{}S\subseteq\mathbb{Z}_{n},\left|S\right|\leqslant r+\delta-1,d(\mathcal{C}|_{S})\geqslant\delta\right\}.
Lemma 10 ([8], Lemma 7):

Let 𝒞\mathcal{C} be an [n,k]q[n,k]_{q} linear code with all-symbol (r,δ)(r,\delta)-locality. If for a subset 𝒱Γ\mathcal{V}\subseteq\Gamma, and for all S𝒱S^{\prime}\in\mathcal{V},

|S(S𝒱{S}S)||S|δ+1,\left|S^{\prime}\cap\left(\bigcup_{S\in\mathcal{V}\setminus\left\{S^{\prime}\right\}}S\right)\right|\leqslant\left|S^{\prime}\right|-\delta+1,

then we have

rank(S𝒱S)|S𝒱S||𝒱|(δ1).\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}}S\right)\leqslant\left|\bigcup_{S\in\mathcal{V}}S\right|-\left|\mathcal{V}\right|(\delta-1).

For cyclic LRCs we have the following simple fact.

Lemma 11:

Let 𝒞\mathcal{C} be a cyclic LRC. If SΓS\in\Gamma is a repair set of 𝒞\mathcal{C}, then S+iS+i is also a repair set of 𝒞\mathcal{C}, for all ii\in\mathbb{Z}.

Proof:

Since 𝒞\mathcal{C} is cyclic, 𝒞|S=𝒞|S+i\mathcal{C}|_{S}=\mathcal{C}|_{S+i} for any ii\in\mathbb{Z}. The claim follows immediately by definition. ∎

We are now ready for the main proof.

Proof:

Assume to the contrary that there exists a repair set S^Γ\widehat{S}\in\Gamma and t^\widehat{t}\in\mathbb{Z} such that

0<|S^(S^+t^)|<|S^|.0<\left|\widehat{S}\cap(\widehat{S}+\widehat{t})\right|<\left|\widehat{S}\right|. (20)

As an auxiliary claim, we contend that for any τu/2\tau\leqslant u/2 there exists a 2τ2\tau-subset of 𝒮Γ\mathcal{S}\subseteq\Gamma that satisfies one of the following properties:

  • P1.

    There exists a subset 𝒮𝒮\mathcal{S}^{\prime}\subseteq\mathcal{S} and S𝒮S^{\prime}\in\mathcal{S}^{\prime} such that

    |S|δ+1|S(S𝒮{S}S)|<|S|.\left|S^{\prime}\right|-\delta+1\leqslant\left|S^{\prime}\cap\left(\bigcup_{S\in\mathcal{S}^{\prime}\setminus\left\{S^{\prime}\right\}}S\right)\right|<\left|S^{\prime}\right|. (21)
  • P2.

    The following inequalities hold:

    |𝒮|(r+δ1)|S𝒮S|τ,\displaystyle\left|\mathcal{S}\right|(r+\delta-1)-\left|\bigcup_{S\in\mathcal{S}}S\right|\geqslant\tau, (22)
    |S𝒮S|rank(S𝒮S)+|𝒮|(δ1).\displaystyle\left|\bigcup_{S\in\mathcal{S}}S\right|\geqslant\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)+\left|\mathcal{S}\right|(\delta-1). (23)

We proceed to prove this auxiliary claim by induction on τ\tau.

For the induction base, consider τ=1u/2\tau=1\leqslant u/2. In that case, choose 𝒮=𝒮={S^,S^+t^}\mathcal{S}=\mathcal{S}^{\prime}=\left\{\widehat{S},\widehat{S}+\widehat{t}\right\}. By (20), if additionally, |S^|δ+1|S^(S^+t^)||\widehat{S}|-\delta+1\leqslant|\widehat{S}\cap(\widehat{S}+\widehat{t})|, then P1 holds. Otherwise, by Lemma 10, P2 holds. Thus, the induction base is proved. Now arbitrarily choose i1S^(S^+t^)i_{1}\in\widehat{S}\cap(\widehat{S}+\widehat{t}).

For the induction hypothesis, assume the claim holds for τ\tau, and let 𝒮τ\mathcal{S}_{\tau} be a set that satisfies the claim in that case, i.e., |𝒮τ|=2τ\left|\mathcal{S}_{\tau}\right|=2\tau. For the induction step, we prove it also holds for τ+1\tau+1, as long as τ+1u/2\tau+1\leqslant u/2, namely, that there exists a repair set of repair sets, 𝒮τ+1\mathcal{S}_{\tau+1}, containing 2(τ+1)2(\tau+1) repair sets, that satisfies P1 or P2. We shall make an educated guess as to what 𝒮τ+1\mathcal{S}_{\tau+1} might be, which will work in most cases. When it does not, we shall offer a correction to our initial choice of 𝒮τ+1\mathcal{S}_{\tau+1}.

Since 2τu22\tau\leqslant u-2 we have

rank(S𝒮τS)2τr(u2)r<k.\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\leqslant 2\tau r\leqslant(u-2)r<k.

Hence, there exists an iτ+1ni_{\tau+1}\in\mathbb{Z}_{n} with span({iτ+1})span(S𝒮τS)\operatorname{span}(\left\{i_{\tau+1}\right\})\not\subseteq\operatorname{span}(\bigcup_{S\in\mathcal{S}_{\tau}}S). As our initial guess, we now define the following:

Sτ+1,1\displaystyle S_{\tau+1,1} =S^+iτ+1i1,\displaystyle=\widehat{S}+i_{\tau+1}-i_{1},
Sτ+1,2\displaystyle S_{\tau+1,2} =S^+t^+iτ+1i1,\displaystyle=\widehat{S}+\widehat{t}+i_{\tau+1}-i_{1},
𝒮τ+1\displaystyle\mathcal{S}_{\tau+1} =𝒮τ{Sτ+1,1,Sτ+1,2}.\displaystyle=\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1},S_{\tau+1,2}\right\}.

We observe that Sτ+1,1Sτ+1,2S_{\tau+1,1}\neq S_{\tau+1,2} since they are cyclic rotations by the same amount of S^\widehat{S} and S^+t^\widehat{S}+\widehat{t}, respectively, which by (20), are two distinct sets. Additionally, iτ+1Sτ+1,1Sτ+1,2i_{\tau+1}\in S_{\tau+1,1}\cap S_{\tau+1,2}, and since span({iτ+1})span(S𝒮τS)\operatorname{span}(\left\{i_{\tau+1}\right\})\not\subseteq\operatorname{span}(\bigcup_{S\in\mathcal{S}_{\tau}}S), it follows that Sτ+1,1,Sτ+1,2𝒮τS_{\tau+1,1},S_{\tau+1,2}\not\in\mathcal{S}_{\tau}. Hence, |𝒮τ+1|=2(τ+1)\left|\mathcal{S}_{\tau+1}\right|=2(\tau+1).

If 𝒮τ\mathcal{S}_{\tau} satisfies P1 then trivially so does 𝒮τ+1\mathcal{S}_{\tau+1} and the claim follows. Assume then that SτS_{\tau} only satisfies P2. In particular, by (23),

|S𝒮τS|rank(S𝒮τS)+|𝒮τ|(δ1).\left|\bigcup_{S\in\mathcal{S}_{\tau}}S\right|\geqslant\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)+\left|\mathcal{S}_{\tau}\right|(\delta-1). (24)

Again, if 𝒮τ+1\mathcal{S}_{\tau+1} satisfies P1 then we are done. Otherwise, assume that 𝒮τ+1\mathcal{S}_{\tau+1} does not satisfy P1, which means

|Sτ+1,j(S𝒮τ+1{Sτ+1,j}S)|=|Sτ+1,j|,\left|S_{\tau+1,j}\cap\left(\bigcup_{S\in\mathcal{S}_{\tau+1}\setminus\left\{S_{\tau+1,j}\right\}}S\right)\right|=\left|S_{\tau+1,j}\right|, (25)

or

|Sτ+1,j(S𝒮τ+1{Sτ+1,j}S)|<|Sτ+1,j|δ+1\left|S_{\tau+1,j}\cap\left(\bigcup_{S\in\mathcal{S}_{\tau+1}\setminus\left\{S_{\tau+1,j}\right\}}S\right)\right|<\left|S_{\tau+1,j}\right|-\delta+1 (26)

for j=1,2j=1,2.

If (25) holds for Sτ+1,1S_{\tau+1,1}, then the fact that

0<|Sτ+1,1Sτ+1,2|=|S^(S^+t^)|<|S^|,0<\left|S_{\tau+1,1}\cap S_{\tau+1,2}\right|=\left|\widehat{S}\cap(\widehat{S}+\widehat{t})\right|<\left|\widehat{S}\right|,

means that

|Sτ+1,1(S𝒮τS)|1.\left|S_{\tau+1,1}\cap\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|\geqslant 1. (27)

Recall that span({iτ+1})span(S𝒮τS)\operatorname{span}(\left\{i_{\tau+1}\right\})\not\subseteq\operatorname{span}(\cup_{S\in\mathcal{S}_{\tau}}S), but note that iτ+1Sτ+1,1i_{\tau+1}\in S_{\tau+1,1}, which implies that

|Sτ+1,1(S𝒮τS)|<|Sτ+1,1|δ+1.\left|S_{\tau+1,1}\cap\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|<\left|S_{\tau+1,1}\right|-\delta+1.

Thus, we can find a (δ1)(\delta-1)-subset Sτ+1,1Sτ+1,1S^{*}_{\tau+1,1}\subseteq S_{\tau+1,1} such that rank(Sτ+1,1Sτ+1,1)=rank(Sτ+1,1)\operatorname{rank}(S_{\tau+1,1}\setminus S^{*}_{\tau+1,1})=\operatorname{rank}(S_{\tau+1,1}) and

Sτ+1,1(S𝒮τS)=.S^{*}_{\tau+1,1}\cap\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)=\emptyset.

We therefore have,

rank(Sτ+1,1(S𝒮τS))=rank((Sτ+1,1Sτ+1,1)(S𝒮τS))|Sτ+1,1(Sτ+1,1(S𝒮τS))|+rank(S𝒮τS)|Sτ+1,1(S𝒮τS)|δ+1+|S𝒮τS|2τ(δ1)=|Sτ+1,1(S𝒮τS)|(2τ+1)(δ1),\begin{split}\operatorname{rank}\left(S_{\tau+1,1}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right)&=\operatorname{rank}\left((S_{\tau+1,1}\setminus S^{*}_{\tau+1,1})\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right)\\ &\leqslant\left|S_{\tau+1,1}\setminus\left(S^{*}_{\tau+1,1}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right)\right|+\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\\ &\leqslant\left|S_{\tau+1,1}\setminus\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|-\delta+1+\left|\bigcup_{S\in\mathcal{S}_{\tau}}S\right|-2\tau(\delta-1)\\ &=\left|S_{\tau+1,1}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|-(2\tau+1)(\delta-1),\\ \end{split} (28)

where the second inequality holds by (24). Note that since 𝒮τ\mathcal{S}_{\tau} satisfies P2, by (22),

(2τ+1)(r+δ1)|S𝒮τS|+τ+r+δ1|S𝒮τS|+τ+|Sτ+1,1||Sτ+1,1(S𝒮τS)|+τ+1,(2\tau+1)(r+\delta-1)\geqslant\left|\bigcup_{S\in\mathcal{S}_{\tau}}S\right|+\tau+r+\delta-1\geqslant\left|\bigcup_{S\in\mathcal{S}_{\tau}}S\right|+\tau+\left|S_{\tau+1,1}\right|\geqslant\left|S_{\tau+1,1}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|+\tau+1, (29)

where the last inequality follows from (27). Recall that τ+1u/2\tau+1\leqslant u/2, hence

rank(Sτ+1,1(S𝒮τS))(2τ+1)r(u1)rk1r.\operatorname{rank}\left(S_{\tau+1,1}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right)\leqslant(2\tau+1)r\leqslant(u-1)r\leqslant k-1-r.

It then follows that there exists a repair set S~τ+1,2Γ\widetilde{S}_{\tau+1,2}\in\Gamma such that

span(S~τ+1,2)span(S𝒮τ{Sτ+1,1}S).\operatorname{span}(\widetilde{S}_{\tau+1,2})\not\subseteq\operatorname{span}\left(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S\right).

We now correct our initial guess, and for this case only, set 𝒮τ+1=𝒮τ{Sτ+1,1,S~τ+1,2}\mathcal{S}_{\tau+1}=\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1},\widetilde{S}_{\tau+1,2}\right\}. We therefore have,

rank(S𝒮τ+1S)>rank(S𝒮τ{Sτ+1,1}S).\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right)>\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S\right).

By the last inequality, there exists a (δ1)(\delta-1)-subset S~τ+1,2S~τ+1,2(S𝒮τ{Sτ+1,1}S)\widetilde{S}^{*}_{\tau+1,2}\subseteq\widetilde{S}_{\tau+1,2}\setminus(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S), and then

rank(S𝒮τ+1S)=rank((S~τ+1,2S~τ+1,2)(S𝒮τ{Sτ+1,1}S))|S~τ+1,2(S~τ+1,2(S𝒮τ{Sτ+1,1}S))|+rank(S𝒮τ{Sτ+1,1}S)|S~τ+1,2(S𝒮τ{Sτ+1,1}S)|δ+1+|Sτ+1,1S𝒮τS|(2τ+1)(δ1)=|S𝒮τ+1S|(2τ+2)(δ1),\begin{split}\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right)&=\operatorname{rank}\left((\widetilde{S}_{\tau+1,2}\setminus\widetilde{S}^{*}_{\tau+1,2})\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S\right)\right)\\ &\leqslant\left|\widetilde{S}_{\tau+1,2}\setminus\left(\widetilde{S}^{*}_{\tau+1,2}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S\right)\right)\right|+\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S\right)\\ &\leqslant\left|\widetilde{S}_{\tau+1,2}\setminus\left(\bigcup_{S\in\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1}\right\}}S\right)\right|-\delta+1+\left|S_{\tau+1,1}\cup\bigcup_{S\in\mathcal{S}_{\tau}}S\right|-(2\tau+1)(\delta-1)\\ &=\left|\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right|-(2\tau+2)(\delta-1),\\ \end{split} (30)

where the second inequality holds by (28). By (29) we have,

|𝒮τ+1|(r+δ1)|S𝒮τ+1S|(2τ+1)(r+δ1)|Sτ+1,1(S𝒮τS)|τ+1.\left|\mathcal{S}_{\tau+1}\right|(r+\delta-1)-\left|\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right|\geqslant(2\tau+1)(r+\delta-1)-\left|S_{\tau+1,1}\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|\geqslant\tau+1. (31)

In total, the combination of (30) and (31) shows that the modified 𝒮τ+1\mathcal{S}_{\tau+1} satisfies P2.

We now return to the original 𝒮τ+1=𝒮τ{Sτ+1,1,Sτ+1,2}\mathcal{S}_{\tau+1}=\mathcal{S}_{\tau}\cup\left\{S_{\tau+1,1},S_{\tau+1,2}\right\}. If Sτ+1,2S_{\tau+1,2} satisfies (25), then a similar argument shows we can build a modified 𝒮τ+1\mathcal{S}_{\tau+1} for which P2 holds.

As a final case, we consider the situation where both Sτ+1,1S_{\tau+1,1} and Sτ+1,2S_{\tau+1,2} satisfy (26). In that case, there exist (δ1)(\delta-1)-subsets Sτ+1,jSτ+1,jS^{*}_{\tau+1,j}\subseteq S_{\tau+1,j} with Sτ+1,j(S𝒮τ+1{Sτ+1,j}S)=S^{*}_{\tau+1,j}\cap(\bigcup_{S\in\mathcal{S}_{\tau+1}\setminus\left\{S^{*}_{\tau+1,j}\right\}}S)=\emptyset and rank(Sτ+1,j)=rank(Sτ+1,jSτ+1,j)\operatorname{rank}(S_{\tau+1,j})=\operatorname{rank}(S_{\tau+1,j}\setminus S^{*}_{\tau+1,j}), for j=1,2j=1,2. Thus, we have

rank(S𝒮τ+1S)=rank((Sτ+1,1Sτ+1,1)(Sτ+1,2Sτ+1,2)(S𝒮τS))|((Sτ+1,1Sτ+1,1)(Sτ+1,2Sτ+1,2))(S𝒮τS)|+rank(S𝒮τS)|(Sτ+1,1Sτ+1,2)(S𝒮τS)|2(δ1)+rank(S𝒮τS)|S𝒮τ+1S|(2τ+2)(δ1),\begin{split}\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right)&=\operatorname{rank}\left((S_{\tau+1,1}\setminus S^{*}_{\tau+1,1})\cup(S_{\tau+1,2}\setminus S^{*}_{\tau+1,2})\cup\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right)\\ &\leqslant\left|((S_{\tau+1,1}\setminus S^{*}_{\tau+1,1})\cup(S_{\tau+1,2}\setminus S^{*}_{\tau+1,2}))\setminus\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|+\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\\ &\leqslant\left|(S_{\tau+1,1}\cup S_{\tau+1,2})\setminus\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\right|-2(\delta-1)+\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}_{\tau}}S\right)\\ &\leqslant\left|\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right|-(2\tau+2)(\delta-1),\\ \end{split} (32)

where the last inequality holds by (23). Additionally, by (22), and since iτ+1Sτ+1,1Sτ+1,2i_{\tau+1}\in S_{\tau+1,1}\cap S_{\tau+1,2},

2(τ+1)(r+δ1)|S𝒮τ+1S|2τ(r+δ1)|S𝒮τS|+2(r+δ1)|Sτ+1,1Sτ+1,2|τ+1.2(\tau+1)(r+\delta-1)-\left|\bigcup_{S\in\mathcal{S}_{\tau+1}}S\right|\geqslant 2\tau(r+\delta-1)-\left|\bigcup_{S\in\mathcal{S}_{\tau}}S\right|+2(r+\delta-1)-\left|S_{\tau+1,1}\cup S_{\tau+1,2}\right|\geqslant\tau+1. (33)

By combining (32) and (33) we learn that 𝒮τ+1\mathcal{S}_{\tau+1} satisfies P2, and the auxiliary claim follows.

We turn to prove the main claim. The proof is divided into two cases depending on properties P1 and P2:

Case 1: P1 holds for some τu2\tau\leqslant\frac{u}{2}. Let 𝒮Γ\mathcal{S}\subseteq\Gamma be a 2τ2\tau-subset, 𝒮𝒮\mathcal{S}^{\prime}\subseteq\mathcal{S}, and S𝒮S^{\prime}\in\mathcal{S}^{\prime}, such that (21) holds. By that equation, we can choose a subset 𝒱𝒮{S}\mathcal{V}\subseteq\mathcal{S}^{\prime}\setminus\left\{S^{\prime}\right\} such that rank(S𝒱S)=rank(S𝒮S)\operatorname{rank}(\bigcup_{S\in\mathcal{V}}S)=\operatorname{rank}(\bigcup_{S\in\mathcal{S}^{\prime}}S). Of all such subsets, let us choose 𝒱\mathcal{V} to be minimal, namely, rank(S𝒱S)>rank(S𝒱{A}S)\operatorname{rank}(\bigcup_{S\in\mathcal{V}}S)>\operatorname{rank}(\bigcup_{S\in\mathcal{V}\setminus\left\{A\right\}}S) for any A𝒱A\in\mathcal{V}. Thus, by Lemma 10 we have

rank(S𝒱S)|S𝒱S||𝒱|(δ1).\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}}S\right)\leqslant\left|\bigcup_{S\in\mathcal{V}}S\right|-\left|\mathcal{V}\right|(\delta-1). (34)

Assume 𝒱\mathcal{V} contains ν\nu repairs sets, 𝒱={S1,S2,,Sν}\mathcal{V}=\left\{S_{1},S_{2},\dots,S_{\nu}\right\}. Since each repair set in Γ\Gamma has rank at most rr, and the union of uu repair sets has rank at most urk1ur\leqslant k-1, we can extend 𝒱\mathcal{V} to a uu-set 𝒱Γ\mathcal{V}^{\prime}\subseteq\Gamma such that 𝒱=𝒱{Sν+1,Sν+2,,Su}\mathcal{V}^{\prime}=\mathcal{V}\cup\left\{S_{\nu+1},S_{\nu+2},\dots,S_{u}\right\}, such that each added repair set increases the overall rank, i.e.,

rank(𝒱{Sν+1,Sν+2,,Sν+i})<rank(𝒱{Sν+1,Sν+2,,Sν+i+1})\operatorname{rank}\left(\mathcal{V}\cup\left\{S_{\nu+1},S_{\nu+2},\dots,S_{\nu+i}\right\}\right)<\operatorname{rank}\left(\mathcal{V}\cup\left\{S_{\nu+1},S_{\nu+2},\dots,S_{\nu+i+1}\right\}\right) (35)

for all 1iuν11\leqslant i\leqslant u-\nu-1.

Let Sν+1S^{*}_{\nu+1} be a (δ1)(\delta-1)-subset of Sν+1(S𝒱S)S_{\nu+1}\setminus(\bigcup_{S\in\mathcal{V}}S) and S¯S(S𝒱S)\overline{S^{\prime}}\triangleq S^{\prime}\setminus(\bigcup_{S\in\mathcal{V}}S). In a similar fashion to the analysis above, we have

rank(S𝒱{Sν+1}S)\displaystyle\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}\cup\{S_{\nu+1}\}}S\right) =rank((Sν+1Sν+1)(S𝒱S))\displaystyle=\operatorname{rank}\left((S_{\nu+1}\setminus S^{*}_{\nu+1})\cup\left(\bigcup_{S\in\mathcal{V}}S\right)\right)
{|(Sν+1Sν+1)(S𝒱S)|1+rank(S𝒱S), if S¯Sν+1|(Sν+1Sν+1)(S𝒱S)|+rank(S𝒱S), otherwise\displaystyle\leqslant\begin{cases}|(S_{\nu+1}\setminus S^{*}_{\nu+1})\setminus(\bigcup_{S\in\mathcal{V}}S)|-1+\operatorname{rank}(\bigcup_{S\in\mathcal{V}}S),&\text{ if }\overline{S^{\prime}}\cap S_{\nu+1}\neq\emptyset\\ |(S_{\nu+1}\setminus S^{*}_{\nu+1})\setminus(\bigcup_{S\in\mathcal{V}}S)|+\operatorname{rank}(\bigcup_{S\in\mathcal{V}}S),&\text{ otherwise}\\ \end{cases}
{|Sν+1(S𝒱S)|δ+rank(S𝒱S), if S¯Sν+1|Sν+1(S𝒱S)|δ+1+rank(S𝒱S), otherwise\displaystyle\leqslant\begin{cases}|S_{\nu+1}\setminus(\bigcup_{S\in\mathcal{V}}S)|-\delta+\operatorname{rank}(\bigcup_{S\in\mathcal{V}}S),&\text{ if }\overline{S^{\prime}}\cap S_{\nu+1}\neq\emptyset\\ |S_{\nu+1}\setminus(\bigcup_{S\in\mathcal{V}}S)|-\delta+1+\operatorname{rank}(\bigcup_{S\in\mathcal{V}}S),&\text{ otherwise}\\ \end{cases}
{|Sν+1(S𝒱S)|δ+|S𝒱S||𝒱|(δ1), if S¯Sν+1|Sν+1(S𝒱S)|δ+1+|S𝒱S||𝒱|(δ1), otherwise\displaystyle\leqslant\begin{cases}|S_{\nu+1}\setminus(\bigcup_{S\in\mathcal{V}}S)|-\delta+|\bigcup_{S\in\mathcal{V}}S|-|\mathcal{V}|(\delta-1),&\text{ if }\overline{S^{\prime}}\cap S_{\nu+1}\neq\emptyset\\ |S_{\nu+1}\setminus(\bigcup_{S\in\mathcal{V}}S)|-\delta+1+|\bigcup_{S\in\mathcal{V}}S|-|\mathcal{V}|(\delta-1),&\text{ otherwise}\\ \end{cases}
{|S𝒱{Sν+1}S|(|𝒱|+1)(δ1)1, if S¯Sν+1|S𝒱{Sν+1}S|(|𝒱|+1)(δ1), otherwise\displaystyle\leqslant\begin{cases}|\bigcup_{S\in\mathcal{V}\cup\{S_{\nu+1}\}}S|-(|\mathcal{V}|+1)(\delta-1)-1,&\text{ if }\overline{S^{\prime}}\cap S_{\nu+1}\neq\emptyset\\ |\bigcup_{S\in\mathcal{V}\cup\{S_{\nu+1}\}}S|-(|\mathcal{V}|+1)(\delta-1),&\text{ otherwise}\\ \end{cases}

where to prove the first inequality we use the fact that Sspan(S𝒱S)S^{\prime}\subseteq\operatorname{span}(\bigcup_{S\in\mathcal{V}}S). Repeating the processing, at each iteration adding Sν+2,,SuS_{\nu+2},\dots,S_{u}, we can conclude that

rank(S𝒱S){|S𝒱S|u(δ1)1, if S¯(1iuν1Sν+i)|S𝒱S|u(δ1), otherwise,\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}^{\prime}}S\right)\leqslant\begin{cases}|\bigcup_{S\in\mathcal{V}^{\prime}}S|-u(\delta-1)-1,&\text{ if }\overline{S^{\prime}}\cap(\bigcup_{1\leqslant i\leqslant u-\nu-1}S_{\nu+i})\neq\emptyset\\ |\bigcup_{S\in\mathcal{V}^{\prime}}S|-u(\delta-1),&\text{ otherwise,}\\ \end{cases} (36)

by (34) and (35).

Recall that the rank of the union of uu repair sets, and in particular, 𝒱\mathcal{V}^{\prime}, satisfies rank(S𝒱S)urk1\operatorname{rank}(\bigcup_{S\in\mathcal{V}^{\prime}}S)\leqslant ur\leqslant k-1. Thus, we have a set of coordinates BnB\subseteq\mathbb{Z}_{n}, with S𝒱SB\bigcup_{S\in\mathcal{V}^{\prime}}S\subseteq B and rank(B)=k1\operatorname{rank}(B)=k-1. Consider the set B~BS¯\widetilde{B}\triangleq B\cup\overline{S^{\prime}}. By (36),

|B~|rank(B~)=|B~|rank(B)\displaystyle\left|\widetilde{B}\right|-\operatorname{rank}\left(\widetilde{B}\right)=\left|\widetilde{B}\right|-\operatorname{rank}(B) {|B|rank(B), if S¯(1iuν1Sν+i)|B|rank(B)+1, otherwise\displaystyle\geqslant\begin{cases}|B|-\operatorname{rank}(B),&\text{ if }\overline{S^{\prime}}\cap(\bigcup_{1\leqslant i\leqslant u-\nu-1}S_{\nu+i})\neq\emptyset\\ |B|-\operatorname{rank}(B)+1,&\text{ otherwise}\end{cases}
{|S𝒱S|rank(S𝒱S), if S¯(1iuν1Sν+i)|S𝒱S|rank(S𝒱S)+1, otherwise\displaystyle\geqslant\begin{cases}|\bigcup_{S\in\mathcal{V}^{\prime}}S|-\operatorname{rank}(\bigcup_{S\in\mathcal{V}^{\prime}}S),&\text{ if }\overline{S^{\prime}}\cap(\bigcup_{1\leqslant i\leqslant u-\nu-1}S_{\nu+i})\neq\emptyset\\ |\bigcup_{S\in\mathcal{V}^{\prime}}S|-\operatorname{rank}(\bigcup_{S\in\mathcal{V}^{\prime}}S)+1,&\text{ otherwise}\end{cases}
u(δ1)+1,\displaystyle\geqslant u(\delta-1)+1,

i.e.,

|B~|k+u(δ1).\left|\widetilde{B}\right|\geqslant k+u(\delta-1). (37)

Recall now that for an [n,k,d]q[n,k,d]_{q} code 𝒞\mathcal{C},

d=nmax{|I|:In,rank(𝒞I)=k1}.d=n-\max\left\{\left|I\right|~{}:~{}I\subseteq\mathbb{Z}_{n},\operatorname{rank}(\mathcal{C}_{I})=k-1\right\}.

Thus, by (37), for our code

dnku(δ1).d\leqslant n-k-u(\delta-1).

However, since our code is an optimal LRC,

d=nk+1u(δ1),d=n-k+1-u(\delta-1),

and thus, a have reached a contradiction.

Case 2: P2 holds for all 2τ2\tau-subsets 𝒮Γ\mathcal{S}\subseteq\Gamma, where τu/2\tau\leqslant u/2. Assume first that uu is odd. Denote τ=u12\tau=\frac{u-1}{2}, and arbitrarily pick 𝒮Γ\mathcal{S}\subseteq\Gamma, with |𝒮|=2τ=u1\left|\mathcal{S}\right|=2\tau=u-1. By (22) and (23),

k1rank(S𝒮S)=ur+v1rank(S𝒮S)r+v1+u122r,k-1-\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)=ur+v-1-\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)\geqslant r+v-1+\frac{u-1}{2}\geqslant 2r,

where the last inequality holds by the condition u2(rv+1)u\geqslant 2(r-v+1), and the fact that uu is odd. Thus, we can extend 𝒮\mathcal{S} to 𝒱=𝒮{Su,Su+1}Γ\mathcal{V}^{\prime}=\mathcal{S}\cup\left\{S_{u},S_{u+1}\right\}\subseteq\Gamma with |𝒱|=u+1\left|\mathcal{V}^{\prime}\right|=u+1, such that

rank(S𝒮S)<rank(Su(S𝒮S))<rank(S𝒱S)k1,\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)<\operatorname{rank}\left(S_{u}\cup\left(\bigcup_{S\in\mathcal{S}}S\right)\right)<\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}^{\prime}}S\right)\leqslant k-1,

and

|S𝒱S|rank(S𝒱S)+(u+1)(δ1).\left|\bigcup_{S\in\mathcal{V}^{\prime}}S\right|\geqslant\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}^{\prime}}S\right)+(u+1)(\delta-1).

The fact that rank(S𝒱S)k1\operatorname{rank}(\bigcup_{S\in\mathcal{V}^{\prime}}S)\leqslant k-1 means that we can find a set BnB\subseteq\mathbb{Z}_{n} with S𝒱SB\bigcup_{S\in\mathcal{V}^{\prime}}S\subseteq B and rank(B)=k1\operatorname{rank}(B)=k-1. Then,

|B|k+1=|B|rank(B)|S𝒱S|rank(S𝒱S)(u+1)(δ1).|B|-k+1=|B|-\operatorname{rank}(B)\geqslant\left|\bigcup_{S\in\mathcal{V}^{\prime}}S\right|-\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}^{\prime}}S\right)\geqslant(u+1)(\delta-1).

As in Case 1, we obtain

dnk+1(u+1)(δ1),d\leqslant n-k+1-(u+1)(\delta-1),

which contradicts the minimum distance of an optimal LRC being

d=nk+1u(δ1).d=n-k+1-u(\delta-1).

Assume now that uu is even. Denote τ=u2\tau=\frac{u}{2}, and arbitrarily pick 𝒮Γ\mathcal{S}\subseteq\Gamma, with |𝒮|=2τ=u\left|\mathcal{S}\right|=2\tau=u. By (22) and (23),

k1rank(S𝒮S)=ur+v1rank(S𝒮S)v1+u2r,k-1-\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)=ur+v-1-\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)\geqslant v-1+\frac{u}{2}\geqslant r,

where the last inequality holds by the condition u2(rv+1)u\geqslant 2(r-v+1). Thus, we can extend 𝒮\mathcal{S} to 𝒱=𝒮{Su+1}Γ\mathcal{V}^{\prime}=\mathcal{S}\cup\left\{S_{u+1}\right\}\subseteq\Gamma with |𝒱|=u+1\left|\mathcal{V}^{\prime}\right|=u+1, such that

rank(S𝒮S)<rank(S𝒱S)k1,\operatorname{rank}\left(\bigcup_{S\in\mathcal{S}}S\right)<\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}^{\prime}}S\right)\leqslant k-1,

and

|S𝒱S|rank(S𝒱S)+(u+1)(δ1).\left|\bigcup_{S\in\mathcal{V}^{\prime}}S\right|\geqslant\operatorname{rank}\left(\bigcup_{S\in\mathcal{V}^{\prime}}S\right)+(u+1)(\delta-1).

We now continue exactly as in the case of odd uu to obtain a contradiction.

In all of the above cases, we have reached a contradiction. Hence, our assumption that there exist S^Γ\widehat{S}\in\Gamma and t^\widehat{t}\in\mathbb{Z} such that 0<|S^(S^+t^)|<|S^|0<|\widehat{S}\cap(\widehat{S}+\widehat{t})|<|\widehat{S}| is incorrect, and the main claim of the theorem follows. ∎

References

  • [1] A. Agarwal, A. Barg, S. Hu, A. Mazumdar, and I. Tamo, “Combinatorial alphabet-dependent bounds for locally recoverable codes,” IEEE Transactions on Information Theory, vol. 64, no. 5, pp. 3481–3492, 2018.
  • [2] A. Beemer, R. Coatney, V. Guruswami, H. H. López, and F. Piñero, “Explicit optimal-length locally repairable codes of distance 5,” in 2018 56th Annual Allerton Conference on Communication, Control, and Computing (Allerton).   IEEE, 2018, pp. 800–804.
  • [3] M. Blaum, J. L. Hafner, and S. Hetzler, “Partial-MDS codes and their application to RAID type of architectures,” IEEE Transactions on Information Theory, vol. 59, no. 7, pp. 4510–4519, 2013.
  • [4] M. Blaum, J. S. Plank, M. Schwartz, and E. Yaakobi, “Construction of partial MDS and sector-disk codes with two global parity symbols,” IEEE Transactions on Information Theory, vol. 62, no. 5, pp. 2673–2681, 2016.
  • [5] V. R. Cadambe and A. Mazumdar, “Bounds on the size of locally recoverable codes,” IEEE transactions on information theory, vol. 61, no. 11, pp. 5787–5794, 2015.
  • [6] H. Cai, M. Cheng, C. Fan, and X. Tang, “Optimal locally repairable systematic codes based on packings,” IEEE Transactions on Communications, vol. 67, no. 1, pp. 39–49, 2019.
  • [7] H. Cai, C. Fan, Y. Miao, M. Schwartz, and X. Tang, “Optimal locally repairable codes: An improved bound and constructions,” IEEE Transactions on Information Theory, vol. 68, no. 8, pp. 5060–5074, Aug. 2022.
  • [8] H. Cai, Y. Miao, M. Schwartz, and X. Tang, “On optimal locally repairable codes with multiple disjoint repair sets,” IEEE Transactions on Information Theory, vol. 66, no. 4, pp. 2402–2416, 2020.
  • [9] ——, “On optimal locally repairable codes with super-linear length,” IEEE Transactions on Information Theory, vol. 66, no. 8, pp. 4853–4868, 2020.
  • [10] ——, “A construction of maximally recoverable codes with order-optimal field size,” IEEE Transactions on Information Theory, vol. 68, no. 1, pp. 204–212, 2022.
  • [11] H. Cai and M. Schwartz, “On optimal locally repairable codes and generalized sector-disk codes,” IEEE Transactions on Information Theory, vol. 67, no. 2, pp. 686–704, 2021.
  • [12] B. Chen, W. Fang, S.-T. Xia, J. Hao, and F.-W. Fu, “Improved bounds and Singleton-optimal constructions of locally repairable codes with minimum distance 5 and 6,” IEEE Transactions on Information Theory, vol. 67, no. 1, pp. 217–231, 2021.
  • [13] B. Chen, S.-T. Xia, J. Hao, and F.-W. Fu, “Constructions of optimal cyclic (r,δ)(r,\delta) locally repairable codes,” IEEE Transactions on Information Theory, vol. 64, no. 4, pp. 2499–2511, 2018.
  • [14] Z. Chen and A. Barg, “Cyclic LRC codes with hierarchy and availability,” in 2020 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2020, pp. 616–621.
  • [15] R. Gabrys, E. Yaakobi, M. Blaum, and P. H. Siegel, “Constructions of partial MDS codes over small fields,” IEEE Transactions on Information Theory, vol. 65, no. 6, pp. 3692–3701, 2019.
  • [16] P. Gopalan, C. Huang, B. Jenkins, and S. Yekhanin, “Explicit maximally recoverable codes with locality,” IEEE Transactions on Information Theory, vol. 60, no. 9, pp. 5245–5256, 2014.
  • [17] P. Gopalan, C. Huang, H. Simitci, and S. Yekhanin, “On the locality of codeword symbols,” IEEE Transactions on Information Theory, vol. 58, no. 11, pp. 6925–6934, 2012.
  • [18] S. Gopi and V. Guruswami, “Improved maximally recoverable LRCs using skew polynomials,” arXiv preprint arXiv:2012.07804, 2020.
  • [19] S. Gopi, V. Guruswami, and S. Yekhanin, “Maximally recoverable LRCs: A field size lower bound and constructions for few heavy parities,” IEEE Transactions on Information Theory, vol. 66, no. 10, pp. 6066–6083, 2020.
  • [20] V. Guruswami, L. Jin, and C. Xing, “Constructions of maximally recoverable local reconstruction codes via function fields,” IEEE Transactions on Information Theory, vol. 66, no. 10, pp. 6133–6143, 2020.
  • [21] V. Guruswami, C. Xing, and C. Yuan, “How long can optimal locally repairable codes be?” IEEE Transactions on Information Theory, vol. 65, no. 6, pp. 3662–3670, 2019.
  • [22] J. Hao and S.-T. Xia, “Constructions of optimal binary locally repairable codes with multiple repair groups,” IEEE Communications Letters, vol. 20, no. 6, pp. 1060–1063, 2016.
  • [23] G. Hu and S. Yekhanin, “New constructions of SD and MR codes over small finite fields,” in 2016 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2016, pp. 1591–1595.
  • [24] C. Huang, M. Chen, and J. Li, “Pyramid codes: Flexible schemes to trade space for access efficiency in reliable data storage systems,” ACM Transactions on Storage (TOS), vol. 9, no. 1, pp. 1–28, 2013.
  • [25] L. Jin, “Explicit construction of optimal locally recoverable codes of distance 5 and 6 via binary constant weight codes,” IEEE Transactions on Information Theory, vol. 65, no. 8, pp. 4658–4663, 2019.
  • [26] G. Kim and J. Lee, “Locally repairable codes with unequal local erasure correction,” IEEE Transactions on Information Theory, vol. 64, no. 11, pp. 7137–7152, 2018.
  • [27] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes.   Elsevier, 1977.
  • [28] U. Martínez-Peñas and F. R. Kschischang, “Universal and dynamic locally repairable codes with maximal recoverability via sum-rank codes,” IEEE Transactions on Information Theory, vol. 65, no. 12, pp. 7790–7805, 2019.
  • [29] P. P. Pálfy, “Isomorphism problem for relational structures with a cyclic automorphism,” European Journal of Combinatorics, vol. 8, no. 1, pp. 35–43, 1987.
  • [30] J. S. Plank and M. Blaum, “Sector-disk (SD) erasure codes for mixed failure modes in RAID systems,” ACM Transactions on Storage (TOS), vol. 10, no. 1, pp. 1–17, 2014.
  • [31] N. Prakash, G. M. Kamath, V. Lalitha, and P. V. Kumar, “Optimal linear codes with a local-error-correction property,” in 2012 IEEE International Symposium on Information Theory Proceedings.   IEEE, 2012, pp. 2776–2780.
  • [32] J. Qian and L. Zhang, “New optimal cyclic locally recoverable codes of length n=2(q+1)n=2(q+1),” IEEE Transactions on Information Theory, vol. 66, no. 1, pp. 233–239, 2019.
  • [33] J. Qiu, D. Zheng, and F.-W. Fu, “New constructions of optimal cyclic (r,δ)(r,\delta) locally repairable codes from their zeros,” IEEE Transactions on Information Theory, vol. 67, no. 3, pp. 1596–1608, 2021.
  • [34] A. S. Rawat, O. O. Koyluoglu, N. Silberstein, and S. Vishwanath, “Optimal locally repairable and secure codes for distributed storage systems,” IEEE Transactions on Information Theory, vol. 60, no. 1, pp. 212–236, 2014.
  • [35] A. S. Rawat, D. S. Papailiopoulos, A. G. Dimakis, and S. Vishwanath, “Locality and availability in distributed storage,” IEEE Transactions on Information Theory, vol. 62, no. 8, pp. 4481–4493, 2016.
  • [36] B. Sasidharan, G. K. Agarwal, and P. V. Kumar, “Codes with hierarchical locality,” in 2015 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2015, pp. 1257–1261.
  • [37] W. Song, S. H. Dau, C. Yuen, and T. J. Li, “Optimal locally repairable linear codes,” IEEE Journal on Selected Areas in Communications, vol. 32, no. 5, pp. 1019–1036, 2014.
  • [38] I. Tamo and A. Barg, “A family of optimal locally recoverable codes,” IEEE Transactions on Information Theory, vol. 60, no. 8, pp. 4661–4676, 2014.
  • [39] I. Tamo, A. Barg, S. Goparaju, and R. Calderbank, “Cyclic LRC codes, binary LRC codes, and upper bounds on the distance of cyclic codes,” International Journal of Information and Coding Theory, vol. 3, no. 4, pp. 345–364, 2016.
  • [40] A. Wang and Z. Zhang, “Repair locality with multiple erasure tolerance,” IEEE Transactions on Information Theory, vol. 60, no. 11, pp. 6979–6987, 2014.
  • [41] ——, “An integer programming-based bound for locally repairable codes,” IEEE Transactions on Information Theory, vol. 61, no. 10, pp. 5280–5294, 2015.
  • [42] T. Westerbäck, R. Freij-Hollanti, T. Ernvall, and C. Hollanti, “On the combinatorics of locally repairable codes via matroid theory,” IEEE Transactions on Information Theory, vol. 62, no. 10, pp. 5296–5315, 2016.
  • [43] C. Xing and C. Yuan, “Construction of optimal locally recoverable codes and connection with hypergraph,” in 46th International Colloquium on Automata, Languages, and Programming (ICALP 2019).   Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2019.
  • [44] A. Zeh and E. Yaakobi, “Bounds and constructions of codes with multiple localities,” in 2016 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2016, pp. 640–644.