We consider matrix-product codes $${[C_1\cdots C_s] \cdot A}$$ , where $${C_1, \ldots , C_s}$$ are nested linear codes and matrix A has full rank. We compute their minimum distance and provide a decoding algorithm when A is a non-singular by columns matrix. The decoding algorithm decodes up to half of the minimum distance.

ResearchGate Logo

Discover the world's research

  • 20+ million members
  • 135+ million publications
  • 700k+ research projects

Join for free

Construction and decoding of matrix-product

codes from nested codes

Fernando Hernando Kristine LallyDiego Ruano§

Abstract

We consider matrix-product codes [C1 · · · Cs ]· A , where C1 ,...,C s

are nested linear codes and matrix Ahas full rank. We compute their

minimum distance and provide a decoding algorithm when Ais a non-

singular by columns matrix. The decoding algorithm decodes up to half

of the minimum distance.

1 Introduction

We consider the matrix-product construction, [C1 · · · Cs ]·A , introduced by

Blackmore and Norton in [2] which may also be seen as a generalization of

the Plotkin (u| u +v )-construction. In [2] a lower bound for the minimum dis-

tance when the matrix Ahas a certain property, called non-singular by columns,

is obtained. Moreover, this bound is sharp if the non-singular by columns ma-

trix is triangular. The same construction and a similar lower bound for the

minimum distance are also given by ¨

Ozbudak and Stichtenoth in [9], but for an

arbitrary matrix A . In the particular case of non-singular by columns matrices

the bounds coincide. The construction in [9] is a generalization of the one in

[8]. See also [1] and [7] for other generalizations.

In this paper we prove that the lower bound given in [9] is sharp when

the codes C1 , . . . , Cs are nested. This key property also enables an efficient

decoding procedure for a class of matrix-product codes. In section 3 we provide

a decoding algorithm for matrix-product codes where the codes C1 , . . . , Cs are

nested and the matrix Ais non-singular by columns. This decoding algorithm

decodes up to half of the minimum distance.

In section 4 we consider the matrix-product construction when C1 , . . . , Cs

are cyclic codes. The resulting codes are quasi-cyclic codes. The quasi-cyclic

class of codes is the natural generalization of the cyclic class, and acquired a

special interest after it was shown that some codes in this class meet a modified

The work of F. Hernando is supported in part by the Claude Shannon Institute, Science

Foundation Ireland Grant 06/MI/006 (Ireland) and by MEC MTM2007-64704 and Junta de

CyL VA025A07 (Spain). The work of D. Ruano is supported in part by DTU, H.C. Oersted

post doc. grant (Denmark) and by MEC MTM2007-64704 and Junta de CyL VA065A07

(Spain)

Department of Mathematics, University College Cork, Cork, Ireland. F.Hernando@ucc.ie

Department of Mathematics and Statistics, RMIT University, Melbourne, Australia.

kristine.lally@rmit.edu.au

§Department of Mathematics, Technical University of Denmark, Matematiktorvet, Build-

ing 303, DK-2800, Kgs. Lyngby, Denmark. D.Ruano@mat.dtu.dk

1

Gilbert-Varshamov bound [3]. Applying our previous results to this case, we

provide the minimum distance and a decoding algorithm for a class of quasi-

cyclic codes.

2 Matrix-Product Codes

We follow the Blackmore and Norton approach in [2] to introduce matrix-

product codes. With this setting, one can define large codes from small ones.

Definition 2.1. Let C1 , . . . , Cs Fm

qbe linear codes of length mand a matrix

A= ( ai,j ) ∈ M( Fq , s × l ), with s l . The matrix-product code C =

[C1 · · · Cs ]·A is the set of all matrix-products [c1 · · · cs ]·A where ci Ci is an

m×1 column vector ci = (c1,i , . . . , cm,i )T for i = 1, . . . , s. Therefore, a typical

codeword cis

c=

c1,1 a1,1 + · · · + c1,s as,1 · · · c1,1 a1,l + · · · + c1,s as,l

.

.

... . .

.

.

cm,1 a1,1 + · · · + cm,s as,1 · · · cm,1 a1,l + · · · + cm,s as,l

.(1)

The matrix-product construction is also presented by ¨

Ozbudak and Stichtenoth

in [9]. Clearly the i -th column of any codeword is an element of the form

Ps

j=1 a j,i c j F m

q, therefore reading the entries of the m× l -matrix above in

column-major order, the codewords can be viewed as vectors of length ml,

c=

s

X

j=1

aj,1 cj ,...,

s

X

j=1

aj,lcj

Fml

q.(2)

Henceforth we will use either notation (1) or (2) as required without further

comment.

From the above construction it follows that a generator matrix of Cis of the

form:

G=

a1,1 G1a1,2 G1 · · · a1,s G1 · · · a1,l G1

a2,1 G2a2,2 G2 · · · a2,s G2 · · · a2,l G2

.

.

..

.

.· · · .

.

.· · · .

.

.

as,1 Gsas,2 Gs · · · as,sGs · · · as,l Gs

,

where Gi is a generator matrix of Ci ,i = 1, . . . , s . Moreover, if Ci is a [m, ki, di ]

code then one has that [C1 · · · Cs ]·A is a linear code over Fq with length lm and

dimension k = k1 + · · · +ks if the matrix Ahas full rank and k < k1 + · · · +k s

otherwise. In the following we assume Ahas full rank.

Let us denote by Ri = (ai,1 , . . . , ai,l ) the element of F l

qconsisting of the i-th

row of A , for i = 1, . . . , s . We denote by Di the minimum distance of the code

