Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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