Construction of Z4-linear Reed-Muller codes∗
arXiv:0801.3024v1 [cs.IT] 19 Jan 2008
J. Pujol, J. Rifà, F. I. Solov’eva
†
Abstract
New quaternary Plotkin constructions are given and are used to obtain
new families of quaternary codes. The parameters of the obtained codes,
such as the length, the dimension and the minimum distance are studied.
Using these constructions new families of quaternary Reed-Muller codes
are built with the peculiarity that after using the Gray map the obtained
Z4 -linear codes have the same parameters and fundamental properties as
the codes in the usual binary linear Reed-Muller family. To make more
evident the duality relationships in the constructed families the concept
of Kronecker inner product is introduced.
1
Introduction
In [13] Nechaev introduced the concept of Z4 -linearity of binary codes and later,
in [7], Hammons, Kumar, Calderbank, Sloane and Solé showed that several
families of binary codes are Z4 -linear. In [7] it is proved that the binary linear
Reed-Muller code RM (r, m) is Z4 -linear for r = 0, 1, 2, m − 1, m and is not
Z4 -linear for r = m − 2 (m ≥ 5). In a subsequent work, Hou, Lahtonen and
Koponen [8], proved that RM (r, m) is not Z4 -linear for 3 ≤ r ≤ m − 2.
In [7] it is introduced a construction of codes, called QRM(r, m), based on
Z4 -linear codes, such that after doing modulo two we obtain the usual binary
linear Reed-Muller (RM ) codes. In [2, 3] such family of codes is studied and
their parameters are computed as well as the dimension of the kernel and rank.
In [16] a kind of Plotkin construction was used to build a family of additive
Reed-Muller codes and also in [19] it was used a Plotkin construction to obtain
a sequence of quaternary linear Reed-Muller like codes. In both last quoted
constructions, the images of the obtained codes under the Gray map are binary
codes with the same parameters as the binary linear RM codes. Moreover, on
the other hand, in [5, 9, 10, 14] were classified all the non-equivalent Z2 Z4 -linear
extended 1-perfect codes and their duals, the Z2 Z4 -linear Hadamard codes. It
∗ This work has been partially supported by the Spanish MEC and the European FEDER
Grant MTM2006-03250. Part of the material in Section III of this paper was presented at
the 17th Symposium on Applied algebra, Algebraic algorithms, and Error Correcting Codes
(AAECC), Bangalore, India, December 2007.
† J. Pujol and J. Rifà are with the Department of Information and Communications Engineering, Universitat Autònoma de Barcelona, 08193-Bellaterra, Spain. F. I. Solov’eva is with
the Sobolev Institute of Mathematics and Novosibirsk State University, Novosibirsk, Russia.
1
is a natural question to ask for the existence of families of quaternary linear
codes such that, after the Gray map, the corresponding Z4 -linear codes have the
same parameters as the well known family of binary linear RM codes. In these
new families, like in the usual RM (r, m) family, the code with (r, m) = (1, m)
should be a Hadamard code and the code with (r, m) = (m − 2, m) should be
an extended 1-perfect code.
It is well known that an easy way to built the binary RM family of codes
is by using the Plotkin construction [12]. So, it seems a good matter of study
to try to generalize the Plotkin construction to the quaternary linear codes and
try to obtain new families of codes which contain the above mentioned Z2 Z4 linear Hadamard codes and Z2 Z4 -linear extended 1-perfect codes and fulfill the
same properties from a parameters point of view (length, dimension, minimum
distance, inclusion and duality relationship) than the binary RM family.
In this paper we begin by studying the Z4 -linear case and we organize it in the
following way. In Section 2 we introduce the concept of quaternary code and give
some constructions that could be seen as quaternary generalizations of the well
known binary Plotkin construction. In Section 3, we construct several families of
Z4 -linear Reed-Muller codes and prove that they have similar parameters as the
classical binary RM codes but they are not linear. In Section 4, we discuss the
concept of duality for the constructed Z4 -linear Reed-Muller codes and, finally,
in Section 5 we give some conclusions and further research in the topic.
2
2.1
Constructions of quaternary codes
Quaternary codes
Let Z2 and Z4 be the ring of integers modulo two and modulo four, respectively.
Let Zn2 be the set of all binary vectors of length n and ZN
4 be the set of all
quaternary vectors of length N . Any non-empty subset C of Zn2 is a binary
code and a subgroup of Zn2 is called a binary linear code. Equivalently, any
N
non-empty subset C of ZN
4 is a quaternary code and a subgroup of Z4 is called
β
a quaternary linear code. In general, any non-empty subgroup C of Zα
2 × Z4 is
an additive code.
The Hamming weight wH (u) of a vector in Zn2 is the number of its nonzero
coordinates. The Hamming distance d(u, v) between two vectors u, v ∈ Zn2 is
d(u, v) = wH (u − v). For quaternary codes it is more appropriate to use the
Lee metric [11]. In Z2 the Lee weight coincides with the Hamming weight, but
in Z4 the Lee weight of their elements is wL (0) = 0, wL (1) = wL (3) = 1, and
wL (2) = 2. The Lee weight wL (u) of a vector in ZN
4 is the addition of the Lee
weight of all the coordinates. The Lee distance dL (u, v) between two vectors
u, v ∈ ZN
4 is dL (u, v) = wL (u − v).
β
Let C be an additive code, so a subgroup of Zα
2 × Z4 and let C = Φ(C), where
β
n
Φ : Zα
2 × Z4 −→ Z2 , n = α + 2β, is given by Φ(u, v) = (u, φ(v)) for any u
α
from Z2 and any v from Zβ4 , where φ : Zβ4 −→ Z2β
2 is the usual Gray map,
so φ(v1 , . . . , vβ ) = (ϕ(v1 ), . . . , ϕ(vβ )), and ϕ(0) = (0, 0), ϕ(1) = (0, 1), ϕ(2) =
2
(1, 1), ϕ(3) = (1, 0). We will use the symbols 0, 1 and 2 for the all zeroes, the
all ones and the all twos vectors, respectively (by the context it will be always
clear we speak about the binary vectors 0, 1 or quaternary, it will also be clear
the length of the vectors).
Hamming and Lee weights, as well as Hamming and Lee distances, can be
β
generalized, in a natural way, to vectors in Zα
2 × Z4 by adding the corresponding
β
weights (or distances) of the Zα
2 part and the Z4 part.
α
Since C is a subgroup of Z2 ×Zβ4 , it is also isomorphic to an abelian structure
like Zγ2 × Zδ4 . Therefore, we have that |C| = 2γ 4δ and the number of order two
codewords in C is 2γ+δ . We call such code C an additive code of type (α, β; γ, δ)
and the binary image C = Φ(C) a Z2 Z4 -linear code of type (α, β; γ, δ). In the
specific case α = 0 we see that C is a quaternary linear code and its binary
image is called a Z4 -linear code. Note that the binary length of the binary code
C = Φ(C) is n = α + 2β.
The minimum Hamming distance d of a Z2 Z4 -linear code C is the minimum
value of d(u, v), where u, v ∈ C and u 6= v. Notice that the Hamming distance
of a Z2 Z4 -linear code C coincides with the Lee distance defined in the additive
code C = Φ−1 (C). From now on, when we work with distances it must be
understood that we deal with Hamming distances in the case of binary codes or
Lee distances in the case of additive codes.
Although C could not have a basis, it is appropriate to define a generator
matrix for C as
B2 Q2
,
G=
B1 Q1
where B2 is a γ × α matrix; Q2 is a γ × β matrix; B1 is a δ × α matrix and Q1
is a δ × β matrix. Matrices B1 , B2 are binary and Q1 , Q2 are quaternary, but
the entries in Q2 are only zeroes or twos.
Two additive codes C1 and C2 both of the same length are said to be monomially equivalent, if one can be obtained from the other by permuting the coordinates and multiplying by −1 of certain coordinates. Additive codes which differ
only by a permutation of coordinates are said to be permutation equivalent.
For Z2 Z4 -linear codes is usual to use the following definition of inner product
β
in Zα
2 × Z4 that we will call the standard inner product [18, 4]:
α+β
α
X
X
uj vj ∈ Z4 ,
ui vi ) +
hu, vi = 2(
(1)
j=α+1
i=1
β
where u, v ∈ Zα
2 × Z4 . We can also write the standard inner product as
hu, vi = u·JN ·vt ,
2Iα 0
where JN =
, N = α + β, is a diagonal matrix over Z4 . Note that
0 Iβ
when α = 0 the inner product is the usual one for vectors over Z4 and when
β = 0 it is twice the usual one for vectors over Z2 .
3
For α = 0 and N = β = 2i , i =1, 2, 3, . .., we can define the inner product
1 0
in an alternative way. Let K2 =
be a matrix over Z4 and define
0 3
N
Nlog2 (N )
K2 where
denotes the Kronecker product of matrices. We
KN = j=1
call the Kronecker inner product the following:
hu, vi⊗N = u·KN ·vt .
(2)
The additive dual code of C, denoted by C ⊥ , is defined in the standard way
as
β
C ⊥ = {u ∈ Zα
2 × Z4 | hu, vi = 0 for all v ∈ C}
or, using the Kronecker inner product
β
C ⊥ = {u ∈ Zα
2 × Z4 | hu, vi⊗N = 0 for all v ∈ C}.
The definition and notations will be the same for the Z4 -duality obtained
by using the standard inner product or the Kronecker inner product and the
difference will be clear from the context.
Note that hu, vi⊗N = u·KN ·vt = hu, v·KN i. Hence, both additive dual
codes by using the standard inner product or the Kronecker inner product,
respectively, are monomially equivalent and so they have the same weight distribution. For both inner products, the additive dual code C ⊥ is also an additive
β
code, that is a subgroup of Zα
2 ×Z4 . Its weight enumerator polynomial is related
to the weight enumerator polynomial of C by the MacWilliams identity [6]. The
corresponding binary code Φ(C ⊥ ) is denoted by C⊥ and called the Z2 Z4 -dual
code of C. In the case α = 0, the code C ⊥ is also called the quaternary dual
code of C and C⊥ the Z4 -dual code of C. Notice that C and C⊥ are not dual
in the binary linear sense but the weight enumerator polynomial of C⊥ is the
McWilliams transform of the weight enumerator polynomial of C. Given an
additive code C of type (α, β, γ, δ) it is known the type of the additive dual code
([4] for additive codes with α 6= 0 and [7] for additive codes with α = 0).
In the present paper, as we will see later, the duality concept using the
Kronecker inner product will make more visible the property that if a code C
belongs to a family of Reed-Muller codes then its dual code belongs to the same
family.
From now on, we focus our attention specifically to additive codes with
α = 0, so quaternary linear codes such that after the Gray map they give rise
to Z4 -linear codes. Given a quaternary linear code of type (0, β; γ, δ), we will
write (N ; γ, δ) to say that α = 0 and β = N .
2.2
The Plotkin construction
In this section, we show that the well-known binary Plotkin construction can
be generalized to quaternary linear codes.
Let A and B be two quaternary linear codes of types (N ; γA , δA ) and
(N ; γB , δB ) and minimum distances dA , dB , respectively. Given u ∈ ZN
4 define
supp(u) ⊂ {1, . . . , N } as the set of nonzero coordinates of vector u.
4
Definition 1 (Plotkin Construction) Given two quaternary linear codes A
and B, we define a quaternary linear code as
PC(A, B) = {(u1 |u1 + u2 ) : u1 ∈ A, u2 ∈ B}.
It is easy to see that if GA and GB are generator matrices of A and B, respectively,
then the matrix
GA GA
GP C =
0 GB
is a generator matrix of the code PC(A, B).
Proposition 2 The quaternary linear code PC(A, B) defined using the Plotkin
construction is of type (2N ; γ, δ), where γ = γA + γB and δ = δA + δB ; the
binary length is n = 4N ; the size is 2γ+2δ and the minimum distance is d =
min{2dA , dB }.
Proof: The type, the binary length and the size of PC(A, B) can be easily
computed from the definition of the code. The minimum distance can be established as in the binary case [12] but, by completeness, we include the proof. Let
us consider any vector u ∈ PC(A, B) such that u = (u1 |u1 + u2 ), where u1 ∈ A
and u2 ∈ B. Since PC(A, B) is a quaternary linear code, it is enough to prove
that the weight wL (u) is not less than d.
If u2 = 0, then wL (u) = 2wL (u1 ) ≥ 2dA .
If u2 6= 0, by using the triangle inequality we immediately obtain
wL (u) = wL (u1 ) + wL (u1 + u2 ) ≥ wL (u2 ) ≥ dB .
Hence d ≥ min{2dA , dB }. The equality holds because taking the specific
vectors u1 ∈ A with minimum weight dA and u2 ∈ B with minimum weight dB
we obtain wL (u1 |u1 ) = 2dA and wL (0|v2 ) = dB .
2.3
The quaternary Plotkin construction
A useful generalization of the above construction to obtain quaternary linear
codes is the following construction, called the quaternary Plotkin construction.
Such construction was used, for example, in [10] for the classification of all
Z4 -linear Hadamard codes.
Definition 3 (Quaternary Plotkin Construction) Given two quaternary linear codes A and B, we define the quaternary linear code
QP(A, B) = {(u1 |u1 + u2 |u1 + 2u2 |u1 + 3u2 ) : u1 ∈ A, u2 ∈ B}.
It is easy to see that if GA and GB are generator matrices of A and B, then
the matrix
GA GA GA GA
GQP =
0 GB 2GB 3GB
is a generator matrix of the code QP(A, B).
5
Proposition 4 The quaternary linear code QP(A, B) given in Definition 3 is
of type (4N ; γ, δ), where γ = γA + γB and δ = δA + δB ; the binary length is
n = 8N ; the size is 2γ+2δ and the minimum distance is d ≥ min{4dA , 2dB }.
Proof: The type, the binary length and the size of QP(A, B) can be easily
computed from the definition of the code. To check the minimum distance of
QP(A, B) let us consider any vector u ∈ QP(A, B). Vector u can be represented
by u = (u1 |u1 |u1 |u1 ) + (0|u2 |2u2 |3u2 ), where u1 ∈ A and u2 ∈ B. Since
QP(A, B) is a quaternary linear code it is enough to show that the weight of u
is at least d.
If u2 = 0, then wL (u) = 4wL (u1 ) ≥ 4dA . The equality holds taking a vector
u1 ∈ A of minimum weight.
For u2 6= 0 we have
wL (u) = wL (u1 |u1 + u2 |u1 + 2u2 |u1 + 3u2 )
= (wL (u1 ) + wL (u1 + u2 )) + (wL (u1 + 2u2 ) + wL (u1 + 2u2 + u2 ))
≥ wL (u2 ) + wL (u2 ) (by using the triangle inequality)
≥ 2dB .
The Plotkin and the quaternary Plotkin constructions can be combined in a
double Plotkin construction. Let A, B, C and D be four quaternary linear
codes of types (N ; γA , δA ), (N ; γB , δB ), (N ; γC , δC ), and (N ; γD , δD ) and
minimum distances dA , dB , dC , dD , respectively.
Definition 5 (Double Plotkin Construction) Given A, B, C and D four
quaternary linear codes, we define the quaternary linear code
DP(A, B, C, D) = {(u1 |u1 +u2 |u1 +2u2 +u3 |u1 +3u2 +u3 +u4 ) : u1 ∈ A, u2 ∈ B, u3 ∈ C, u4 ∈ D}.
It is easy to see that if GA , GB , GC and GD are generator matrices of A, B,
C and D, then the matrix
GA GA GA GA
0 GB 2GB 3GB
GDP =
0
0
GC
GC
0
0
0
GD
is a generator matrix of the code DP(A, B, C, D).
Proposition 6 The quaternary linear code DP(A, B, C, D) given in Definition 5 is of type (4N ; γ, δ), where γ = γA +γB +γC +γD and δ = δA +δB +δC +δD ;
the binary length is n = 8N ; the size is 2γ+2δ and the minimum distance is
d ≥ min{4dA , 2dB , 2dC , dD }.
6
Proof: The type, the binary length and the size of the code DP(A, B, C, D)
can be easily computed from the definition.
To check the minimum distance of the code DP(A, B, C, D) let us consider
any vector u from this code. It can be represented as u = (u1 |u1 |u1 |u1 ) +
(0|u2 |2u2 |3u2 ) + (0|0|u3 |u3 ) + (0|0|0|u4 ), where u1 ∈ A, u2 ∈ B, u3 ∈ C and
u4 ∈ D. Since DP(A, B, C, D) is a quaternary linear code it is enough to show
that the weight of u is, at least, d.
If u2 = 0 then we can write u = (u1 |u1 |u1 |u1 ) + (0|0|u3 |u3 + u4 ) so that
u ∈ PC((A|A), PC(C, D)), where (A|A) is the code generated by (GA |GA ). Using
Proposition 2 we obtain
wL (u) = min{2d(A|A) , dP (C,D) } = min{4dA , min{2dC , dD }} = min{4dA , 2dC , dD }.
If u2 6= 0 then we distinguish two cases. If u4 = 0 then wL (u) = wL (u1 |u1 +
u2 ) + wL (u1 + 2u2 + u3 |u1 + 3u2 + u3 ) ≥ wL (u2 ) + wL (u2 ) ≥ 2dB using twice
the triangle inequality.
If u4 6= 0 then wL (u) = wL (u1 |u1 + u2 ) + wL (u1 + 2u2 + u3 |u1 + 3u2 + u3 +
u4 ) ≥ wL (u2 ) + wL (u2 + u4 ) ≥ wL (u4 ) ≥ dD .
Note that in case B = C the bound is tight because dB = dC and the minimum
distance d = min{4dA , 2dC , dD } can be obtained taking specific vectors from A,
C or D.
2.4
The BQ-Plotkin construction
We slightly change the construction given in Definition 5 in order to obtain
a tight bound for the minimum distance. We call this new construction the
BQ-Plotkin construction.
Let A, B and C be three quaternary linear codes of types (N ; γA , δA ),
(N ; γB , δB ), (N ; γC , δC ), with minimum distances dA , dB and dC , respectively.
Definition 7 (BQ-Plotkin Construction) Let GA , GB and GC be generator
matrices of the quaternary linear codes A, B and C, respectively. We define a
new code BQ(A, B, C) as the quaternary linear code generated by
GA GA GA GA
0 GB′ 2GB′ 3GB′
,
GBQ =
0
ĜB
0
ĜB
0
0
0
GC
where GB′ is the matrix obtained from GB after switching twos by ones in their
γB rows of order two and GˆB is the matrix obtained from GB after removing their
γB rows of order two.
Proposition 8 The quaternary linear code BQ(A, B, C) is of type (4N ; γ, δ),
where γ = γA + γC and δ = δA + γB + 2δB + δC ; the binary length is n = 8N ;
the size is 2γ+2δ and the minimum distance d = min{4dA , 2dB , dC }.
7
Proof: The type, the length and the size of BQ(A, B, C) can be easily computed from the definition of the code.
To check the minimum distance of BQ(A, B, C) let us consider any vector u =
(u1 |u1 |u1 |u1 ) + (0|u2 |2u2 |3u2 ) + (0|0|u3 |u3 ) + (0|0|0|u4 ) ∈ BQ(A, B, C), where
u1 ∈ A; u2 ∈ B ′ ; u3 ∈ B̂ and u4 ∈ C. Codes B ′ and B̂ are the quaternary linear
codes generated by GB′ and ĜB , respectively. Since BQ(A, B, C) is a quaternary
linear code it is enough to show that the weight of u is at least d.
If u2 = 0 then by using the same arguments as in Proposition 6 we have
wL (u) ≥ min{4dA , 2dB , dC } because dB̂ ≥ dB .
If u2 6= 0 then we distinguish two cases. If u4 = 0 then
wL (u) = wL (u1 |u1 + u2 |u1 + 2u2 + u3 |u1 + 3u2 + u3 )
= (wL (u1 ) + wL (u1 + u2 )) + (wL (u1 + 2u2 + u3 ) + wL (u1 + 2u2 + u3 + u2 ))
= (wL (u1 ) + wL (u1 + 2u2 + u3 )) + (wL (u1 + u2 )) + wL (u1 + 2u2 + u3 + u2 ))
≥ wL (2u2 + u3 ) + wL (2u2 + u3 ) (by the triangle inequality)
≥ 2wL (2u2 + u3 ).
Note that 2u2 ∈ B and u3 ∈ B̂ ⊂ B. If u3 6= 2u2 then wL (2u2 + u3 ) ≥ dB
and wL (u) ≥ 2dB . If 2u2 = u3 then u2 ∈ B̂ and wL (u2 ) ≥ dB . So, wL (u) =
wL (u1 |u1 + u2 |u1 |u1 + u2 ) ≥ 2wL (u2 ) ≥ 2dB .
Using twice the triangle inequality, the case u4 6= 0 easily gives
wL (u) = wL (u1 |u1 + u2 ) + wL (u1 + 2u2 + u3 |u1 + 3u2 + u3 + u4 )
≥ wL (u2 ) + wL (u2 + u4 ) ≥ wL (u4 ).
Hence, d ≥ min{4dA , 2dB , dC }. But the equality holds after the following
considerations.
Taking the specific vector u1 ∈ A with minimum weight dA we obtain
wL (u1 |u1 |u1 |u1 ) = 4dA .
Taking the specific vector u4 ∈ C with minimum weight dC we obtain
wL (0|0|0|u4 ) = dC .
Taking the specific vector u2 ∈ B with minimum weight dB we obtain the
following. Note that B ⊂ B ′ and so we can write the vector u2 as u2 = v̂ + 2w′ ,
where v̂ ∈ B̂ and w′ ∈ B ′ \B̂. Take the vector u2 = v̂ + 2w′ ∈ B ′ and, moreover,
the vector û = 2v̂ ∈ B̂ and compose the vector (0|u2 |2u2 + û|3u2 + û) =
(0|u2 |0|u2 ) which belongs to BQ(A, B, C). This vector has minimum Lee weight
2dB .
3
Quaternary Reed-Muller codes
The usual binary linear RM family of codes is one of the oldest and interesting family of codes. The codes in this family are easy to decode and their
combinatorial properties are of great interest to produce new optimal codes.
8
For any integer m ≥ 1 the family of binary linear RM codes is given by the
sequence RM (r, m), where 0 ≤ r ≤ m. The code RM (r, m) is called the r-th
order binary linear Reed-Muller code of length n = 2m and it is true that
RM (0, m) ⊂ RM (1, m) ⊂ . . . ⊂ RM (r − 2, m) ⊂ RM (r − 1, m) ⊂ RM (r, m).
Let 0 ≤ r ≤ m, m ≥ 1. Following [12] the RM (r, m) code of order r can be
constructed by using the Plotkin construction in the following way:
m
RM (0, m) = {0, 1}, RM (m, m) = Z22 ,
RM (r, m) = {(u1 |u1 + u2 ) : u1 ∈ RM (r, m − 1), u2 ∈ RM (r − 1, m − 1)}.
(3)
It is important to note that if we fix m, once we know the sequence RM (r, m)
for all 0 ≤ r ≤ m, then it is easy to obtain the new sequence RM (r, m + 1) by
using the Plotkin construction (3).
Moreover, the codes in the RM family fulfill the basic properties summarized
in the following theorem:
Theorem 9 ([12]) The binary linear Reed-Muller family of codes {RM (r, m)},
0 ≤ r ≤ m, has the following properties:
1. the length n = 2m , m ≥ 1;
2. the minimum distance d = 2m−r ;
r
X
m
;
3. the dimension k =
i
i=0
4. the code RM (r − 1, m) is a subcode of RM (r, m), r > 0. The code
RM (0, m) is the repetition code with only one nonzero codeword (the all
m
ones vector). The code RM (m, m) is the whole space Z22 and RM (m −
1, m) is the even code (that is, the code with all the vectors of even weight
m
from Z22 );
5. the code RM (1, m) is the binary linear Hadamard code and RM (m− 2, m)
is the extended binary Hamming code of parameters (2m , 2m − m − 1, 4);
6. the code RM (r, m) is the dual code of RM (m − 1 − r, m) for 0 ≤ r < m.
In the recent literature [7, 20, 2, 3] several families of quaternary linear codes
have been proposed and studied trying to generalize the RM codes. However,
when we take the corresponding Z4 -linear codes, they do not satisfy all the
properties in Theorem 9. This last requirement is the main goal of the present
work, to construct new families of quaternary linear codes such that, after the
Gray map, we obtain Z4 -linear codes with the parameters and properties quoted
in Theorem 9. The result of the present paper generalizes the results in [19].
Further we will refer to these quaternary linear Reed-Muller codes as RM
to distinguish them from the binary linear Reed-Muller codes RM . Contrary
to the binary linear case, where there is only one RM family, in the quaternary
case we have ⌊ m+1
2 ⌋ families for each value of m. We will distinguish these
families by using subindexes s from the set {0, . . . , ⌊ m−1
2 ⌋}.
9
Table 1: RM(r, m) codes for m = 1
N
1
3.1
(r, m)
(0,1) (1,1)
(γ,δ)
(1,0) (0,1)
RM0 (r, 1)
The family of RM(r, 1) codes
We begin by considering the trivial case of m = 1, that is, the case of codes
of binary length n = 21 . The quaternary linear Reed-Muller code RM(0, 1)
is the repetition code with only one nonzero codeword (the vector with only
one quaternary coordinate of value 2). This quaternary linear code is of type
(1; 1, 0). The code RM(1, 1) is the whole space Z14 , so a quaternary linear code
of type (1; 0, 1).
These two codes, RM(0, 1) and RM(1, 1), after the Gray map, give binary
codes with the same parameters of the corresponding binary codes RM (r, 1) and
with the same properties described in Theorem 9. In this case, when m = 1, not
only these codes have the same parameters, but they have the same codewords.
We will refer to these codes as RM0 (0, 1) and RM0 (1, 1), respectively, as it
is shown in Table 1. In each entry of this table there are the parameters (γ, δ)
of the corresponding code of type (N ; γ, δ).
Since we will need an specific representation for these codes in Table 1, we
will agree in using further the following matrices as the generator matrices
for
2
each one of them. The generator matrix of RM0 (0, 1)
is
G
(0,
1)
=
and
0
the generator matrix of RM0 (1, 1) is G0 (1, 1) = 1 .
3.2
Plotkin and BQ-Plotkin constructions
The first important point is to apply the Plotkin construction to quaternary
linear Reed-Muller codes.
Let RMs (r, m− 1) and RMs (r − 1, m− 1), 0 ≤ s ≤ ⌊ m−2
2 ⌋, be any two RM
s
s
s
s
codes of type (N ; γr,m−1
, δr,m−1
) and (N ; γr−1,m−1
, δr−1,m−1
); binary length
n = 2m−1 ; number of codewords 2kr and 2kr−1 ; minimum distance 2m−r−1 and
2m−r respectively, where
kr =
r−1
r
X
X
m−1
m−1
.
, kr−1 =
i
i
i=0
i=0
Theorem 10 For any r and m ≥ 2, 0 < r < m, the code obtained by using the
Plotkin construction
RMs (r, m) = {(u1 |u1 + u2 ) : u1 ∈ RMs (r, m − 1), u2 ∈ RMs (r − 1, m − 1)},
10
Table 2: RM(r, m) codes for m = 2
N
2
(r, m)
(0, 2) (1, 2) (2, 2)
(γ, δ)
(1, 0) (1, 1) (0, 2) RM0 (r, 2)
s
s
where 0 ≤ s ≤ ⌊ m−1
2 ⌋, is a quaternary linear code of type (2N ; γr,m , δr,m ),
s
s
s
s
s
s
where γr,m = γr,m−1 + γr−1,m−1 and δr,m = δr,m−1 + δr−1,m−1 ; the binary
r
X
m
, the code
length is n = 2m ; the number of codewords is 2k , where k =
i
i=0
distance is 2m−r and RMs (r − 1, m) ⊂ RMs (r, m).
For r = 0, the code RMs (0, m) is the repetition code with only one nonzero
codeword (the all twos vector). For r = m, the code RMs (m, m) is the whole
m−1
space Z42
.
s
s
Proof: The type (2N ; γr,m
, δr,m
) of the code RMs (r, m), its size and the
minimum distance can be computed from Proposition 2. Since RMs (r − 1, m −
1) ⊂ RMs (r, m − 1) and RMs (r − 2, m − 1) ⊂ RMs (r − 1, m − 1), then
taking into account the codes given in the previous section by induction we get
RMs (r − 1, m) ⊂ RMs (r, m).
For m = 2, taking the RM0 (r, 1) codes in Table 1 and applying Theorem 10
we obtain the codes in Table 2. The generator matrices for these codes are the
following
0 2
1 0
; RM0 (2, 2) :
. (4)
RM0 (0, 2) : 2 2 ; RM0 (1, 2) :
1 1
0 1
For m = 3, it is well known that there exist two Z4 -linear Hadamard codes
[10]. So, our goal is to construct two families of quaternary linear Reed-Muller
codes as it is shown in Table 3. The codes in the first row of Table 3 can
be obtained due to the Plotkin construction from the codes of Table 2. But,
the codes in the second row can not be obtained by using only the Plotkin
construction. It is in this case that we need to exploit the new BQ-Plotkin
construction as we will see later in this section.
Constructions of additive codes with the parameters of the binary linear
Reed-Muller codes by using only the Plotkin construction were initiated in [16,
19].
Lemma 11 Let {Ai }, i = 1, 2, 3, 4, be a family of four quaternary linear codes
of types (N ; γi , δi ) with generator matrices Gi , respectively. Let A′i and Âi be
11
Table 3: RM(r, m) codes for m = 3
N
4
4
(r, m)
(0, 3) (1, 3) (2, 3) (3, 3)
(γ, δ)
(1, 0) (2, 1) (1, 3) (0, 4) RM0 (r, 3)
(1, 0) (0, 2) (1, 3) (0, 4) RM1 (r, 3)
the codes generated by Gi′ and Ĝi , respectively, such that for i = 1, 2, 3 it is true
that
(i) Ai ⊂ Ai+1 ;
(ii) Âi ⊂ Âi+1 ;
(iii) A′i ⊂ A′i+1 ;
(iv) A′i ⊂ Ai+1 .
Then, the family {PC(Ai+1 , Ai )} of the three codes PC(A2 , A1 ), PC(A3 , A2 )
and PC(A4 , A3 ) satisfies (i), (ii), (iii) and (iv) for i = 1, 2 and the family
{BQ(Ai+2 , Ai+1 , Ai )} of the two codes BQ(A3 , A2 , A1 ) and BQ(A4 , A3 , A2 )
satisfies the properties (i), (ii), (iii) and (iv) for i = 1.
Proof: It is straightforward to see that the Plotkin construction fulfills the
properties.
For the BQ-Plotkin construction the property (i) is clear from Definition 7.
ˆ
Now, the generator matrix of BQ(A
i+2 , Ai+1 , Ai ) has the following form:
Ĝi+2
0
0
0
Ĝi+2
′
Gi+1
0
0
Ĝi+2
′
2Gi+1
Ĝi+1
0
Ĝi+2
′
3Gi+1
.
Ĝi+1
Ĝi
(5)
Using the properties (ii) and (iii) for the matrices Gi , Gi+1 , Gi+2 , we get
the property (ii) for BQ(Ai+2 , Ai+1 , Ai ) and i = 1.
Since, the generator matrix of BQ′ (Ai+2 , Ai+1 , Ai ) has the form
′
′
′
′
Gi+2 Gi+2
Gi+2
Gi+2
′
′
′
0
Gi+1 2Gi+1 3Gi+1
,
(6)
0
Ĝi+1
0
Ĝi+1
0
0
0
Gi′
using the properties (ii) and (iii) for the matrices Gi , Gi+1 , Gi+2 we obtain the
property (iii) for BQ(Ai+2 , Ai+1 , Ai ) and i = 1.
12
Finally, the generator matrix of BQ(Ai+2 , Ai+1 , Ai ) has the form
Gi+2 Gi+2 Gi+2
Gi+2
′
′
′
0
Gi+1
2Gi+1
3Gi+1
.
0
Ĝi+1
0
Ĝi+1
0
0
0
Gi
(7)
Using the properties (ii), (iii) and (iv) for the matrices Gi , Gi+1 , Gi+2 we obtain
the property (iv) for BQ(Ai+2 , Ai+1 , Ai ) and i = 1.
Let RMs−1 (r, m − 2), RMs−1 (r − 1, m − 2) and RMs−1 (r − 2, m − 2),
s−1
s−1
0 < s ≤ ⌊ m−3
2 ⌋, m > 3, be any three RM codes of type (N ; γr,m−2 , δr,m−2 ),
s−1
s−1
s−1
s−1
(N ; γr−1,m−2
, δr−1,m−2
) and (N ; γr−2,m−2
, δr−2,m−2
); binary length n = 2m−2 ;
kr−2
kr−1
kr
; minimum distances 2m−r−2 , 2m−r−1
and 2
number of codewords 2 , 2
m−r
and 2
respectively, where
r−2
r−1
r
X
X
X
m−2
m−2
m−2
.
, kr−2 =
, kr−1 =
kr =
i
i
i
i=0
i=0
i=0
Let Gs (r, m), 0 < r < m − 1, be the matrix
Gs−1 (r, m − 2)
Gs−1 (r, m − 2)
Gs−1 (r, m − 2)
Gs−1 (r, m − 2)
′
′
′
0
G
(r
−
1,
m
−
2)
2G
(r
−
1,
m
−
2)
3G
(r − 1, m − 2)
s−1
s−1
s−1
0
0
Ĝs−1 (r − 1, m − 2) Ĝs−1 (r − 1, m − 2)
0
0
0
Gs−1 (r − 2, m − 2)
(8)
For the special case r = 1 we need to define Gs−1 (−1, m− 2) as the generator
matrix of the all zero codeword code.
Theorem 12 For any r and m ≥ 3, 0 < r < m − 1, the RMs (r, m) code,
0 < s ≤ ⌊ m−1
2 ⌋, obtained by using the BQ-Plotkin construction in Definition 7
and with the generator matrix Gs (r, m) defined in (8), is a quaternary linear
s−1
s−1
s−1
s
s
s
s
code of type (4N ; γr,m
, δr,m
), where γr,m
= γr,m−2
+ γr−2,m−2
; δr,m
= δr,m−2
+
s−1
s−1
s−1
m
γr−1,m−2 + 2δr−1,m−2 + δr−2,m−2 ; the binary length is n = 2 ; the number
r
X
m
k
; the minimum distance is 2m−r and
of codewords is 2 , where k =
i
i=0
RMs (r − 1, m) ⊂ RMs (r, m).
s
s
Proof: The type (4N ; γr,m
, δr,m
) of the code RMs (r, m) and the minimum
distance can be computed from Proposition 8.
To compute the size note that
2k = |RMs (r, m)| =
|RMs−1 (r, m − 2)| × |RM′s−1 (r − 1, m − 2)|
ˆ s−1 (r − 1, m − 2)| × |RMs−1 (r − 2, m − 2)|,
×|RM
13
ˆ s−1 (r − 1, m − 2) are the quaternary linear
where RM′s−1 (r − 1, m − 2) and RM
′
codes generated by Gs−1 (r−1, m−2) and Ĝs−1 (r−1, m−2), respectively. Hence,
s−1
s−1
ˆ s−1 (r − 1, m − 2)| = 22γr−1,m−2 +4δr−1,m−2 = 22kr−1
|RM′s−1 (r − 1, m − 2)| × |RM
So, k = kr + 2kr−1 + kr−2 . Finally, we obtain
k
=
=
r
X
m−2
i=0
r
X
i=0
i
+2
m−1
+
i
r−1
X
m−2
r−2
X
m−2
i
i=0
X
r
m
m−1
.
=
i
i
i=0
i=0
r−1
X
i=0
+
i
To prove that RMs (r − 1, m) ⊂ RMs (r, m) notice that from Lemma 11 and
since the codes of Table 1 and Table 2 fulfill the four conditions of this lemma
we can conclude by induction that the code generated by the matrix Gs (r−1, m)
is a subcode of the code generated by the matrix Gs (r, m).
For every 0 < s ≤ ⌊ m−1
2 ⌋ the family of codes RMs (r, m) constructed using
the above theorem is incomplete in the sense that the codes RMs (−1, m),
RMs (0, m), RMs (m − 1, m), RMs (m, m) do not come from the construction.
To be coherent with all the notations, for r = −1, the code RMs (−1, m) is
defined as the all zero codeword code. For r = 0, the code RMs (0, m) is defined
as the repetition code with only one non zero codeword (the all twos quaternary
vector). For r = m − 1 and r = m, the codes RMs (m − 1, m) and RMs (m, m)
m−1
are defined as the even weight code and the whole space Z42
, respectively.
The construction of the families of Reed-Muller codes in Theorem 12 is based
on the generator matrices and so, for each index s, we need a generator matrix
for the codes RMs (−1, m), RMs (0, m), RMs (m − 1, m), RMs (m, m).
0 · · · 0 , Gs (0, m) =
We will
use the following generator matrices: Gs (−1, m) =
2 · · · 2 , Gs (m, m) = I2m−1 .
The generator matrix Gs (m − 1, m) will be recursively obtained by using
the BQ-Plotkin construction BQ(RMs−1 (m − 2, m − 2), RMs−1 (m − 2, m −
2), RMs−1 (m − 3, m − 2)) (see Definition7).
Proposition 13 For m ≥ 3, the matrix Gs (m − 1, m) of Definition 7 associated
to BQ(RMs−1 (m − 2, m − 2), RMs−1 (m − 2, m − 2), RMs−1 (m − 3, m − 2)) is
a generator matrix of RMs (m − 1, m).
Proof: All the rows in matrix Gs (m − 1, m) are vectors of even weight. So,
to prove that this matrix generates RMs (m − 1, m) we only need to check if
the dimension is the adequate.
s
s
= 1 and δm−1,m
=
We will prove, by induction on m ≥ 1, that γm−1,m
m−1
2
− 1. The claim is trivially true for m = 1 and m = 2 using the matrices
defined in section 3.1 and in (4). Suppose the claim is true for m ≥ 2.
14
Table 4: RM(r, m) codes for m = 4
N
8
8
(r, m)
(0, 4) (1, 4) (2, 4) (3, 4) (4, 4)
(γ, δ)
(1, 0) (3, 1) (3, 4) (1, 7) (0, 8)
(1, 0) (1, 2) (1, 5) (1, 7) (0, 8)
RM0 (r, 4)
RM1 (r, 4)
Since the matrix Gs (m − 1, m) is upper triangular, we must to add the
′
respective values γ and δ of Gs−1 (m − 2, m − 2), Gs−1
(m − 2, m − 2), Ĝs−1 (m −
2, m − 2) and Gs−1 (m − 3, m − 2).
s−1
s−1
′
By induction, γm−3,m−2
= 1 and δm−3,m−2
= 2m−3 − 1. Since Gs−1
(m −
s−1
2, m − 2) = Ĝs−1 (m − 2, m − 2) = Gs−1 (m − 2, m − 2) we have γm−2,m−2 = 0
s−1
and δm−2,m−2
= 2m−3 .
s
s
Hence, we obtain γm−1,m
= 0 + 0 + 0 + 1 = 1, δm−1,m
= 2m−3 + 2m−3 +
m−3
m−3
m−1
2
+2
−1=2
− 1.
Note that with these definitions of RMs (−1, m), RMs (0, m), RMs (m −
1, m), RMs (m, m), the family of codes RMs (r, m), 0 ≤ r ≤ m, 0 < s ≤ ⌊ m−1
2 ⌋,
fulfills the four conditions of Lemma 11.
Using Theorems 10 and 12 we can construct the RM codes in the two rows
of Table 3. We do not write the generator matrices for codes RM0 (r, 3) because
they can be directly obtained from the respective codes for m = 2 by using the
Plotkin construction. For the codes in the family RM1 (r, 3) we present the
generator matrices as a direct application of Theorem 12:
0
1 1 1 1
1
; RM1 (2, 3) :
RM1 (0, 3) : 2 2 2 2 ; RM1 (1, 3) :
0
0 1 2 3
0
(9)
2
and the remaining code RM1 (3, 3) in the family is the whole space Z24 .
All these codes, after the Gray map, give binary codes with the same parameters as the codes RM (r, 3) and with the same properties described in Theorem 9.
In the case m = 3, like in the case m = 2 not only these codes have the same
parameters, but they have the same codewords. This is not in this way for all
the other values m > 3.
Now, from Table 3 and by using the Plotkin construction we can construct
the two families of the codes RMs (r, 4) for s = 0, 1, as it is shown in Table 4.
Note that the family of codes RM1 (r, 4) also can be obtained using the BQPlotkin construction from the family of codes RM0 (r, 2) in Table 2.
From the codes in Table 4 applying the Plotkin construction we can construct
the two families of RMs (r, 5), s = 0, 1, as it is shown in Table 5. The third
15
0
1
1
0
0
1
2
1
2
1
3
1
Table 5: RM(r, m) codes for m = 5
(r, m)
(3, 5) (4, 5) (5, 5)
(γ, δ)
(1, 0) (4, 1) (6, 5) (4, 11) (1, 15) (0, 16)
(1, 0) (2, 2) (2, 7) (2, 12) (1, 15) (0, 16)
(1, 0) (0, 3) (2, 7) (0, 13) (1, 15) (0, 16)
(0, 5) (1, 5) (2, 5)
N
16
16
16
RM0 (r, 5)
RM1 (r, 5)
RM2 (r, 5)
family in Table 5, RM2 (r, 5), is obtained applying the BQ-Plotkin construction
to the RM1 (r, 3) family of Table 3.
Note that RM0 (r, 5) only can be obtained applying the Plotkin construction,
RM2 (r, 5) only can be obtained applying the BQ-Plotkin construction, but
RM1 (r, 5) can be obtained by using the Plotkin or the BQ-Plotkin construction.
In general, for m > 1, the code RM0 (r, m) can be only obtained applying
the Plotkin construction. For m even and m odd, but s 6= m−1
2 , families of
RMs (r, m) can be obtained applying the Plotkin or the BQ-Plotkin construction. For m odd and s = m−1
2 , RMs (r, m) only can be obtained applying the
BQ-Plotkin construction. A question arises at this point, how many families of
Reed-Muller codes can be obtained combining the Plotkin and the BQ-Plotkin
constructions? Next proposition proves that no new codes appear when we
combine both these constructions.
Given three quaternary linear codes A, B and C, we remind that PC(A, B)
is the quaternary linear code obtained applying the Plotkin construction (see
Definition 1) and BQ(A, B, C) is the quaternary linear code obtained by using
the BQ-Plotkin construction (see Definition 7). The following proposition shows
that the two constructions commute.
Proposition 14 Given four quaternary linear codes A, B, C and D, then the
codes
PC(BQ(A, B, C)), BQ(B, C, D)) and BQ(PC(A, B), PC(B, C), PC(C, D)) are permutationally equivalent.
The proof is straightforward.
Notice that the same result is true changing the BQ-Plotkin construction by
the quaternary Plotkin construction or the double Plotkin construction.
From now on, when we talk about the family of Reed-Muller codes {RMs (r, m)}
constructed by using the Plotkin and the BQ-Plotkin constructions we will assume that for m even and m odd, but s 6= m−1
2 , these families of codes are
obtained applying the Plotkin construction. For m odd and s = m−1
2 , the
family of codes is obtained applying the BQ-Plotkin construction.
The following lemma computes the values for the parameters γ and δ of the
RMs (r, m) codes in the specific case when m is odd, m ≥ 3 and s = m−1
2 .
16
Lemma 15 For odd m, m ≥ 3 and s = m−1
we have the following values for
2
s
s
the parameters γr,m
and δr,m
of the RMs (r, m) code built by using the BQPlotkin construction with the generator matrix (8):
s
(i) For odd r it is true that γr,m
= 0.
s
(ii) For even r we have γr,m
=
(m−1)/2
.
r/2
s
s
s
(iii) The following equalities δm,m
= 2m−1 , δm−1,m
= 2m−1 − 1 and δm−2,m
=
m+1
m−1
2
− 2 are true.
s−1
s−1
s
Proof: Note that by Proposition 8 it is true that γr,m
= γr,m−2
+ γr−2,m−2
0
0
with γ0,1
= 1 and γ1,1
= 0. Using induction we can prove (i) and (ii).
s
s
Clearly, δm,m = 2m−1 , δm−1,m
= 2m−1 − 1. The value of m is odd, hence
s
s
m − 2 is also odd and γm−2,m = 0. So, |RMs (m − 2, m)| = 22δm−2,m but,
m
m
m
also, |RM (m − 2, m)| = 22 −(m−1)−(m) . Finally, 2δ s
= 2m − m − 1 and
s
s
δm−2,m
= 2m−1 −
m+1
2 .
m−2,m
As it is proved in Theorems 10 and 12 the constructed families of RM
codes satisfy the same properties we stated for binary linear Reed-Muller codes
in Theorem 9 except for the duality. In the following Section we will discuss
this topic.
Notice that, after the Gray map, the constructed RM families of quaternary linear Reed-Muller codes have not only the same parameters as the usual
binary linear family of RM codes, but also the characteristic properties of codes
RMs (1, m) and RMs (m − 2, m) as it is stated in the following proposition.
Proposition 16 For any integer m ≥ 1 and 0 ≤ s ≤ ⌊ m−1
2 ⌋, after the Gray
map the code RMs (1, m) is a Z4 -linear Hadamard code and the code RMs (m−
2, m) is an Z4 -linear extended perfect code.
Proof: From Theorem 12 we have that the codes RMs (1, m), where 0 ≤ s ≤
⌊ m−1
2 ⌋, are quaternary linear and, under the Gray map, have the parameters of
Hadamard codes. Analogously all the codes RMs (m − 2, m), 0 ≤ s ≤ ⌊ m−1
2 ⌋,
after the Gray map, are Z4 -linear and have the parameters of extended perfect
binary codes. By the Krotov classification [9, 10], these codes could be only
Z4 -linear Hadamard and extended Z4 -linear perfect codes, respectively.
4
Duality
For the usual binary linear RM codes we know that the codes RM (r, m) and
RM (m − r − 1, m) are dual to each other. The families of RM codes have the
same property if we use the Kronecker inner product to define the Z4 -duality.
17
Throughout this section the notion of duality will be related to the Kronecker
inner product defined in (2).
We begin by studying the duality properties for the family of RM codes
obtained by using the BQ-Plotkin construction, that is, we are going to prove
the duality relationships for the family of codes RMs (r, m), m odd, s = m−1
2 ,
constructed from the family RMs−1 (r, m − 2).
Basically, we will prove this fact by induction but, previously, we need two
technical lemmas. We will use Gs (r, m) to refer to the generator matrix of code
RMs (r, m); the matrices Gs′ (r, m), Ĝs (m − r − 1, m) will have the meaning that
ˆ s (m − r − 1, m) will be the
we introduced in Definition 7 and RM′s (r, m), RM
′
codes generated by Gs (r, m) and Ĝs (m − r − 1, m), respectively.
Lemma 17 Let u, v ∈ ZN
4 be any two vectors such that u = (u1 |u2 ) and v =
N/2
(v1 |v2 ), where u1 , u2 , v1 , v2 ∈ Z4 . Then,
h(u1 |u2 ), (v1 |v2 )i⊗N = hu1 , v1 i⊗N/2 + 3hu2 , v2 i⊗N/2 .
(10)
Proof: Straightforward from the Kronecker inner product definition.
Lemma 18 Let m be an odd integer, m ≥ 3, N = 2m−1 and s = m−1
2 .
Let {RMs (r, m)} be the family of RM codes obtained in Theorem 12 by using the BQ-Plotkin construction. Then, for each 0 ≤ r ≤ m, for all u ∈
ˆ s (m − r − 1, m) we have hu, vi⊗N = 0.
Gs′ (r, m)\Ĝs (r, m) and v ∈ RM
Proof: We proceed by induction on m beginning with m = 3. Using (9) it is
easy to see that the assertion is true for m = 3.
For the case when r is odd the statement is trivially true, since there is
s
nothing to proof. Indeed, from Lemma 15, γr,m
= 0 and so Gs′ (r, m)\Ĝs (r, m) =
∅. Hence, along this proof we can take r as an even integer.
Now, for m > 3 and 0 < r ≤ m − 2, assume by induction hypothesis that
′
ˆ s (m − r − 3, m − 2) is
for all x ∈ Gs−1
(r, m − 2)\Ĝs−1 (r, m − 2) and y ∈ RM
hx, yi⊗N/4 = 0.
ˆ s (m − r − 1, m) and u ∈ G ′ (r, m)\Ĝs (r, m), 0 < r ≤ m − 2. We
Let v ∈ RM
s
will prove by induction that hu, vi⊗N = 0.
From Proposition 8, we have u = (u1 |u1 |u1 |u1 ) + (0|0|0|u4 ), where u1 ∈
′
′
Gs−1
(r, m − 2)\Ĝs−1 (r, m − 2) and u4 ∈ Gs−1
(r − 2, m − 2)\Ĝs−1 (r − 2, m − 2).
Also, we have v = (v1 |v1 |v1 |v1 ) + (0|v2 |2v2 |3v2 ) + (0|0|v3 |v3 ) + (0|0|0|v4 )
ˆ s−1 (m − r − 1, m − 2), v2 ∈ RM′ (m − r − 2, m − 2), v3 ∈
with v1 ∈ RM
s−1
ˆ
ˆ s−1 (m − r − 3, m − 2).
RMs−1 (m − r − 2, m − 2) and v4 ∈ RM
Now, by using Lemma 17:
hu, vi⊗N = 8hu1 , v1 i⊗N/4 + 12hu1 , v2 i⊗N/4 + 4hu1 , v3 i⊗N/4 + hu1 , v4 i⊗N/4
+ hu4 , v1 i⊗N/4 + 3hu4 , v2 i⊗N/4 + hu4 , v3 i⊗N/4 + hu4 , v4 i⊗N/4
= hu1 , v4 i⊗N/4 + hu4 , v1 i⊗N/4 + hu4 , zi⊗N/4 ,
where z = 3v2 + v3 + v4 .
18
By induction hypothesis hu1 , v4 i⊗N/4 = hu4 , v1 i⊗N/4 = 0 and so we need
only to show that hu4 , zi⊗N/4 = 0.
ˆ s−1 (m− r − 3, m− 2) ⊂ RM
ˆ s−1 (m− r − 2, m−
From Lemma 11 we have RM
ˆ
ˆ
2) ⊂ RMs−1 (m − r − 1, m − 2) and so v3 + v4 ∈ RMs−1 (m − r − 1, m − 2).
As we said at the beginning of the proof, r is even. Therefore, we have that
s−1
m − r − 2 is odd and from Lemma 15, we obtain γm−r−2,m−2
= 0. Hence,
′
Gs−1 (m − r − 2, m − 2) = Ĝs−1 (m − r − 2, m − 2) and z = 3v2 + v3 + v4 ∈
′
ˆ s−1 (m − r − 1, m − 2). But u4 ∈ Gs−1
RM
(r − 2, m − 2)\Ĝs−1 (r − 2, m − 2).
Then, by induction hypothesis, hu4 , zi⊗N/4 = 0.
Finally, we prove the statement for r = 0; r = m − 1 and r = m.
For r = 0, we proceed by induction. Case m = 3 is trivially true taking
into account (9). We have u ∈ Gs′ (0, m)\Ĝs (0, m) and so u is the all ones
ˆ s (m − 1, m) is generated by the
vector u = (1, 1, . . . , 1). Any vector v ∈ RM
rows of Ĝs (m − 1, m), where Gs (m − 1, m) is the matrix defined in (8). Hence,
′
hu, vi⊗N = hu1 , v4 i⊗N/4 = 0, by induction hypothesis, since u1 ∈ Gs−1
(0, m −
ˆ
2)\Ĝs−1 (0, m − 2) and v4 ∈ RMs−1 (m − 3, m − 2).
For r = m − 1 we have u = (0, 0, . . . , 0, 1) ∈ Gs′ (m − 1, m)\Ĝs (m − 1, m) and
v = (0, 0, . . . , 0) ∈ Ĝs (0, m), therefore hu, vi⊗N = 0.
Finally, for r = m the claim is trivially true, because the set Gs′ (m, m)\Ĝs (m, m)
is empty.
Theorem 19 Let m be an odd integer, m ≥ 1, N = 2m−1 and s = m−1
the set
2
{RMs (r, m)} be the family of RM codes obtained in Theorem 12 by using the
BQ-Plotkin construction. Then, for each 0 ≤ r ≤ m, the code RMs (r, m) is a
quaternary dual of the code RMs (m − r − 1, m).
Proof: Since |RMs (r, m)| · |RMs (m − r − 1, m)| = 2m , it suffices to prove
that for every u ∈ Gs (r, m) and v ∈ Gs (m − r − 1, m) we have hu, vi⊗N = 0.
We proceed by induction on m. The claim is trivially true for m = 1.
Now, for m > 1 and 0 ≤ r ≤ m, assume by induction hypothesis that for all
x ∈ Gs−1 (r, m − 2) and y ∈ Gs−1 (m − r − 3, m − 2) it is true that hx, yi⊗N/4 = 0.
Let u ∈ Gs (r, m) and v ∈ Gs (m − r − 1, m) for any 0 < r ≤ m.
When 0 < r ≤ m − 2 we can use the following expressions for u and v:
u = (u1 |u1 u1 |u1 ) + (0|u2 |2u2 |3u2 ) + (0|0|u3 |u3 ) + (0|0|0|u4 ), where u1 ∈
′
Gs−1 (r, m − 2), u2 ∈ Gs−1
(r − 1, m − 2) u3 ∈ Ĝs−1 (r − 1, m − 2) and u4 ∈
Gs−1 (r − 2, m − 2);
v = (v1 |v1 |v1 |v1 ) + (0|v2 |2v2 |3v2 ) + (0|0|v3 |v3 ) + (0|0|0|v4 ), where v1 ∈
′
Gs−1 (m − r − 1, m − 2), v2 ∈ Gs−1
(m − r − 2, m − 2), v3 ∈ Ĝs−1 (m − r − 2, m − 2)
and v4 ∈ Gs−1 (m − r − 3, m − 2).
19
Therefore, applying Lemma 17 we get
hu, vi⊗N = 8hu1 , v1 i⊗N/4 + 12hu1 , v2 i⊗N/4 + 4hu1 , v3 i⊗N/4 + hu1 , v4 i⊗N/4 +
12hu2 , v1 i⊗N/4 + 24hu2 , v2 i⊗N/4 + 9hu2 , v3 i⊗N/4 + hu2 , v4 i⊗N/4 +
4hu3 , v1 i⊗N/4 + 9hu3 , v2 i⊗N/4 + 4hu3 , v3 i⊗N/4 + hu3 , v4 i⊗N/4 +
hu4 , v1 i⊗N/4 + 3hu4 , v2 i⊗N/4 + hu4 , v3 i⊗N/4 + hu4 , v4 i⊗N/4
= hu1 , v4 i⊗N/4 + hu2 , v3 i⊗N/4 + hu2 , v4 i⊗N/4 + hu3 , v2 i⊗N/4 + hu3 , v4 i⊗N/4 +
hu4 , v1 i⊗N/4 + 3hu4 , v2 i⊗N/4 + hu4 , v3 i⊗N/4 + hu4 , v4 i⊗N/4 .
(11)
All the terms in the above equation are zero as can be seen by induction
hypothesis either directly for hu1 , v4 i⊗N/4 and hu4 , v1 i⊗N/4 ; or using Lemma 11
for hu2 , v4 i⊗N/4 and hu4 , v2 i⊗N/4 ; or by Lemma 18 for hu2 , v3 i⊗N/4 and hu3 , v2 i⊗N/4 ;
or applying the inclusions RMs−1 (m−r−3, m−2) ⊂ RMs−1 (m−r−2, m−2) ⊂
RMs−1 (m − r − 1, m − 2) (see Theorem 12) as in hu3 , v4 i⊗N/4 , hu4 , v3 i⊗N/4
and hu4 , v4 i⊗N/4 .
It remains to prove that the statement is true for two cases: u ∈ Gs (m−1, m),
v ∈ Gs (0, m) and u ∈ Gs (m, m), v ∈ Gs (−1, m).
In the first case v = (2, 2, . . . , 2) and Gs (m − 1, m) is an even code. In the
second case v = (0, 0, . . . , 0). Therefore, in both these cases the statement is
also true.
Now we are going to prove the duality relationship for the families of codes
obtained by using the Plotkin construction.
Theorem 20 For any integer m ≥ 2, let {RMs (r, m)} be any families of RM
codes obtained in Theorem 10 by using the Plotkin construction. Then, for each
0 ≤ r < m, the code RMs (r, m) is the quaternary dual of the code RMs (m −
r − 1, m).
Proof: Since |RMs (r, m)| · |RMs (m − r − 1, m)| = 2m , it suffices to show
that for any u ∈ Gs (r, m) and v ∈ Gs (m − r − 1, m) we have hu, vi⊗N = 0.
We proceed by induction on m. The claim is trivially true for m = 2, see (4).
For even m and any s ≤ ⌊ m−1
2 ⌋, all the codes of the family RMs (r, m) are
constructed by using the Plotkin construction from the family RMs (r, m − 1).
m−1
The same happens when m is odd and s < m−1
2 . But for m odd and s =
2
the codes of the family RMs (r, m) are constructed by using the BQ-Plotkin
construction from RMs−1 (r, m − 2). Hence, the initial case for the induction
proof is not only m = 1, but any m odd and s = m−1
2 . This specific case was
proved in Theorem 19.
Now, suppose the claim is true for the family of codes RMs (r, m − 1), 0 ≤
r < m − 1 and 0 ≤ s ≤ ⌊ m−2
2 ⌋. Let u = (u1 |u1 + u2 ), where u1 ∈ Gs (r, m − 1),
u2 ∈ Gs (r − 1, m − 1) and v = (v1 |v1 + v2 ), where v1 ∈ Gs (m − r − 1, m − 1),
v2 ∈ Gs (m − r − 2, m − 1).
20
From Lemma 17 we have: hu, vi⊗N = hu1 , v1 i⊗N/2 + 3h(u1 + u2 ), (v1 +
v2 )i⊗N/2 = hu1 , v1 i⊗N/2 + 3hu1 , v1 i⊗N/2 + 3hu1 , v2 i⊗N/2 + 3hu2 , v1 i⊗N/2 +
3hu2 , v2 i⊗N/2 = 3hu1 , v2 i⊗N/2 + 3hu2 , v1 i⊗N/2 + 3hu2 , v2 i⊗N/2 .
By induction hypothesis, hu1 , v2 i⊗N/2 = 0 and hu2 , v1 i⊗N/2 = 0. Moreover,
hu2 , v2 i⊗N/2 = 0, since RMs (r − 1, m − 1) ⊂ RMs (r, m − 1).
We summarize the properties of the RM codes in the following theorem:
Theorem 21 For m ≥ 1, the quaternary linear Reed-Muller family of codes
{RMs (r, m)}, 0 ≤ s ≤ ⌊ m−1
2 ⌋, 0 ≤ r ≤ m, has the following properties:
1. the binary length equals n = 2m , m ≥ 1;
2. the minimum distance is d = 2m−r ;
r
X
m
3. the number of codewords is 2 , where k =
;
i
i=0
k
4. each code RMs (r − 1, m) is a subcode of the code RMs (r, m), r > 0. The
code RMs (0, m) is the repetition code with only one nonzero codeword
m−1
(the all twos vector). The code RMs (m, m) is the whole space Z42
and
RMs (m − 1, m) is the even code (i.e. the code with all the vectors of even
weight);
5. the codes RMs (1, m) and RMs (m − 2, m), under the Gray map, are a
Z4 -linear Hadamard and a Z4 -linear extended perfect codes respectively;
6. the code RMs (r, m) is the dual code of the code RMs (m − 1 − r, m) for
−1 ≤ r ≤ m.
In this section we used everywhere the Kronecker inner product to define
the duality relationship. But it is also possible to use the standard definition of
inner product given in (1) and, in this case, instead of the property 6) into the
above Theorem, we obtain an alternative property 6’) that we state as a new
result:
Theorem 22 For m ≥ 1 and 0 ≤ s ≤ ⌊ m−1
2 ⌋, given a quaternary linear ReedMuller family {RMs (r, m)} of codes, 0 ≤ r ≤ m, there exists a family of
quaternary linear Reed-Muller codes {RMs (r, m)}, monomially equivalent to
{RMs (r, m)}, such that the code RMs (r, m) is the dual code (by the standard
inner product) of RMs (m − 1 − r, m) for −1 ≤ r ≤ m.
Proof: We have hu, vi⊗N = u·KN ·vt = hu, v·KN i. Hence, we define the
code RMs (r, m) as the code generated by a matrix G s (r, m), where G s (r, m) =
Gs (r, m)·KN . Note that the code generated by the matrix G s (r, m) is monomially equivalent to the code generated by Gs (r, m).
21
5
Conclusion
New constructions based on quaternary linear codes has been proposed such
that, after doing a Gray map, the obtained Z4 -linear codes fulfill the same properties and fundamental characteristics as the binary linear RM codes. Apart
from the parameters characterizing each code an important property which remains in these new presented families is that the first order RM code is, under
the Gray map, a Z4 -linear Hadamard code and the (m − 2)-th order RM code,
after the Gray map, is a Z4 -linear extended perfect code, like in the usual binary
case. So the families of codes obtained in the paper, after the Gray map, contain the families of Z4 -linear extended perfect and Z4 -linear Hadamard codes
introduced in [9, 10]. Moreover, it is important to note that, after defining the
Kronecker inner product, the codes RM(r, m) and RM(m − r − 1, m) are dual
each other like in the binary linear case.
There are several questions and subjects related to this work where would
be of great interest to go deeply. The first one is about the generalization of the
constructions of RM codes to the case of general additive codes, so the case
of additive codes with α 6= 0. It is known from [5] that there exist Z2 Z4 -linear
perfect and Hadamard codes (which are not Z4 -linear) and these could be the
starting point of the new families. Other questions of interest are related to
uniqueness (up to equivalence) of the codes in a given family of RM codes,
weight distribution, etc.
References
[1] A. Bonnecaze, P. Solé, and A.R. Calderbank, “Quaternary quadratic
residue codes and unimodular lattices,” IEEE Trans. Inform. Theory,
V. 41. P. 366–377, 1995.
[2] J. Borges, C. Fernández, and K. T. Phelps, “Quaternary Reed-Muller
codes,” IEEE Trans. Inform. Theory, V. 51. N. 7. P. 2686–2691, 2005.
[3] J. Borges, C. Fernández, and K. T. Phelps, “ZRM codes,” to appear in
IEEE Trans. Inform. Theory, 2007.
[4] J. Borges, C. Fernández, J. Pujol, J. Rifà, and M. Villanueva, “Z2 Z4 -linear
codes: generator matrices and duality,” submitted to IEEE Trans. Inform.
Theory., 2007. Preprint available at http://arxiv.org/abs/0710.1149.
[5] J. Borges, and J. Rifà, “A characterization of 1-perfect additive codes,”
IEEE Trans. Inform. Theory, V. 45. N. 5. P. 1688-1697, 1999.
[6] P. Delsarte, “An algebraic approach to the association schemes of coding
theory,” Philips Research Rep. Suppl., V. 10, 1973.
[7] A.R. Hammons, P.V. Kumar, A.R. Calderbank, N.J.A. Sloane, and P. Solé,
“The Z4 -linearity of Kerdock, Preparata, Goethals and related codes,”
IEEE Trans. Inform. Theory, V. 40. P. 301–319, 1994.
22
[8] X-D. Hou, J.T. Lahtonen, and S. Koponen, “The Reed-Muller Code
R(r, m) is not Z4 -linear for 3 ≤ r ≤ m − 2,” IEEE Trans. Inform. Theory,
V. 44. P. 798–799, 1998.
[9] D. S. Krotov, “Z4 -linear perfect codes,” Discrete analysis and operation
research, Novosibirsk, Institute of Math. SB RAS, V. 7. N. 4. P. 78-90,
2000. Translation available at http://arxiv.org/abs/0710.0198.
[10] D. S. Krotov, “Z4 -linear Hadamard and extended perfect codes,” in International Workshop on Coding and Cryptography Paris (France) P. 329-334,
Jan. 8-12, 2001.
[11] C. Y. Lee, “Some properties of nonbinary error-correcting codes,” IRE
Trans. Inform. Theory, V. 4. N. 4. P. 77–82, June 1958.
[12] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting
Codes, North-Holland Publishing Company, 1977.
[13] A. A. Nechaev, “Kerdock codes in a cyclic form,” Disc. Math. V. 1. N. 4.
P. 123–139, 1989.
[14] K. Phelps, J. Rifà and M. Villanueva, “On the Additive (Z4-Linear and
Non-Z4-Linear) Hadamard Codes: Rank and Kernel”. IEEE Trans. Inform.
Theory, vol. 52, n. 1, pp. 316-319, January 2006.
[15] M. Plotkin, “Binary codes with specified minimum distances,” IEEE Trans.
Inform. Theory, V. 6. P. 445–450, 1960.
[16] J. Pujol and J. Rifà, “Additive Reed-Muller codes,” Proc. of Int. Symp. on
Inform. Theory, Ulm, Germany, P. 508, 1997.
[17] J. Pujol, J. Rifà and F. I. Solov’eva, “Quaternary Plotkin constructions
and Quaternary Reed-Muller codes”. Lecture Notes in Computer Science,
4851 P. 148–157, 2007.
[18] J. Rifà and J. Pujol, “Translation invariant propelinear codes,” IEEE
Trans. Inform. Theory, V. 43. P. 590–598, 1997.
[19] F. I. Solov’eva, “On Z4-linear codes with parameters of Reed-Muller codes,”
Problems of Inform. Trans. V. 43. N. 1. P. 26–32, 2007.
[20] Zhe-Xian Wan, Quaternary codes, Singapore: World Scientific Publishing
Co. Pte. Ltd, 1997.
23