CR i generated by h R1 , . . . , Ri i in Fl

q. In [9] the following lower bound for the

minimum distance of the matrix-product code C is obtained,

d( C) min{ d1 D1 , d2 D2 , . . . , ds Ds } , (3)

where di is the minimum distance of Ci .

2

Considering the lower bound (3), since D1 ≥ · · · ≥ Ds , it is clear that, to

obtain a matrix-product code with good parameters, it is advisable to choose

Cj with minimum distance greater than or equal to that of Cj1 . To this aim

it is therefore also advisable to choose Cj with dimension less than or equal to

that of Cj1 . In particular it is wise to choose C1 with large dimension and

Cs with large minimum distance. For this reason, henceforth we will assume

that C1 , . . . , Cs are nested codes, C1 C2 ⊃ · · · ⊃ Cs , and this condition is not

particularly restrictive. It follows that d1 ≤ · · · ≤ ds . Introducing this property

allows us to obtain several results: the following theorem for computing the

minimum distance and a decoding algorithm in the next section.

Theorem 2.2. Let C be the matrix-product code [ C1 · · · Cs ]· A where C1 C2

· · · Cs are linear codes and matrix A ∈ M( Fq , s ×l) has full rank. Then, the

minimum distance of Cis

d( C ) = min{ d1 D1 , d2 D2 , . . . , ds Ds } , (4)

where di = d(Ci ) , Di = d ( C R i ) and CR i is as described above.

Proof. From [9] we have d (C ) min{d1 D1 , d2 D2 , . . . , ds Ds } (this result is also

valid for C1 , . . . , Cs non-nested). We include a rewriting of the proof here for

completeness. Any codeword of C is of the form c = [c1 · · · cs ]·A . Let us suppose

that cr 6 = 0 and ci = 0 for all i > r. It follows that [cj,1 · · · c j,s ]·A CR r for

j= 1 , . . . , m, where cj,i is the j -th component of the word ci . Since cr 6= 0 it

has at least dr non-zero components. Suppose ci v ,r 6 = 0, for v= 1, . . . , dr . For

each v = 1, . . . , dr , the product [ci v ,1 · · · ci v ,s ]·A is a non-zero codeword in C R r,

since A has full rank. Therefore the weight of [ci v ,1 · · · ci v ,s ]·A is greater than

or equal to Dr and the weight of cis greater than or equal to dr Dr .

In order to see that the above bound is sharp, we construct a codeword with

weight dr Dr , for each r = 1, . . . ,s . Choose c1 , . . . , cr such that c1 = · · · = cr ,

(this is possible since the codes are nested), with wt ( c1 ) = dr , and cr+1 = . . . =

cs = 0. Let f= P r

i=1 f i R i , with f i F q , be a word in C R rof weight D r . If

c0

i=f i c i then

s

X

j=1

aj,1 c 0

j,...,

s

X

j=1

aj,l c0

j

=c1

r

X

j=1

aj,1 fj ,...,

r

X

j=1

aj,lfj

=c1f,

is a codeword in Cwith weight drDr , and the result holds.

Example 2.3. Consider the ternary linear codes C1 , C2, C3 with generator

matrices

G1 =

111

021

001

, G 2 = 111

021 , G3 = 111 ,

respectively. The parameters of these codes are [3, 3, 1], [3, 2, 2] and [3, 1,3],

respectively, and the codes are nested, C1 C2 C3 . Here d1 = 1, d2 = 2 and

d3 = 3.

3

We consider the matrix-product code C = [C1C2C3 ]·A where

A=

111

021

001

.(5)

The minimum distances of the codes C R i , i = 1, 2, 3 obtained from the matrix

Aare D1 = 3, D2 = 2 and D3 = 1.

On construction we find that Cis a [9,6] code. Applying Theorem 2.2 we

find that the minimum distance of Cis min{d1D1 , d2 D2 , d3 D3 } = 3. We note

that 3 is the largest possible minimum distance for a [9, 6] linear code over F3 .

Remark 2.4. If the codes C1 , . . . , Cs are not nested then the lower bound (3)

for the minimum distance is not necessarily sharp, that is, Theorem 2.2 does

not hold, as the following example shows.

Example 2.5. Consider the ternary cyclic codes C1 , C2, C3, C4 with generator

polynomials f1 = (x + 2)(x+ 1), f2 = (x2 + 1)(x+ 2), f3 = (x2 + 1) and

f4 = ( x2 + 1)( x + 1) respectively. Notice that since f1 - f2 , the codes are not

nested. The parameters of these codes are [4, 2, 2], [4, 1, 4], [4, 2, 2] and [4, 1, 4]

respectively. So here d1 = 2, d2 = 4, d3 = 2 and d4 = 4.

Consider C = [C1C2C3 C4 ]·A , where

A=

1111

0111

0011

0001

.(6)

The minimum distances of the codes CR i , i = 1,..., 4 obtained from the matrix

Aare D1 = 4, D2 = 1, D3 = 1 and D4 = 1.

On construction we find that Cis a [16, 6, 4] code. However, the lower bound

for the minimum distance is only min{d1D1 , d2 D2 , d3 D3 , d4 D4 } = 2.

In [2], the following condition for the matrix Ais introduced.

Definition 2.6. [2] Let A be a s× l matrix and At be the matrix consisting of

the first t rows of A . For 1 j1 < · · · < jt l , we denote by A ( j1 , . . . , jt ) the

t× tmatrix consisting of the columns j1 , . . . , jt of At .

A matrix A is non-singular by columns if A ( j1 , . . . , jt ) is non-singular

for each 1 ts and 1 j1 < · · · < jt l . In particular, a non-singular by

columns matrix Ahas full rank.

By [2] a non-singular by columns matrix Adefines MDS codes CR i , for

i= 1 , . . . , s. Also in [2] the following lower bound for the minimum distance of

a matrix-product code with Anon-singular by columns is obtained,

d( C) min{ ld1 , ( l 1)d2 ,..., ( l s + 1)ds } . (7)

This bound is the particular case of (3) when Di =l i + 1. Moreover, it

was shown in [2] that if Ais non-singular by columns and triangular, (i.e. it is

a column permutation of an upper triangular matrix), then the bound (7) for

the minimum distance is sharp. Here we can deduce, by applying Theorem 2.2,

that if Ais non-singular by columns and the codes C1 , . . . , Cs are nested, then

this bound (7) is also sharp. It is known from [2] that, for s 2 there exists an

s× lnon-singular by columns matrix over Fq if and only if s l q .

4

3 Decoding Algorithm

In this section, we present a decoding algorithm for a class of matrix-product

codes: namely, we consider s nested linear codes C1 , . . . , Cs Fm

qand a non-

singular by columns matrix A ∈ M (Fq , s × l ), where s l (see definition 2.6).

We provide a decoding algorithm for the matrix-product code C = [C1 · · · Cs ] ·

AFml

q, assuming that we have a decoding algorithm DC i for C i which decodes

up to ti = b ( di 1)/2c errors, for i = 1, . . . , s . We assume that each DCi answers

"failure" if there is no codeword in Ci within distance b (di 1)/ 2c of the received

word.

A codeword in Chas the form c = (P s

j=1 a j,1 c j ,..., P s

j=1 a j,l c j ), where c j

Cj , for all j. Since we consider C1 , . . . , Cs to be nested codes, C1 · · · Cs ,

each block P s

j=1 a j,i c j of c is a codeword in C 1 . A first approach to decoding

might be to decode each block of a received word by decoder DC1 . However,

with this approach, we may not achieve the error correcting capability of the

code. A more sophisticated approach takes place here where we use the decoders

DCi , for i = 1 , . . . , s, in a such a way that we can always decode up to the full

error correcting capability of the code, that is, our decoding algorithm for C

decodes up to half of the minimum distance

d( C ) = min{ ld1 , ( l 1)d2 ,..., ( l s + 1)ds } . (8)

We first describe the main steps in our decoding algorithm. The algorithm

is outlined as a whole in procedural form in Algorithm 1.

Consider the codeword c = (P s

j=1 a j,1c j ,..., P s

j=1 a j,l c j ), for some c j

Cj , for all j. Suppose that cis sent and that we receive p =c + e , where

e= (e1 , e2, . . . , el ) Fml

qis an error vector. Let {i 1 , . . . , i s }⊂{ 1, . . . , l} be

an ordered subset of indices. We now also suppose that esatisfies the extra

property that

wt( ei j ) tj for all j ∈ {1 , . . . , s} . (9)

We denote by pi = P s

j=1 a j,i c j +e i F m

qthe i-th block of p, for i = 1 , . . . , l.

Since C1 · · · Cs , each block P s

j=1 a j,i c j of c is a codeword of C 1 .

Therefore, we decode the i1 -th block pi 1 of p using DC1 . Since wt (ei 1 ) t1 we

obtain ei 1 and P s

j=1 a j,i 1c j .

We do not know c1 , but we can eliminate it in every other block in the

following way: we consider a new vector p2) Fml

qwith components

p2)

i=p i a 1,i

a1,i1

(pi 1 e i 1 ) =

s

X

j=2

a2)

j,ic j +e i ,for i 6 = i 1 ,

where a2)

j,i =a j,i a 1,i

a1,i1 a j,i 1 , and p 2)

i1 =p i 1e i 1. Since A is a non-singular

by columns matrix, the elements of the first row of Aare non-zero, and so the

denominator a1,i1 is non-zero.

Since C2 · · · Cs , we notice that the i -th block of p2) is a codeword of

C2 plus the error block ei , for i ∈ {1 , . . . , s }\{ i1 }. We now decode the i2 -th

block p2)

i2 =P s

j=2 a 2)

j,i2 c j +e i 2 of p 2) using DC 2 . Since w (e i 2)t 2 we obtain

ei 2 and P s

j=2 a 2)

j,i2 c j .

5

As before, we do not know c2 , but we can eliminate it in every other block

as follows: we consider a new vector p3) Fml

qwith components

p3)

i=p2)

ia 2)

2,i

a2)

2,i2

(p 2)

i2 e i 2 ) =

s

X

j=3

a3)

j,ic j +e i ,for i 6 = i 1 , i 2 ,

where a3)

j,i =a 2)

j,i a 2)

2,i

a2)

2,i 2

a2)

j,i2 ,p 3)

i1 =p 2)

i1 and p 3)

i2 =p2)

i2 e i 2.

Notice that the i-th block of p3) is a codeword of C3 plus the error block ei ,

for i ∈ { 1 , . . . , s}\{ i1 , i2 }.

Then we iterate this process, defining pk) for k = 3, . . . , s , and decoding

the ik -th block using DCk . In this way, we obtain the error blocks ei , and

the corresponding codeword blocks P s

j=1 a j,i c j , for i∈ {i 1 , . . . , i s }. The vector

(P s

j=1 a j,i 1c j ,..., P s

j=1 a j,i sc j ) formed from these sdecoded blocks is equal to

the product [c1 · · · cs ]·A ( i1 , . . . , is ), where A ( i1 , . . . , is ) is the s× s -submatrix of

Aconsisting of the columns i1 , . . . , is . Since this matrix is full rank, we can now

easily compute c1 , . . . , cs by inverting A (i1 , . . . , is ) or solving the corresponding

linear system. Finally we recover the remaining l s codeword blocks "for free"

(i.e. no decoding procedure is involved for these blocks) by simply recomputing

the entire codeword c = [c1 · · · cs ]·A = (P s

j=1 a j,1 c j ,..., P s

j=1 a j,l c j ), since we

know the cj 's and the matrix A.

For each elimination step in the above procedure, it is necessary that ak)

k,ik 6=

0, for each k = 2, . . . , s , to avoid zero division. We now prove that this follows

from the non-singular by columns property of A . Let A 1) =A . The matrix

Ak) = ( ak)

i,j )∈ M(F q , s ×l) , k = 2, . . . , s, is obtained recursively from A k 1) by

performing the following l (k 1) elementary column operations:

columni(Ak) ) = columni (Ak1) ) a k1)

k1,i

ak1)

k1,ik1

columni k1 (Ak1) ),

for each i / ∈ {i1 , . . . , ik1 }. These operations introduce l (k 1) additional zero

elements in the k 1-th row of Ak) at each iteration. Hence the minor of Ak)

given by the first k rows and the i1 , . . . , ik columns, is a triangular matrix (in this

case, a column permutation of a lower triangular matrix) whose determinant is

ak)

1,i1 · · · a k )

k,ik . Since A is non-singular by columns, this minor is non-singular. It

follows that the determinant is non-zero, and therefore ak)

k,ik 6= 0.

The procedure described above will successfully decode the received word, if

wt( e) ≤ b( d( C) 1) /2c , and for a given choice of indices { i1 , . . . , is }⊂{ 1, . . . , l } ,

each error block satisfies wt (ei j )tj =b ( dj 1)/2c , for all j = 1, . . . , s . The

procedure may fail if wt (ei j ) > tj for some j.

If a decoder DCj answers "failure" , that is, it cannot decode pj)

ij , since there

is no codeword in Cj within distance tj to the received block pj)

ij , then we

consider another ordered subset of indices, and start the procedure again.

Similarly if wt (ei j ) > tj and the decoder DCj incorrectly decodes the block

pj)

ij , then we can detect this at the end by checking whether the entire decoded

word is a codeword in Cor not (overall failure) and by checking that we have not

corrected more than b (d(C ) 1)/2c errors in total (incorrect overall decoding).

6

In either case we again consider another ordered subset of indices, and restart

the procedure.

We now prove that for every error vector e with wt ( e ) ≤ b (d(C ) 1)/2c

there exists a "good" set of indices {i1 , . . . , is } ⊂ { 1, . . . , l} satisfying condition

(9). We can therefore repeat the procedure described above, with various or-

dered subsets of indices, until a "good" set of indices is chosen and decoding is

successful. It follows that our algorithm decodes all error patterns of weight up

to half the minimum distance of the code.

Theorem 3.1. Let C be the matrix-product code [C1 · · · Cs ]·A , where C1 ⊃ · · · ⊃

Cs and Ais a non-singular by columns matrix. Let e = ( e1 , e2, . . . , el )F ml

q

be an error vector with wt(e ) ≤ b ( d( C) 1) /2c . Then there exists an ordered

subset { i1 , . . . , is } ⊂ {1 , . . . , l} satisfying wt( ei j ) tj = b( dj 1)/2c , for all

j∈ {1 , . . . , s} .

Proof. We claim that there exists i1 such that wt (e i 1 ) t1 . Suppose that there

is no i1 ∈ { 1, . . . , l} with wt (ei 1 ) t1 , that is, wt (ei )>b ( d1 1)/2c , for all

i= 1 , . . . , l. This implies that wt( ei ) d1 / 2, for all i. Using (8) we obtain,

wt( e) ld 1

2>ld 1 1

2 ld 1 1

2 d (C) 1

2

which contradicts our assumption.

Let us assume that the property holds for a subset {i1 , . . . , ij1 } ⊂ { 1, . . . , l}

of size j 1 < s . We now prove it holds for a subset of size j . Suppose

that there is no ij with wt (ei j )tj , that is, wt (ei )>b (dj 1)/2c , for all

i∈ {1 , . . . , l }\{ i1 , . . . , ij1 } . This implies that wt( ei ) dj /2, for all i

{1 , . . . , l }\{ i1 , . . . , ij1 }. Using (8) we obtain,

wt( e)

j1

X

k=1

wt( ei k ) + ( lj+ 1) d j

2>

j1

X

k=1

wt( ei k ) + ( lj+ 1) dj 1

2

(l j+ 1) dj 1

2 d (C) 1

2

which contradicts our assumption and the result holds.

Summarizing, we can now formulate our decoding algorithm for C = [C1 · · · Cs ] ·

AFml

q, where C 1 ⊃ · · · ⊃ C s and A is a non-singular by columns matrix, in

procedural form in Algorithm 1.

Remark 3.2. We note that the algorithm becomes more computationally in-

tensive as the number of blocks sthat we may need to decode at each iteration,

and the total number of blocks l, increase. So, it is worthwhile to say that for

s= l= 2 (respectively 3) the algorithm only needs, at most, 2 (respectively 6)

iterations to find the right ordered subset of indices. In this case we need to

decode at most 4 (respectively 18) blocks of length mto achieve a successful

decoding of the full-length received word of length ml.

An advantage of using nested codes in our construction, from the point of

view of implementation in an electronic circuit, is that much of the circuitry

7

Algorithm 1 Decoding algorithm for C = [C1 · · · Cs ]· A

Input: Received word p= c+ e with cC and wt ( e) ≤ b(d (C ) 1)/ 2 c .

C1 · · · Cs nested codes and A a non-singular by columns matrix.

Decoder DCi for code Ci ,i = 1, . . . , s.

Output: The codeword c .

1: p0 =p;A0 =A ;

2: for {i1 , . . . , is } ⊂ {1, . . . , l } do

3: p= p0 ;A =A0 ;

4: for j = 1, . . . , s do

5: pi j =DCj ( p i j );

6: if p i j = "failure" then

7: Break the loop and consider another i1 , . . . , is in line 1;

8: end if

9: for k= j + 1, . . . , s do

10: pi k =pi k a j,ik

aj,ij

pi j ;

11: columni k(A ) = columni k (A )a j,ik

aj,ij

columni j(A);

12: end for

13: end for

14: Obtain (c1 , . . . , cs ) from p i 1 , . . . , pi s ;

15: p= [C1 · · · Cs ]·A ; (see (1) and (2))

16: if p C and wt ( p p0 ) ≤ b( d( C) 1)/ 2 c then

17: RETURN: p;

18: end if

19: end for

used for implementing decoder DC1 can also be used to implement decoders

DC2 , . . . , DCs of the subset subcodes C2 , . . . , Cs , respectively.

Generalized Reed-Muller codes are iterative matrix-product codes defined

using a non-singular by columns matrix (see [2]). Therefore, Algorithm 1 can

be used to decode this family of codes. Furthermore, Algorithm 1 can be con-

sidered as a generalization of the decoding algorithm for Reed-Muller codes in

[6, Chapter 13].

4 A class of Quasi-Cyclic codes from nested cyclic

codes

Finally we consider the matrix-product code, C = [C1 · · · Cs ]·A , where the

component codes C1 , . . . , Cs are cyclic codes of the same length. In this case, a

generator matrix of C can be constructed as an s× l array of truncated circulant

submatrices, and defines a quasi-cyclic code with sgenerators and index l, [4, 5].

Determining the minimum distance of an arbitrary quasi-cyclic code is not

easy, and a good general decoding algorithm has not yet been developed for

this class of codes. Here we note that when the cyclic codes C1 , . . . , Cs are

nested, and A is a non-singular by columns matrix, then Theorem 2.2 provides

the minimum distance, and Algorithm 1 provides a decoding algorithm for a

restricted class of quasi-cyclic codes, obtained by matrix-product construction.

8

We now provide an example of how Algorithm 1 proceeds in this case.

Example 4.1. Consider the following linear codes over F3 ,

C1 the [13 , 10 , 3] cyclic code generated by f1 = x3 + x2 + x + 2.

C2 the [13 ,7 , 5] cyclic code generated by f2 = ( x3 +x2 + x + 2)( x3 + 2 x2 +

2x + 2).

C3 the [13 , 3 , 9] cyclic code generated by f3 = ( x + 2)( x3 + x + 2)( x3 +

x2 + x+ 2)( x3 + 2x2 + 2 x+ 2).

Let C = [C1C2 C3 ]·A , where Ais the non-singular by columns matrix

A=

111

021

001

.

We use decoder DCi for Ci , which decodes up to half the minimum distance,

i.e., DC1 , DC2 , DC3 decode up to t1 = 1, t2 = 2 and t3 = 4 errors, respectively.

One may easily check that D1 = 3, D2 = 2 and D3 = 1. Therefore, d (C ) =

min{d1D1 , d2 D2 , d3 D3 } = 9 by Theorem 2.2, thus we may correct up to t = 4

errors in a codeword of C.

We consider polynomial notation for codewords of Ci , for all i, that is the

codewords of length 13 in Ci are polynomials in Fq [x ] /(x 13 1) and words in

Care elements in (Fq [ x] /( x13 1))3 . Let p =c +e be the received word, with

codeword c = (0, 0, 0) and the error vector of weight t = 4

e= (e1 , e2, e3 ) = (1 + x, 2x2 , 2x 11 ) .

Consider, i1 = 1, i2 = 2, i3 = 3.

We decode the first block p1 = 1 + x of p , using DC1 . There is only one

word, 1 + x +x4 , in C1 within distance one to p1 , so DC1 decodes p1 to

p2)

1= 1 + x+ x 4 . Notice that it is incorrectly decoded, but we cannot

detect it at this moment. Proceeding, we compute

p2)

2=p 2 p 2)

1= 2 + 2x+ 2x 2 + 2x 4 ,

p2)

3=p 3 p 2)

1= 2 + 2x+ 2x 4 + 2x 11 .

The new matrix of coefficient is

A2) =

100

021

001

.

Then, we decode p 2)

2using DC 2 . There is only one word, 2 + 2x + 2x 2 +

x4 +x11 , in C2 within distance two to p2)

2. Thus, DC 2 decodes p 2)

2to

p3)

2= 2 + 2x+ 2x 2 +x 4 +x 11 . We compute

p3)

3=p 2)

32p 3)

2= 1 + x+ 2x 2 .

9

Finally, we decode p 3)

3using DC 3 . Since there is only one word, 0, in C 3

within distance four to p 3)

3,DC 3 decodes p 3)

3to p 4)

3= 0.

Notice that the distance of the decoded word (p2)

1, p 3)

2, p 4)

3) to p is 6 > t =

4, thus we have corrected more errors than the error correction capability

of the code which implies that we should consider another set of indices.

Second attempt, consider i1 = 2, i2 = 1, i3 = 3.

We decode the second block p2 = 1 + x of p , using DC1 . There is only

one word, 0, in C1 within distance one to p1 . Thus, DC1 decodes p2 to

p2)

2= 0. Proceeding, we compute

p2)

1=p 1 p 2)

2=p 1 = 1 + x,

p2)

3=p 3 p 2)

2=p 3 = 2x 11.

The new matrix of coefficient is

A2) =

010

122

001

.

Then, we decode p2)

1using DC 2 . There is only one word, 0, in C 2 within

distance two to p2)

1. Thus, DC 2 decodes p 2)

1to p 3)

1= 0. We compute

p3)

3=p 2)

3p 3)

1=p 3 = 2x 11.

We decode p 3)

3using DC 3 . Since there is only one word, 0, in C 3 within

distance four to p 3)

3,DC 3 decodes p 3)

3to p 4)

3= 0. And since the weight of

p p3) is equal to 4, we have decoded the received word successfully.

Acknowledgements

The authors would like to thank M. Greferath for his course at Claude Shannon

Institute and P. Beelen and T. Høholdt for helpful comments on this paper.

References

[1] van Asch, B.; "Matrix-product codes over finite chain rings"; Appl. Algebra

Engrg. Comm. Comput. 19 (2008), no. 1, 39–49

[2] Blackmore, T.; Norton, G.H.; "Matrix-product codes over Fq "; Appl. Algebra

Engrg. Comm. Comput. 12 (2001), no. 6, 477–500.

[3] Kasami, T.; "A Gilbert-Varshamov bound for quasi-cyclic codes of rate 1/2",

IEEE Trans. Inform. Theory, 20, pp. 679, 1974.

10

[4] Lally, K.; Fitzpatrick, P.; "Algebraic Structure of quasicyclic codes"; Dis-

crete Appl. Math., 111, no. 1-2, pp. 157–175, 2001.

[5] Ling, S.; Sol´e. P.; "On the algebraic structure of quasi-cyclic codes I: finite

fields", IEEE Trans. Inform. Theory, vol. IT-47, 2751–2759, Nov. 2001.

[6] Macwilliams, F.J.; Sloane N.J.A.; The Theory of Error-Correcting Codes,

ser. North-Holland mathematical library. North-Holland, 1977, vol. 16.

[7] Mart´ınez-Moro, E.; "A generalization of Niederreiter-Xing's propagation

rule and its commutativity with duality"; IEEE Trans. Inform. Theory 50

(2004), no. 4, 701–702.

[8] Niederreiter, H.; Xing, C.; "A propagation rule for linear codes"; Appl.

Algebra Engrg. Comm. Comput. 10 (2000), no. 6, 425–432.

[9] ¨

Ozbudak, F.; Stichtenoth, H.; "Note on Niederreiter-Xing's propagation rule

for linear codes"; Appl. Algebra Engrg. Comm. Comput. 13 (2002), no. 1, 53–

56.

11

... In 2001, Blackmore and Norton [3] proposed a new class of codes called matrixproduct codes. From then on, some scholars considered several kinds of such codes and obtained many meaningful results related to their minimum distances, duals and decoding algorithms, see [5,6,9,10,17,18,33,35]. In recent years, seeking for the matrix-product codes satisfying Euclidean or Hermitian dual-containing is a new manner to construct good quantum codes. ...

... Let us recall some basics on matrix-product codes. Definition 1 [3,17] ...

  • Meng Cao
  • Jianlian Cui

In 2001, Blackmore and Norton introduced an important tool called matrix-product codes, which turn out to be very useful to construct new quantum codes of large lengths. To obtain new and good quantum codes, we first give a general approach to construct matrix-product codes being Hermitian dual-containing and then provide the constructions of such codes in the case s∣(q2-1)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s{\mid }(q^{2}-1)$$\end{document}, where s is the number of the constituent codes in a matrix-product code. For s∣(q+1)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s{\mid } (q+1)$$\end{document}, we construct such codes with lengths more flexible than the known ones in the literature. For s∣(q2-1)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s{\mid } (q^{2}-1)$$\end{document} and s∤(q+1)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s{\not \mid } (q+1)$$\end{document}, such codes are constructed in an unusual manner; some of the constituent codes therein are not required to be Hermitian dual-containing. Accordingly, by Hermitian construction, we present two procedures for acquiring quantum codes. Finally, we list some good quantum codes, many of which improve those available in the literature or add new parameters.

... For general matrix product codes over finite fields, a lower bound for the minimum distance was obtained in [40]. Decoding methods for some matrix product codes were also discussed in [26,27,29]. Other related works may be found in [28,36,37]. ...

... Theorem 2.1 (Cf. [40], [27,Theorem 1]). The matrix-product code [C 1 , . . . ...

https://doi.org/10.1016/j.disc.2019.111768

... If we give the decoder information which symbols are erased (unreliable) and not erased (reliable), then we are performing error-and-erasure decoding. It follows from Theorem 2 that an error-anderasure decoder that decodes every received word that satisfies (2), and rejects all other received words, can be described by a map ...

... gives us the (u + v + w | 2u + v | u) construction. B (2) has minimum distance 2 and can thus only detect one error, while B (1) has minimum distance 3, which means that it can correct one error. ...

Generalized concatenated codes were introduced in the 1970s by Zinoviev. There are many types of codes in the literature that are known by other names that can be viewed as generalized concatenated codes. Examples include matrix-product codes, multilevel codes and generalized cascade codes. Decoding algorithms for generalized concatenated codes were developed during the 1970s and 1980s. However, their use does not appear to be as widespread as it should, especially for codes that are known by other names but can be viewed as generalized concatenated codes. In this paper we review the decoding algorithms for concatenated codes, generalized concatenated codes and matrix-product codes, and clarify the connection between matrix-product codes and generalized concatenated codes. We present a small improvement to the decoding algorithm for concatenated codes. We also extend the decoding algorithms from errors-only decoders to error-and-erasure decoders. Furthermore, we improve the upper bound on the computational complexity of the decoding algorithm in the case of matrix-product codes where the generator matrix for the inner code is non-singular by columns.

... Ever since the introduction, researchers have been trying to pave new tracks in this area. Particularly relevant to us here are constructions of matrixproduct codes over various commutative rings (see, for instance, [6][7][8][9][10][11]). Let C i be an [n, k i ]-linear code over R, for i � 1, . . . ...

  • Boulagouaz M Hammed Boulagouaz M Hammed
  • Abdulaziz Deajim

A well-known lower bound (over finite fields and some special finite commutative rings) on the Hamming distance of a matrix-product code (MPC) is shown to remain valid over any commutative ring R. A sufficient condition is given, as well, for such a bound to be sharp. It is also shown that an MPC is free when its input codes are all free, in which case a generator matrix is given. If R is finite, a sufficient condition is provided for the dual of an MPC to be an MPC, a generator matrix for such a dual is given, and characterizations of LCD, self-dual, and self-orthogonal MPCs are presented. Finally, the results of this paper are used along with previous results of the authors to construct novel MPCs arising from σ,δ-codes. Some properties of such constructions are also studied.

... Matrix-product codes over finite fields can be viewed as a generalization of the Plotkin's (u|u +v)-construction and the ternary (u +v +w|2u +v|u)-construction, see Refs. [16][17][18][19][20]. It is worth mentioning that Mankean and Jitman gave a necessary condition that matrix-product construction are Euclidean and Hermitian self-orthogonal linear codes [21,22]. ...

  • Hao Song
  • Ruihu Li
  • Yang Liu
  • Guanmin Guo

In this paper, we provide methods for constructing Hermitian dual-containing (HDC) matrix-product codes over \(\mathbb {F}_{q^2}\) from some non-singular matrices and a special sequence of HDC codes and determine parameters of obtained matrix-product codes when the input matrix and sequence of HDC codes satisfy some conditions. Then, using some nested HDC BCH codes with lengths \(n=\frac{q^4-1}{a} (a=1 ~\)or\(~ a=q\pm 1)\), we construct some HDC matrix-product codes with lengths \(N=\) 2n or 3n and derive nonbinary quantum codes with length N from these matrix-product codes via Hermitian construction. Four classes of quantum codes over \(\mathbb {F}_{q}\) (\(3\le q\le 5\)) are presented, whose parameters are better than those in the literature. Besides, some of our new quantum codes can exceed the quantum Gilbert-Varshamov (GV) bound.

  • Hualu Liu Hualu Liu
  • Xiusheng Liu

In this paper, we firstly present a new criterion of linear complementary pairs (abbreviated to LCP) of codes over finite fields. Our result for the linear complementary pairs of codes extends the criterion of linear complementary dual (LCD) codes given by Massey. Then, two methods to construct LCP of codes from matrix product codes are provided, and concrete examples are presented to construct good parameters of LCP of codes.

  • M. B. Ould Medeni M. B. Ould Medeni
  • Abdulaziz Deajim

Self-orthogonal codes and self-dual codes, on the one hand, and matrix-product codes, on the other, form important and sought-after classes of linear codes. Combining the two constructions would be advantageous. Adding to this combination the relaxation of the underlying algebraic structures to be commutative rings instead of fields would be even more advantageous. The current article paves a path in this direction. The authors study the problem of self-orthogonality and self-duality of matrix-product codes over a commutative ring with identity. Some methods as well as special matrices are introduced for the construction of such codes. A characterization of such codes in some cases is also given. Some concrete examples as well as applications to torsion codes are presented.

  • Meng Cao

Matrix-product codes over finite fields are an important class of long linear codes by combining several commensurate shorter linear codes with a defining matrix over finite fields. The construction of matrix-product codes with certain self-orthogonality over finite fields is an effective way to obtain good $q$-ary quantum codes of large length. Specifically, it follows from CSS construction (resp. Hermitian construction) that a matrix-product code over $\mathbb{F}_{q}$ (resp. $\mathbb{F}_{q^{2}}$) which is Euclidean dual-containing (resp. Hermitian dual-containing) can produce a $q$-ary quantum code. In order to obtain such matrix-product codes, a common way is to construct quasi-orthogonal matrices (resp. quasi-unitary matrices) as the defining matrices of matrix-product codes over $\mathbb{F}_{q}$ (resp. $\mathbb{F}_{q^{2}}$). The usage of NSC quasi-orthogonal matrices or NSC quasi-unitary matrices in this process enables the minimum distance lower bound of the corresponding quantum codes to reach its optimum. This article has two purposes: the first is to summarize some results of this topic obtained by the author of this article and his cooperators in \cite{Cao2020Constructioncaowang,Cao2020New,Cao2020Constructionof}; the second is to add some new results on quasi-orthogonal matrices (resp. quasi-unitary matrices), Euclidean dual-containing (resp. Hermitian dual-containing) matrix-product codes and $q$-ary quantum codes derived from these newly constructed matrix-product codes.

Given a commutative ring R with identity, a matrix A∈Ms×l(R), and linear codes C1,⋯,Cs over R of the same length, this article considers the hull of the matrix-product code [C1⋯Cs]A. Consequently, it introduces various sufficient conditions (as well as some necessary conditions in certain cases) under which [C1⋯Cs]A is a complementary dual (LCD) code. As an application, LCD matrix-product codes arising from torsion codes over finite chain rings are considered. Moreover, we show the existence of asymptotically good sequences of LCD matrix-product codes over such rings.

Linear complementary dual (LCD) codes are linear codes satisfying C∩C⊥={0}. Researchers have proved to construct linear codes over finite fields Fq, q>3, is equivalent to construct LCD codes. This means that the investigation of binary and ternary LCD codes is the only remaining open problem. In this work, we propose new constructions of binary and ternary LCD codes by using matrix-product codes and prove that binary and ternary LCD codes from matrix-product codes are asymptotically good. Then we construct some new and good binary and ternary LCD codes using matrix-product matrices.

A new algebraic approach to quasi-cyclic codes is introduced. The key idea is to regard a quasi-cyclic code over a field as a linear code over an auxiliary ring. By the use of the Chinese remainder theorem (CRT), or of the discrete Fourier transform (DFT), that ring can be decomposed into a direct product of fields. That ring decomposition in turn yields a code construction from codes of lower lengths which turns out to be in some cases the celebrated squaring and cubing constructions and in other cases the (u+&upsi;|u-&upsi;) and Vandermonde constructions. All binary extended quadratic residue codes of length a multiple of three are shown to be attainable by the cubing construction. Quinting and septing constructions are introduced. Other results made possible by the ring decomposition are a characterization of self-dual quasi-cyclic codes, and a trace representation that generalizes that of cyclic codes

  • Tim Blackmore
  • Graham H. Norton

Codes C 1 ,…,C M of length n over ?q and an M × N matrix A over ?q define a matrix-product code C = [C 1 …C M ] ·A consisting of all matrix products [c 1 … c M ] ·A. This generalizes the (u|u+v)-, (u+v+w|2u+v|u)-, (a+x|b+x|a+b+x)-, (u+v|u-v)- etc. constructions. We study matrix-product codes using Linear Algebra. This provides a basis for a unified analysis of |C|, d(C), the minimum Hamming distance of C, and C ⊥. It also reveals an interesting connection with MDS codes. We determine |C| when A is non-singular. To underbound d(C), we need A to be `non-singular by columns (NSC)'. We investigate NSC matrices. We show that Generalized Reed-Muller codes are iterative NSC matrix-product codes, generalizing the construction of Reed-Muller codes, as are the ternary `Main Sequence codes'. We obtain a simpler proof of the minimum Hamming distance of such families of codes. If A is square and NSC, C ⊥ can be described using C 1⊥, …,C M ⊥ and a transformation of A. This yields d(C ⊥). Finally we show that an NSC matrix-product code is a generalized concatenated code.

  • Kristine Lally
  • Patrick Fitzpatrick Patrick Fitzpatrick

We use Gröbner bases of modules as a tool in the construction and classification of quasicyclic codes. Whereas previous studies have been mainly concerned with the 1-generator case, our results elucidate the structure of arbitrary quasicyclic codes and their duals. As an application we provide a complete characterisation of self-dual quasicyclic codes of index 2.

  • Ferruh Özbudak
  • Henning Stichtenoth

. We present a simple construction of long linear codes from shorter ones. Our approach is related to the product code construction; it generalizes and simplifies substantially the recent "Propagation Rule" by Niederreiter and Xing. Many optimal codes can be produced by our method.

  • Harald Niederreiter
  • Chaoping Xing Chaoping Xing

. We establish a general theorem which, given an arbitrary linear code, generates a family of linear codes of larger lengths and higher dimensions. The proof is based on a representation of the given linear code as a (generalized) algebraic-geometry code. Examples yielding many optimal linear codes document the power of this theorem.

  • Bram van Asch

T. Blackmore and G. H. Norton [Appl. Algebra Eng. Commun. Comput. 12, 477–500 (2001; Zbl 1004.94034)] introduced the notion of matrix-product codes over finite fields. The present paper provides a generalization to finite chain rings. For codes a distance function is defined using a homogeneous weight function in the ring. It is proved that the minimum distance of a matrix-product codes is determined by the minimum distances of the separate codes. At the end of the paper we focus on Galois rings and define a special family of matrix-product codes.

  • Edgar Martínez-Moro Edgar Martínez-Moro

Niederreiter and Xing (2000) recently proposed a propagation rule for linear codes.Özbudak and Stichtenoth showed that the Niederreiter-Xing construction is a particular construction of a matrix-product code. Cheng, Cheng, and Sun analyzed the case when Niederreiter-Xing rule commutes with duality. The aim of this correspondence is to generalize the propagation rule to a wider class of codes and analyze the case when it commutes with duality.

  • Tadao Kasami

It is shown that there exist arbitrarily long quasi-cyclic (2k,k) binary codes that meet a bound slightly weaker than the Gilbert-Varshamov bound. This is a refinement of the result of Chen, Peterson, and Weldon [1].

The Theory of Error-Correcting Codes, ser. North-Holland Mathematical Library

  • F J Macwilliams
  • N J A Sloane
  • F.J. Macwilliams

Macwilliams, F.J.; Sloane N.J.A.; The Theory of Error-Correcting Codes, ser. North-Holland mathematical library. North-Holland, 1977, vol. 16.