Radomir S.Stankovi´c,∗ Jaakko Astola,∗∗ Claudio Moraga∗∗∗ PASCAL MATRICES, REED–MULLER EXPRESSIONS AND REED–MULLER ERROR CORRECTING CODES Abstract. Reed–Muller expressions are a way to analytically describe binary sequences viewed as truth-vectors of switching functions. Reed–Muller codes are a mean to improve reliability in transmitting binary sequences. Both concepts can be defined in terms of Reed–Muller matrices. These matrices can be viewed as a Pascal matrix (matrix of binomial coefficients) computed modulo 2. The Pascal matrix is a key concept starting from which these two concepts, the Reed–Muller expressions and the Reed–Muller codes, can be developed. Further, the Pascal matrices give a way towards two different, but equally possible, interpretations of the Reed–Muller expressions. Their elements are coefficients in polynomial expressions, while their columns can be viewed as basis functions in particular spectral representations. Particular rows of the Pascal matrix modulo 2 are selected to form the generator matrix of the Reed–Muller code. The link to Pascal matrices permits generalizations of the binary Reed–Muller codes into p-ary Reed–Muller codes. This link can be used conversely to define new functional expressions for p-valued functions. Mathematics Subject Classification (2010): Primary: 15-02, 43A32; Secondary 94B05. Keywords: Reed-Muler expressions, Reed-Muler codes, Pascal matrices, spectral transforms *Dept. of Computer Science, Faculty of Electronic Engineering, Niˇs, Serbia
[email protected] **Deptartment of Signal Processing, Tampere University of Technology, Tampere, Finland
[email protected] ***European Center for Soft Computing, Mieres, Spain TU Dortmund University, Dortmund, Germany
[email protected] Contents 1. Introduction 2. Pascal Matrices 2.1. Representations of Pascal Matrices 2.2. Matrix Exponentiation and the Pascal Matrix 2.3. Gibbs Exponentiation and the Pascal Matrix 2.4. Pascal Matrices over Finite Fields 3. Spectral Representations of p-valued Functions 3.1. Decomposition of the Pascal Matrix 4. Error-Correcting Codes 5. Reed–Muller Codes 6. Plotkin Constructions and Spectral Transforms 7. Closing Remarks References 146 147 148 149 150 151 153 157 159 163 167 169 169 1. Introduction Reed–Muller expressions are usually related to the work of Muller [39, 40] and Reed [45], although originated in the work of Zhegalkin in 1927 and 1928 [72, 73]. This is possibly due to their concrete engineering applications suggested in [39] and [45] and partially because of the language barrier, since Zhegalkin published in Russian although with extended few pages abstracts in French in both of these publications. The widespread usage of Reed–Muller expressions in Switching theory and Logic design is related to the observation that AND-EXOR expressions on the average require a smaller number of product terms than AND-OR expressions [47]. The Reed–Muller expressions can be alternatively viewed as particular spectral representations of switching functions [4, 7, 8]. In these settings, these expressions are determined by using the Reed–Muller matrices viewed as matrices whose columns are defined by Boolean monomials. The spectral interpretation originates in a search for fast computing methods for coefficients in the Reed–Muller expressions. The Fast Fourier Transform (FFT) like algorithms have been devised for computing the coefficients in the Reed–Muller expressions, see [7] for the binary case and [23] for the ternary case. Generalizations of these methods to other multivalued cases are straightforward. In the binary case, the elements of the Reed–Muller matrices are, therefore, binomial coefficients computed modulo 2. Binomial coefficients are elements of the Pascal matrix, and then the Reed–Muller matrix is the Pascal matrix with elements computed modulo 2. In the literature, the Reed–Muller matrix is reported under different names depending on the area of application or aimed at pointing out some of its features. For example, it is called the conjunctive transform matrix [4] since its columns can be expressed in terms of the logic AND (conjunction) of Boolean variables. If elements of the Pascal matrix are written in the form of a triangle, the term Pascal triangle is often used. The Pascal triangle modulo 2, is also called the For y = 1. The triangle was related to Pascal by Pierre Raymond de Monmort who reported it as Table de M. we refer to [11]. referring to the work by Waclaw Sierpi´ nski in 1915 and 1916 [50. The Reed–Muller codes are defined in terms of Boolean monomials. while Reed provided an efficient decoding algorithm in terms of the majority logic. it is interesting to mention algorithms using the transeunt triangles introduced in [64] and explored and elaborated later by several authors. and Abraham de Moivre reported in Latin as Triangulum Arithmeticum Pascalianum [69]. The work is attributed to the family of architects Cosmati [68]. 38]. The power n determines the row of the Pascal matrix where the corresponding binomial coefficients q are located. and Sierpi´ nski sieve. [9. which opens a way for further generalizations and extensions of these concepts to the p-valued case. The notion was known also to the Chinese mathematician Yang Hui in the same century. are related to the Pascal matrix. Reed–Muller Expressions and Codes 147 Sierpi´ nski triangle. the term Algebraic Normal Form (ANF) is used to denote the Reed–Muller expressions with all variables in positive polarity. see. 16.. This expansion consists of terms qxr y s . Since the Reed–Muller expressions can 1The cathedral of Anagni and also the Roman Basilica of Santa Maria in Cosmedin in Italy. it should be noticed that the same patterns can be found in certain mosaics from the 13th century in two churches in Italy 1 [70]. binomial coefficients can be identified as coefficients of terms xk in the polynomial expansion of (1 + x)n . for instance. and the work of the Indian scholar Pingala. For historical reasons. This observation permits a unified view to these different but related concepts. by referring to rows of the Reed–Muller matrices.e. Pascal Matrices The Pascal matrix is an infinite matrix P = [pi. Binomial coefficients are the coefficients (positive integers) appearing in the algebraic expansion of non-negative integer powers of a binomial (x + y)n .Pascal Matrices. For more discussions about the Pascal matrices. with r + s = n. 51.j ] whose elements are binomial coefficients arranged as a two-dimensional array. 10. and latter by Bhattotpala in 1068. both concepts. The notion spread to Europe by the work of the German scholar Petrus Apianus in the 16th century. There we can read in the voluminous literature on the subject that the Pascal triangle was used by Persian scholars Al-Karaji and Omar Khay´am in the 11th century. A discussion of relationships between the Sierpi´ nski triangle and the transeunt triangle is presented in [63]. . with variables represented by positive literals. Sierpi´ nski gasket. i. the Reed–Muller expressions and Reed–Muller codes. The same references of Muller [39] and Reed [45] are usually mentioned when discussing the Reed–Muller codes invented by Muller. The history of the Pascal triangle is very interesting as can be seen from [69] and dates back to the 2nd century BC. Pascal pour les combinaisons. or worded differently. 52]. Therefore. In coding theory and cryptography. as it was documented and used by Halayudha around 957. 2. When discussing different approaches to the computation of Reed–Muller expressions in the context presented in this paper. Further. i. we will consider the r! if r > s > 0 and q = 0 if extended binomial coefficients defined as rs = s!(r−s)! r < s. Representations of Pascal Matrices. . J. j = 0.j = i+j i . . (3) Upper triangular Un = [ui. the links between the generator matrices in coding theory were disclosed. 1. with si. .1. since their determinants are equal to 1. . 2. 1. n ∈ N . There are three forms of the (n × n) Pascal matrix. 1 4 10 20 35 1 5 15 35 70 It is easy to check that S5 = L5 U5 .j ]. (2) Symmetric Sn = [si. These matrices are unimodular. Example 1. (1) Lower triangular Ln = [li. n − 1. . the links to the Reed–Muller expressions are clear and have been observed and discussed by several authors. with ui. The Pascal matrix is often written the case of a (5 × 5) matrix 1 0 0 0 1 1 0 0 L5 = 1 2 1 0 1 3 3 1 1 4 6 4 Another way to write the Pascal matrix is the following example 1 1 1 0 1 2 U5 = 0 0 1 0 0 0 0 0 0 as a lower triangular matrix as in 0 0 0 .j = ji . n − 1. Stankovi´ c. j = 0. . N -the set of natural numbers. . L5 = UT5 . . Astola. i. the Pascal matrix can be written in symmetric form as 1 1 1 1 1 1 2 3 4 5 S5 = 1 3 6 10 15 . . 0 1 as the upper triangular matrix as in 1 3 3 1 0 1 4 6 .j = ji . C. i. j = 0.148 R. . for example. . Alternatively. In the following.j ].j ]. At the same time. 1. with li. S. . . 4 1 Notice that lower and upper triangular Pascal matrices are related by transposition and. n − 1. Sn = Ln Un . Moraga be compared to the Taylor expressions where xk is replaced by the product of k binary variables. . r! 2! 3! r=0 where I is the (n × n) identity matrix. The subdiagonal and superdiagonal matrices whose matrix exponential is the Pascal matrix with q rows and columns are nilpotent with k = q. i. The Pascal matrix is alternatively defined as the exponential of the matrix which has the sequence 1. It is clear that when X is a nilpotent matrix. Matrix Exponentiation and the Pascal Matrix. 3. consider the matrix 0 1 D = subdiag(1. eX is the (n × n) matrix determined by the power series eX = ∞ X 1 r 1 1 X = I + X + X2 + X3 + · · · .. In this case. Recall that the matrix exponential is a matrix function on square matrices analogous to the ordinary exponential function ex . Example 2. 0 0 0 0 3 D = 0 6 0 0 0 0 0 0 0 0 0 0 . 0 0 while D4 = 0. an (n×n) matrix whose elements are equal to 0.e. 0 1 2 3 0 0 1 3 0 0 . For n = 2. 3) = 0 0 0 0 2 0 0 0 . there exist some k such that Xk = 0 which is the zero matrix. A similar definition can be given in terms of the superdiagonal matrix with respect to the same sequence. the above series has k terms.2. . as elements of its subdiagonal and zero elsewhere. . 2.e.Pascal Matrices. the (4 × 4) Pascal matrix can be generated as follows. 0 0 0 0 0 3 The direct computation shows that 0 0 2 D = 2 0 0 0 0 6 0 0 0 0 0 0 . 4. Reed–Muller Expressions and Codes 149 2. i. the exponential of X.. It follows that eD 1 1 2 1 3 1 =I+D+ D + D = 1 2 6 1 which is the (4 × 4) Pascal matrix. which is a feature making the related computations feasible for reasonably large q. If X is an (n × n) real or complex matrix. 0 1 . 2. 75]. It is similar with the modified Pascal transform discussed below. Stankovi´ c. Consider the group G of p-valued n-vectors x = (x1 . σ(x)−1 (f g)(x) = X f (σ(x) − 1 − s)g(s). ∀x ∈ G. This multiplication is called the convolutionwise Gibbs multiplication [59] referring to [20]. x 6= 0. C. . The group G has the order g = |G| = pn . where Zp is the set of non-negative integers modulo p. (f g)(3) = f (2)g(0) + f (1)g(1) + f (0)g(2). (f g)(4) = f (3)g(0) + f (2)g(1) + f (1)g(2) + f (0)g(3). The first 9 rows and columns of the a (9 × 9) matrix 1 0 0 0 0 0 1 1 0 0 0 0 1 2 1 0 0 0 1 3 3 1 0 0 (2. Another way to generate the Pascal matrix is the following. . 2. . s=0 Thus. 21. . we have (f g)(0) = 0. This spectral transform has certain interesting applications. (f g)(2) = f (1)g(0) + f (0)g(1). 56. 0 0 0 1 For all n ∈ N . Pn For each x ∈ G.1) L= 1 4 6 4 1 0 1 5 10 10 5 1 1 6 15 20 15 6 1 7 21 35 35 21 1 8 28 56 70 56 Pascal matrix can be written as 0 0 0 0 0 0 1 7 28 0 0 0 0 0 0 0 1 8 0 0 0 0 0 ... xn ) with the group operation defined as the componentwise addition modulo p. . and define the multiplication for f and g in P (G) as [20] (2. (f g)(1) = f (0)g(0). are used as transform matrices for the Pascal transform. . We consider the space P (G) of all functions f : G → Zp . Notice that σ(pn − 1) = pn − 1.2) (f g)(0) = 0. .150 R. Gibbs Exponentiation and the Pascal Matrix. therefore.3. we define a p-adic contraction as σ(x) = i=1 xi pn−i .=. and references therein. See [2. S. Astola. the square matrices derived by selecting the first n rows and columns of the Pascal matrix are non-singular and. 57. Moraga Example 3. . J. 58. which can be defined as the Kronecker product of the basic Reed–Muller matrix.5) R(n) = R(1).. 1.4. pn − 1 and.4) L(32 ×32 ) mod 2 = 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 0 calculated modulo 2 are 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . 2.j = 0. Pp . in terms of the Gibbs multiplication in the field of rational numbers. In other words. ∀x ∈ G. as [53]. . The first 9 rows of the Pascal matrix 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 (2. .Pascal Matrices. Pascal Matrices over Finite Fields. j = 0. the Pascal (2 × 2) matrix modulo 2. is written as a lower triangular matrix.e. R(1) = . p-prime. i. If the Pascal matrix over a finite field of order pn . Lpn is a lower triangular matrix whose non-zero entries are the elements of the Pascal triangle taken mod p. .3) f (x) = 1. the Pascal (2n × 2n ) matrix modulo 2 is the Reed–Muller matrix defined as n O 1 0 (2. if j > i. The Pascal matrix can be computed also over finite fields of order p and then (pn × pn ) matrices defined by the first pn columns and rows of the Pascal matrix computed modulo p are used in functional expressions for n-variable p-valued functions and also to define non-binary Reed– Muller codes. Ppn = Pp ⊗ Ppn−1 mod p. 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 It is obvious that first 8 rows and columns are identical to the binary Reed– Muller transform matrix of order 8 = 23 . [54]. . its elements are defined as i Pi. 1 1 i=0 The (pn ×pn ) Pascal matrices over finite fields of a prime order p can be generated as the Kronecker product of the basic Pascal matrix of order p. then pi. Thus. Reed–Muller Expressions and Codes 151 Columns of the Pascal matrix can be generated as the integer powers of a function f (x) in P (G) defined as (2.j = (i!)((i − j)!j!)−1 = mod p j for i. Example 4. . by convention. p = 3 and n = 2. which is easy to verify by computing. for example. Example 6. 1 0 0 0 0 1 0 0 0 1 1 0 2 1 2 1 It is obvious that this matrix can be generated as the Kronecker product 1 0 0 (2. The same Kronecker product structure of the Pascal matrix with entries computed modulo p is preserved for any prime p.6) L(32 ×32 ) mod 3 = 1 1 0 1 1 1 2 1 1 2 1 0 0 2 0 1 1 0 2 2 1 2 1 2 1 calculated modulo 3 are 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .2) modulo 2. Astola. Then. C. Moraga Example 5. Stankovi´ c. 1 2 1 . The Kronecker product structure however does not hold for a non-prime p. S.7) L(32 ×32 ) mod 3 = L3 (1) ⊗ L3 (1). Consider the case p = 2 and n = 3. the binary Reed–Muller transform matrix has been generated by using the multiplication (2. The first 9 rows of the Pascal matrix 1 0 0 0 0 1 1 0 0 0 1 2 1 0 0 1 0 0 1 0 (2. 0 0 0 1 In [20]. J. For the ternary case. 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 which is the matrix defined by (2.5). the third column of the Pascal matrix modulo 4. L3 (1) = 1 1 0 .152 R. 1 0 0 0 1 1 0 0 1 2 1 0 1 0 0 1 P32 = 1 1 0 1 1 2 1 1 1 0 0 2 1 1 0 2 1 2 1 2 0 0 0 0 1 2 0 2 1 0 0 0 0 0 1 0 0 2 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 2 0 0 0 0 0 . 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 P23 = 1 0 0 0 1 0 0 0 . and −1 Pp mod p = Pp−1 mod p [55]. Given a function f ∈ P (G). otherwise. if Jp is a (p × p) matrix with elements on the secondary diagonal equal to 1. p − 1. A basis X in P (G) is any set of its pn linearly independent vectors. represent f as a linear combination of elements of a selected basis X. j = 0. . 0 0 0 0 0 1 4 0 0 0 0 1 0 0 −1 −1 P−1 pn = Pp ⊗ Ppn−1 1 3 1 0 0 4 3 2 1 0 1 1 1 . In the following sections. The Pascal matrix over GF (5) and its inverse 1 1 1 1 1 1 4 0 1 0 1 2 3 4 4 Pp = P−1 p = Pp = 0 0 0 0 1 3 1 .Pascal Matrices. where Ip is the identity matrix of order p. enumeration is space inefficient. . for i. we will discuss the application of basic (p × p) Pascal matrices computed modulo p in spectral representations of multiple-valued functions and definition of error-correcting codes. Reed–Muller Expressions and Codes 153 The inverse of the Pascal matrix over GF (p). Ppp = Ip . 3. then T T ⊗n ⊗n T ⊗n P−1 p = (Jp · Pp · Jp ) ⊗ · · · ⊗ (Jp · Pp · Jp ) = (Jp (Pp ) · Jp ). in many practical applications. . Spectral Representations of p-valued Functions A function f ∈ P (G) is uniquely specified by enumerating the values it takes over the domain G. These functions are called a basis. for p-prime. we will consider basis functions derived or related to Pascal matrices. 1 1 mod p. skew identity matrix. and it is desirable that they exhibit certain properties useful in practical applications. In this section. p Example 7. 1. it is convenient to decompose a function modeling a signal into a linear combination of functions modeling signals whose behavior is well known. and since −1 −1 P−1 pn = Pp ⊗ · · · ⊗ Pp mod p. In spectral representations of functions of p-valued variables. In other words. if j > i. the main task is the following. Qp . then 4 T P−1 p = Pp = Jp · Pp · Jp . For p = 3. . is defined as a matrix with elements ( (−1)j−i ji mod p. When the cardinality of the support set of G is large. and often analytical representations are used. qij = 0. . Further. Example 8. Astola. 1 0 G2 = 1 1 1 1 G4 = 1 1 (G2 )−1 (G4 )−1 0 1 2 3 0 0 0 1 0 0 1 3 1 0 = 1 1 1 3 = 1 3 0 1 2 3 1 G3 = 1 1 0 0 1 1 1 1 G5 = 1 1 1 (G3 )−1 0 0 0 1 (G5 )−1 0 0 1 0 2 1 0 1 2 3 4 0 0 1 3 1 1 = 2 1 1 4 = 1 4 1 0 1 3 3 1 0 0 0 1 4 0 0 0 0 1 0 0 1 0 1 1 0 0 1 2 1 0 0 0 1 1 0 0 0 0 1 Different bases are selected for different applications. For p = 2.5).. a basis suitable from both theoretical and practical point of view is the Reed–Muller basis defined by (2. however. f (p − 1)]T another vector of the same order Sf = [Sf (0). the spectral representation of f means the redistribution of the information content of f among the spectral coefficients.154 R.e. but modulo 4. Sf (p − 1)]T from the same or a different vector space. Notice that in this table the inverse of G4 is not calculated in the finite field of order 4. the spectral representation means assigning to a function f specified by the function vector F = [f (0). Moraga Table 1. 4. i. In other words. .. A direct generalization to p > 2 by using the corresponding basic matrices derived from the Pascal matrix computed modulo p is possible. . . Basic Pascal transform matrices modulo p for p = 2. we are particularly interested in bases related to columns of the Pascal matrices over finite fields.e. The set of pn coefficients in this linear combination (the spectrum of f with respect to the basis X) is computed as the inner products of f and elements of X. .5) is not preserved as it can be seen from Table 1. Stankovi´ c. C. . . . i. a problem is that the property of self-inverseness for R(1) in (2. In this paper. . 5 and their inverses. in the ring of integers modulo 4. 3. . J. by columns of the Pascal matrix modulo 2. S. as noticed in [37]. Therefore. For p = 2. 0. 5. Example 10. Reed–Muller Expressions and Codes 155 Table 2. while products of variables and their powers are computed modulo p followed by the multiplication with p − 1. we first generate the monomials ∗0 x∗1 x∗2 x∗2 X3 = x∗0 ⊗ x2 x∗1 1 1 1 2 2 = 2 x2 x∗2 x1 x1 ⊙ x2 x1 ⊙ x∗2 2 2 ∗2 ∗2 ∗2 ∗2 x1 x1 ⊙ x2 x1 ⊙ x2 .Pascal Matrices. Example 9. integers. .RMF (1) = 1 1 0 3 2 1 0 0 1 3 1 0 R3. Consider the switching function f (x1 . For other values of p the powers of variables are computed in terms of the Gibbs multiplication. as it has been done in defining the Reed–Muller–Fourier (RMF) transforms [61. 1]T . 5. For p = 3. 3. 4. the Arithmetic. the basis functions in the RMF-transform are produced. x2 ) = x1 x2 ⊕ x1 x2 ⊕ x1 x2 . and complex numbers. we take the function f (x) ≡ p − 1.RMF (1) = 1 1 1 1 R4. the Walsh. For p = 2. 62]. Basic RMF-matrices for p = 2.RMF (1) = 1 2 1 1 0 0 0 3 1 1 R5. Table 2 shows the basic matrices for RMF-spectral transforms derived in this way for p = 2. where ∗ states for the exponentiation based on the Gibbs multiplication defined in Table 3. and the Vilenkin–Chrestenson transform matrices. Table 4 shows the Reed–Muller. these products can be identified as the logic AND of binary valued variables. the first 8 columns of the Pascal matrix modulo 2 can be expressed as X2 = 1 x1 ⊗ 1 x2 ⊗ 1 x3 = 1 x3 x2 x2 x3 x1 x1 x3 x1 x2 x1 x2 x3 . and ⊙ is the multiplication modulo 3 followed with the multiplication by 2. respectively. The spectral coefficients are logic (Boolean) values. To perform the related computations. and the corresponding spectra. 1. function values are correspondingly interpreted. whose function vector is F = [1. 4. 1 0 R2. 3. In this way.RMF (1) = 1 1 1 0 4 3 2 1 0 0 1 3 1 0 0 1 0 0 0 4 1 0 0 0 0 1 The property of self-inverseness can be regained if instead of the constant function 1. The columns of the Pascal matrix modulo p can be described by monomials in terms of variables and powers of p-valued variables computed with the Gibbs multiplication [59]. 3EXP. i. and its various decompositions in terms of sparse matrices or matrices which can be computed by the additions with no multiplication required [3]. 1. 0]T GF (2) [1. Hermite. Astola. 1. 1. Transform 1 1 R(2) = 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 −1 1 0 A(2) = −1 0 1 1 −1 −1 1 1 W(2) = 1 1 0 0 0 1 1 1 1 −1 1 −1 1 −1 −1 −1 −1 1 1 1 1 1 1 −i 1 i CV(2) = 1 −1 1 −1 1 i −1 −i Spectrum Field [1. Spectra for the function f in Example 10. The basis functions are . −1. since procedures for the computation of these transforms can be defined in terms of the Pascal matrix. −1. it is defined a new discrete polynomial Pascal transform intended for applications in digital filter design [42.156 R. In this case. This feature is important. −i]T C As stated in [2]. 1]T Q [3. and binomial transforms are intimately related with the Pascal matrix [1. 1. Laguerre. J. S. three-dimensional object detection [33]. the discrete Legendre. 3]. the transform matrix is defined by writing the rows of Pascal triangle into matrix form and alternating the signs of the columns. 0. and digital watermarking [35]. Moraga Table 3. ∗ 0 1 2 0 2 2 2 1 0 1 2 2 0 0 2 Table 4. C. 1]T Q [3. Stankovi´ c. In [2]. 43]. 0) = 1. . the decomposition of the Pascal matrix is used to get expressions for the initial transform matrices simple to compute. When these relationship exist. P (x. 0 Sk+1 k=1 and the ((k + 1) × (k + 1)) matrix Sk+1 whose (i. 2 6 Coefficients in this modified Pascal transform represent weighted differences in neighboring data values. . as for example. Reed–Muller Expressions and Codes 157 defined as polynomials P (x. 1 −3 3 −1 P (x.Pascal Matrices. the transform matrix is expressed in terms of the Pascal matrix and some suitably defined auxiliary matrices. k) = (−1)k (k) x . therefore. the Hermite. for j < i. then for a given transform. since this influence the performance of the produced hardware. the modified Pascal transform matrix is defined as [2] 1 0 0 0 1 −1 0 0 Pmodified(2) = 1 −2 1 0 . si. . P (x. k. allows to speed up computations with these transforms by using various decompositions of the Pascal transform. where x(k) = x(x − 1)(x − 2) · · · (x − k + 1). . In this section. k! x > 1. Further. where Gk = . the same algorithm can be used to perform both the direct and the inverse transform. 2) = An important property of this transform is that this is a self-inverse transform and. and Laguerre transform.1. an especial attention has been paid to the number of additions and multiplications. this directly determines the size of required adder and multiplier arrays. The (n × n) Pascal matrix can be factorized as [3] n−1 Y In−1−k 0 Un = Gk . j)-th element is given by ( 1. we will consider two out of many decompositions of the Pascal matrix that can be found in the literature. For instance. In matrix notation. The first four polynomials are [2] 1 1 x(x − 1). In the later case. 3) = − x(x − 1)(x − 2). for j > i. relationships of the Pascal transform with certain other transforms.j = 0. The decomposition of the Pascal matrix is studied for the simplification of computing the related spectra and for the realization of the corresponding procedures in hardware. Example 11. Decomposition of the Pascal Matrix. 1) = −x. i. 1. Then. binomial. P (x. 3. in the case of FPGA based realizations. j = 0. j = i. . G4 = 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 . . j)-th element is defined as yi. k. Moraga By definition. G2 = 0 0 1 1 0 0 1 0 1 1 . . 1 1 1 1 1 . This decomposition reduces computing with Pascal matrix to the series of additions. Consider the (5 × 5) upper triangular Pascal matrix U5 . J. j < i − 1. C. and S1 = 1 0 1 . j = 0. In this case. . 1 Example 12. Ln = n−1 Y Hi . U5 = G1 G2 G3 G4 . Astola. i. Stankovi´ c. 1. In this case. which appears suitable for hardware realizations.158 R. where Hk = k=1 In−1−k 0 0 Yk+1 and Yk+1 is a ((k + 1) × (k + 1)) matrix whose (i. This factorization is interesting since it leads to sparse factor matrices of a structure that enables derivation of fast algorithms resembling the so-called FFT algorithms with constant geometry [44]. n = 5 and the matrix is factorized as 1 0 G1 = 0 0 0 1 0 G3 = 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 . 1 1 Therefore. I1 = [1]. Another interesting decomposition of the Pascal matrix is in terms of simple binary matrices with non-zero elements on the main diagonal and lower sub-diagonal while all other elements are 0 [34]. Example 13. j = i − 1. j > i. 0. S.j = ( 1. for example on FPGAs. The (5 × 5) Pascal matrix in Example 1 can be factorized as L5 = H1 H2 H3 H4 . e. Reed–Muller Expressions and Codes where 1 0 H1 = 0 0 0 1 0 H3 = 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 . i. k)-code can be defined by an (k × n) generator matrix G whose rows are k linearly independent vectors of the code C. there is a resemblance to the spectral representations where the spectrum Sf is assigned to a function f . also [34]. see [71]. while additional bits for error-correcting are computed by referring to the submatrix P. respectively. 0 1 There are various decompositions of Pascal matrices defined in the literature. where P is a (k × (n − k)) purposely selected matrix. Recall that linear transformation . Such a code is denoted as an (n. where GF (p) is the finite field of order p.. An (n. See. bits in the binary case. The codewords assigned to blocks consists of two parts. and Ik is the (k × k) identity matrix. block codes are an important class of error-correcting codes derived by assuming that the message (a sequence of symbols to be transmitted) is split into blocks of the specified length k and then to each block a codeword of length n > k is assigned. H4 = 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 159 0 0 0 . H2 = 0 0 0 1 0 0 1 1 0 0 . For the decomposition of symmetric Pascal matrices in terms of Fibonacci matrices. In coding theory. The identity matrix Ik ensures that the first part of the codeword transmits the original message. The generator matrix can be represented in the so-called standard form as G = Ik | P(k×(n−k)) . If blocks are viewed as function vectors. If the Hamming distance is d. In this case. Writing the generator matrix in this form. it becomes clear the statement that in coding theory there is no redistribution of the information content of represented functions and just a number of additional bits is added. another parameter is the minimum Hamming distance that also determines the number of errors a block code can detect and correct. The code has the length n (the codeword length) and the dimension k (message length). where k is the number of information digits.Pascal Matrices. 67. the decomposition of Pascal matrices in terms of some other matrices with regular structure as Toeplitz and Henkel matrices leads to fast computation algorithms [65. For example. 0 1 0 0 0 . 4. k)-code. then the number of errors that can be detected and corrected are d − 1 and ⌊ d−1 2 ⌋. Error-Correcting Codes A linear p-ary code C of length n is a linear subspace of the vector space GF (p)n . 74]. coding is an injective function from the space of information messages to the space of codewords. where ⊕ and + denote the addition modulo 2 and the addition in the set of integers. J. The same feature of various spectral transforms holds for p-valued functions and in general for arbitrary discrete functions. (1) In spectral representations the function vectors and spectra are of the same length. however. however. The elements of the spectrum are computed by performing some operations over the elements of the function vectors. while the Arithmetic transform assigns to f an integer-valued string of the same number of elements 2n . respectively. For example. (2) In general. Therefore. In this case. That is important to notice since. For the Walsh transform. Other spectral coefficients in these transforms are computed in a similar way. Sf (0) is the sum of all function values.160 R. but not necessarily over the same fields. There are also complex-valued transforms for switching functions [17. this difference in the length of blocks and codewords is related to the number of errors that can be detected and corrected. For the Walsh transform in Paley ordering [60]. The essential differences. A switching function f of n variables is specified by a binary string of length 2n . The code words are of length n larger than that of blocks k. but of different order. there is a bit more of resemblance to spectral representations. S. that are usually linear. Sf (1) is the difference of the sum of the first and the second half of elements in the function vector. 18. and blocks and codewords. The additional bits that are assigned to each block are. In the case of systematic codes. since the information is transmitted as given. the function spaces for blocks and codewords are over the same field. . the first element Sf (0) = f (0) for the Reed–Muller and the Arithmetic transform. however. Further differences between functional expressions and block codes are in linear spaces whose elements are function vectors and spectra. In the case of functional expressions. Moraga over rows and columns of the generator matrix produce equivalent codes. The correspondence with the so-called extended spectra in transforms derived from various Ternary decision diagrams (TDDs) for the representation of switching functions [46] will be discussed later. The Reed–Muller spectrum Sf of f is another switching function represented by another binary string of the same length. are the following. The second element Sf (1) = f (0) ⊕ f (1) and Sf (1) = f (0) + f (1) for the Reed–Muller and the Arithmetic transform. respectively. in all the cases the length of the spectrum is equal to the length of the function vector. C. with the operations over function values defined specifically for the corresponding transform. Astola. in the case of linear block codes. also there is no a redistribution of the information content. there is not a redistribution of the information content of message over elements of the codewords as this is done in spectral representations. respectively. function vectors and their spectra are from linear spaces that are of the same length. In coding theory. with the value interpreted as the Boolean-value and the integer. 19]. Example 14. Stankovi´ c. computed from the information bits in a way resembling computing the spectrum. If the four-bit block of the information message is (m0 m1 m2 m3 ). computing the codewords can be performed by using the generator matrix . where e0 = m0 . then the codeword is (e0 e1 e2 e3 e4 e5 e6 ). Reed–Muller Expressions and Codes 161 Example 15. e1 = m1 .Pascal Matrices. while the codewords are particular 16 switching functions of 7 variables selected out of 128 possible functions such that they are at the minimum Hamming distance 3 of each other. In matrix notation. Due to these extra bits. a codeword of 7 bits is assigned. e 5 = m0 + m2 + m3 . 4)-Hamming code is a block code where to each block of four information bits. e 6 = m0 + m1 + m2 . the information blocks can be viewed as the set of all 16 switching functions of two variables. e2 = m2 . the code can correct any single error that might occur in any four-bit block of the information message. and e 4 = m1 + m2 + m3 . which resembles computing the spectral coefficients as illustrated in Example 14. e3 = m3 . The (7. Thus. 1 0 0 0 . . 0 1 1 0 1 0 0 . 1 0 1 . G= 0 0 1 0 . . 1 1 1 . 0 0 0 1 . Thus. each codeword of length n is represented by a polynomial c(x) of degree at most k − 1. Example 16. so the corresponding transform matrix is the Vandermonde matrix of roots of unity in the finite field. w2 . The spectrum of data block Aw is arbitrary. 0 0 0 1 1 0 1 . . For more details about cyclic codes. With respect to the analogy with spectral transforms. This polynomial can be written as c(x) = a(x)g(x). For the given set of indices in the spectral domain χ = {w1 . where g(x) is the generator polynomial for the code. . the cyclic code is the set of vectors over GF (q) such that their spectrum is 0 in the components indexed by elements of χ. Recall that the Fourier coefficients take values in the extension field GF (q m ). In cyclic q-ary codes with blocklength k. perhaps a better correspondence to the spectrum is in cyclic codes where a code can be defined as the set of vectors whose spectrum is zero for particular frequencies. wn−k }. If we consider the Fourier transform over the field GF (q). and the spectrum Gw of g(x) specifies the indices w for which Cw = 0. . the generator matrix of this code is 1 1 0 1 0 0 0 0 1 1 0 1 0 0 G= 0 0 1 1 0 1 0 . Note that the equation e = m0 + m1 + m3 can also be used instead of any of the three above equations to produce a valid Hamming code. There the spectrum is the Fourier spectrum over finite fields. 4) code. [22] Consider the generator polynomial g(x) = 1 + x + x3 for the cyclic binary (7. Coefficients of this polynomial determine the first row of the generator matrix. The other rows are determined by the cyclic shift of this row. then the Fourier spectrum of the codeword is Cw = Aw Gw . see for instance [66]. . 1 1 0 The redundant bits are computed by referring to the right submatrix in the generator matrix. a very good feature of the code is that it can detect 2r−2 errors and correct an error less. viewed as functions of four variables.162 R. the Hadamard code is defined by the rows of the matrix W(4) C= . 3. 0). Astola. 2. Thus. J. For a function of n binary variables. x2 . −1) → (1. 5)-code. where J is matrix with all the elements equal to 1. in Walsh and Walsh-Hadamard codes that are derived from the Walsh matrices. 9 of this matrix in encoding (1. Note that W(r) is the (2r × 2r ) matrix and. there is a resemblance with extended spectra of transforms derived from Ternary decision diagrams used to represent binary switching functions [46]. 5. −W(4) The rows 1. 0) is performed to make the codewords compatible with the binary blocks to be encoded. −1) → (1. notice that. to ensure the linearity. define the Extended Reed–Muller spectra. however. the code words are selected from the space of 65536 binary vectors of length 16. These rows in this encoding correspond to the constant vector 1 and Boolean variables x1 . S. Example 17. C. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 G= 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 . the encoding (1. The code words are selected as rows of the matrix W(r) C= . i. therefore. The Walsh-Hadamard codes are particular examples of the more general class of codes. and x4 . For r = 16. In this respect.. and 2n of them are the function values. Note that EXOR-TDDs. −W(r) after encoding (1. they are rows of its corresponding generator matrix reordered by decreasing Hamming weight. the Extended Reed–Muller spectrum has 3n coefficients. however. −1) → (1. It should be explained that after encoding the unencoded −W(r) is encoded as W(r) + J. for example. thus. Stankovi´ c. Note that Hadamard codes can be defined with respect to Hadamard matrices of different orders.e. the Reed–Muller codes. while the remaining 3n − 2n . The ratio between the length of blocks and codewords (r + 1)/2r is inconvenient. Walsh–Hadamard matrices W(r) are used. Moraga Regarding the remark about equality of fields for blocks and codewords. 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 This code can detect 4 errors and correct three errors that might appear in any block of length 5. the elements of which take logic values 0 and 1. In the case of Walsh–Hadamard codes to encode 32 blocks of length 5. there are 2r+1 codewords to encode blocks of length r + 1. the Hadamard matrices of orders 2r . x3 . 0) are the basis of the (16. the Extended Reed–Muller spectrum is defined as 1 0 SEXOR. Reed–Muller Expressions and Codes 163 coefficients are the coefficients in the Reed–Muller expressions for different polarities of variables and Kronecker expressions for the represented function f . Referring to the monomials describing the columns of the Pascal matrix. The usefulness of codes derived in this way is an open question probably worth of studying. These spectra are at the minimum Hamming distance 4 to each other. c6 . where d is the order of the code. c4 . c8 ] determined as m0 m1 m ⊕ m 0 1 m0 m2 1 0 1 0 m1 . For n = 2. c3 . c2 . 5.Pascal Matrices. This extended spectrum contains all function values and coefficients of all Fixed-polarity Reed–Muller expressions and all Kronecker expressions for switching functions of two-variables [60]. and r determines that the length of codewords is 2r . . Reed–Muller Codes Binary Reed–Muller codes are defined by selecting the codewords (rows of the generator matrix) from columns of the Pascal matrices computed modulo 2. c7 . Example 18. c1 . r). we get different codewords to be assigned to four-bit blocks. 1 1 where F is the function vector of a switching function of two variables. it means that there is some error in the information bits of the message if the Extended Reed–Muller spectrum is viewed as a codeword. E(1) = 0 0 . The value produced by the majority of expressions should be taken as the correct value.f = (E(1) ⊗ E(1))F. then computing the Extended Reed–Muller spectrum resembles assigning a 9-bit codeword c = [c0 . These expressions all represent the same function f and if by evaluating them different values are obtained. as this is done in the definition of the AND-TDDs and OR-TDDs [46]. c5 . These codes are usually denoted as RM (d. If F is interpreted as a four-bit block [m0 m1 m2 m3 ] of an information message. m3 0 0 ⊗ 0 0 c= · = m2 m2 ⊕ m3 1 1 1 1 m3 m0 ⊕ m2 m1 ⊕ m3 m0 ⊕ m1 ⊕ m2 ⊕ m3 Table 5 shows the Extended Reed–Muller spectra for switching functions of two variables. the order d of the code determines the number of variables appearing in the products corresponding to the columns of the Pascal matrix modulo 2 that should be taken as rows of the generator matrix [37]. By using logic AND or logic OR instead of EXOR in the above computations. k) is linear. x2 x4 . For p = 2. product terms in Reed–Muller expressions. c2 . x4 . Pk i=0 (ni) codewords. c4 . x2 . Fig.164 R. Stankovi´ c. 2. The correspondence between the Reed–Muller matrix (Pascal matrix modulo 2) and Reed–Muller codes. C. x1 x3 . c7 . Table 6 shows the correspondence between the columns of the Pascal matrix modulo 2. x3 . 3) Example 19. c6 . x3 x4 . c1 . J. S. m0 m1 m2 m3 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 c0 . x1 x4 . and (n. The generator matrix of the (2. 3) 01010101 00000011 00000101 RM (2. 3. Moraga Table 5. c5 . 1. 1 expresses the rows of the generator matrix for these codes as paths in the Reed–Muller decision tree for n = 3. x2 x3 . Astola. has rows defined by the Boolean monomials 1. The Extended Reed–Muller spectra for 16 switching functions of two variables. x1 . 3) 11111111 00001111 00110011 RM (1. 0 1 x1 x2 x3 x1 x2 x1 x3 x2 x3 x1 x2 x3 00000000 RM (0. 4) Reed–Muller code. c8 000000000 000101011 001001101 001100110 010010011 010111000 011011110 011110101 100010101 100111110 101011000 101110011 110000110 110101101 111001011 111100000 Table 6. 3) 00010001 01010101 RM (3. x1 x2 . c3 . comprises 2 Hamming distance 2n−k . k) Reed–Muller codes for n = 3 and k = 0. The code RM (n. and has minimum . Another . There are several generalizations and the corresponding definitions of the Reed– Muller codes. the integer coefficients from Zq are assigned to Boolean monomials. For h = 2. It means. the rows of generating matrices are determined by Boolean monomials of certain orders with some of them multiplied by 2 [14] or powers of 2 [49] which are viewed as particular integers from the ring Z2h . For instance.3) R(1. and also higher-order modulation schemes. h ∈ N . In these applications. where Zk is the ring of integers modulo k. When extended into (n × n) matrices by following the same pattern in which they are defined.3) Figure 1. h > 1. quaternary. Rows of the generator matrices for the Reed–Muller codes RM (0. In other words. 3).3) R(2. the generator matrices of such generalized Reed–Muller codes can be used as a basis to define the Reed–Muller expressions over the ring of integers.3) x3 1 x3 f001 f002 f020 f022 f200 f202 f220 f222 R(2. This generalization of the Reed–Muller codes is useful for applications in Orthogonal Frequency Division Multiplexing (OFDM) since it is convenient with respect to the peak-to-mean envelope power ratio (PMEPR) [49]. and RM (2.3) R(0. The method can be used for binary.Pascal Matrices. the main idea is to use block coding to transmit across the carriers polyphase sequences selected such that have small PMEPR. octary. 3). Reed–Muller Expressions and Codes 165 f pD x1 1 pD pD x2 1 pD 1 1 pD x3 1 x2 pD pD x3 1 R(0. The codes are defined in a manner similar to that used to define the classical binary Reed–Muller codes. the quaternary Reed–Muller codes are obtained from thus generalized Reed–Muller codes [14]. where q = 2h . RM (1. In [13].3) R(1. Generalized or binary encoded Reed–Muller codes are defined in terms of generalized switching functions f : Z2n → Zq . is it shown that the Reed–Muller codes generalized by attaching multiplicative weights to certain Boolean monomials offer good solutions permitting to select between few parameters relevant for such applications. 3). The problem is to select the appropriate linear codes. the Boolean monomials of order k are multiplied by k. Moraga advantage is that the fast decoding schemes based on the Walsh-Hadamard matrices can be used. 2x3 x4 . and express the triangular form of the transform matrices. the so-called ZRM2h (4. 30. The multiplicative weights assigned to monomials of higher order can be useful in tuning the basis to produce functional expressions with a small number of terms. For h > 1. This code contains 25h · 26(h−1) codewords. x2 . Many authors refer to [15. Therefore. Astola. it is defined a class of Lee metric codes that can be viewed as non-binary Reed–Muller codes with the binary Reed–Muller codes as a particular example. 25. the functional expressions for integer-valued functions are obtained. These matrices are a basis for the Reed–Muller expressions for functions of binary variables with function values in the ring of integers Z2h [13]. J. xn . A particular example of a quaternary Reed–Muller code is presented in [5]. If p is an odd prime number. 12. These modifications provided RMF-expressions to represent functions defined in finite fields. for example. 2) code discussed in [14] is defined by the generator matrix whose rows are defined by monomials 1. however. x3 . 2x2 x4 . 2x2 x3 . 31]. 2x1 x2 . while the multiplication by p − 1 ensures the self-inverseness. from [6. S.166 R. these codes are quasi-cyclic reversible [36]. x1 . 29. 2x1 x4 . x4 . The Gibbs multiplication was used to preserve the triangular form of the Reed–Muller transform matrices over finite fields. The selected rows correspond to monomials in pvalued variables defined as products of variables. 32. C. The present interest in Reed–Muller codes can be seen. x2 . . the (k × n) generator matrices for the generalized Reed–Muller codes discussed above can be extended into the corresponding square matrices by adding rows corresponding to Boolean monomials of higher orders k multiplied by k. of Note that the multiplication by 2 and powers of 2 resembles the multiplication of certain monomials defined in terms of the Gibbs multiplication with p − 1 to determine columns of the RMF-matrices as it is discussed above. For example. These expressions correspond to the arithmetic transform in the binary case. The first row of G is the constant vector of length pn whose all entries are 1. not their powers. the codewords are selected as certain rows of the Reed–Muller matrices [48]. 26. In the context of discussions in this paper. the generator matrix of the codes G can be interpreted as follows. · · · . 2x1 x3 . 37] as sources of initial considerations of nonbinary Reed–Muller codes. Stankovi´ c. In [48]. Binary Reed–Muller codes are obtained for p = 2. Example 20. The following n rows are vectors representing the p-valued variables x1 . An interesting approach to the generalization of Reed–Muller codes and study of their properties is carried out in [28. 27]. The other rows are obtained as all possible products of distinct rows corresponding to p-valued variables. 24. By borrowing bases derived by extending the generator matrices for the generalized Reed–Muller codes. we will discuss this topic on the example of Plotkin constructions. 0. 1. 2. 0. 1. Plotkin constructions are defined to obtain a binary code of length 2n from a given binary code of length n [41]. 1. For p = 4. 1. 1. 0. logic functions. 0. 0. 0. it is possible and. 3. For example. 0. 1. 2. 2. Consider functional expressions for quaternary functions derived by using the matrix (G4 )−1 (1) in Table 1. 0. 3 G= 0. 2. 3. 1. 0. 3. In that respect. codes are usually defined such that possess efficient coding and decoding algorithms. it is clear that this spectral transform is useful in representing functions which can be represented analytically as sum of variables. 3. 0. 0. 1. and products of variables and their powers. their powers. 0. 1. 1. 1 In this and other examples we presented. 2. 2. 0. 1. 0. and it is Sf = [0. Due to the linearity of the code and its basic feature that it is derived from the Pascal matrix. 0. The spectrum of f is computed as Sf = (G4 )−1 (2)F. 1. moreover. This is also possible when the basic matrices are taken from coding theory as these in Table 1 used in [37]. The function f (x1 . while modulo operations are directly implemented in both Nvidia CUDA and OpenCL programming environments. 2. In spectral techniques. 1. For example. the generator matrix of codes introduced in [48] is 1. and finite field arithmetic (for p = 4) is replaced by the modular arithmetic. The good features of spectral representations derived from matrices in Table 1 is that the transform matrices are triangular (which is not the case for Galoisfield transforms). 0. 0. 2. 1. In general terms. 2. 1. 1. and n = 2. Further. 0. 6. 3. 0. 1. 0. 3. the matrix (G4 )−1 in Table 1 can be used as the basic transform matrix to compute the spectra of quaternary functions in terms of the basis defined by columns of the matrix G4 . 1. convenient to look at construction schemes used in coding theory to extend the length of codes. Plotkin Constructions and Spectral Transforms In coding theory. 1. 3. 3. in computing on Graphics Processing Units (GPUs) reading arithmetic operations in finite fields for non-prime p from tables is time consuming. which can be an important advantage in computing. Example 22. p > 2. 3. which can be a way to disclose fast computing algorithms for spectral transforms derived by using basic matrices from coding theory. 3. 2. 1. x2 ) = x1 ⊕ x2 has the function vector F = [0. 1. 0. 3. 0. 2. 3. 0. 3. 2. 1. 0]T . 1 0. 0. the matrices appearing in definition of various Reed–Muller and related codes can be used to define new functional expressions for binary and p-valued. 1. 0. binary and various non-binary Reed– Muller codes are derived by selecting certain rows of the corresponding Reed–Muller matrices. 1. 2. 2. 1. 1. 3 . 1. the Kronecker product of basic matrices for a single variable permits extension to functions of an arbitrary number of variables. 1. 2. Reed–Muller Expressions and Codes 167 Example 21. 2. 2]T . 0. 1. It can be done conversely. 0. In the following section. (G4 )−1 (2) = (G4 )−1 (1) ⊗ (G4 )−1 (1). if C1 and C2 .Pascal Matrices. C. it can be observed that the Plotkin construction is derived from the basic transform matrices used to define the corresponding functional expressions. 5. S. Referring to spectral techniques. The Plotkin constructions schemes for the RMF-codes for p = 2. 3. Remark 1 (Reed–Muller codes and spectral transforms). the code C of length 2n is obtained as C = {(u + v|u). The Plotkin construction method for Reed–Muller codes is an alternative way to express the Kronecker product structure of the Reed–Muller transform and the same interpretation extends to non-binary cases. Moraga Table 7.168 R. Example 23. The codes C1 and C2 do not need to be necessarily different codes. The Plotkin construction schemes for non-binary Reed– Muller codes for p = 2. Table 1 shows the generator matrices for non-binary Reed–Muller codes for p = 2. 4. 3. d(C2 )}. For the binary Reed–Muller codes the Plotkin construction follows from R(1) since 1 0 v u = u+v | u 1 1 This example explains the way of defining non-binary Reed–Muller codes as suggested in [37]. u ∈ C1 . 3. 5. Codes of higher dimensions can be defined by using the Plotkin construction schemes that are shown in Table 7. where | denotes the concatenation of sequences. An important feature of Plotkin construction is that the dimension of the new code d(C) > min{2d(C1 ). 5. Stankovi´ c. The Plotkin construction can be used to define the non-binary Reed–Muller codes from the basic RMF-transform matrices in Table 2 in the same way as this is . see also [27]. 4. 4. Astola. It also suggests that the following remark can be given. p 2 3 4 5 Construction scheme (u + v | u) (u + v + w | u + 2v | u) (u + v + w + x | u + 2v + 3w | 3u + v | 3u) (u + v + w + x + y | u + 2v + 3w + 4x | u + 3v + w | u + 4v | u) are two codes of length n. p 2 3 4 5 Construction scheme (u + v | u) (u + v + w | 2u + v | u) (u + v + w + x | 3u + 2v + w | 3u + v | u) (u + v + w + x + y | 4u + 3v + 2w + x | u + 3v + w | 4u + v | u) Table 8. v ∈ C2 }. J. Nonbinary quantum stabilizer codes. E. The replacement of this function by the constant function p − 1 leads to the Reed– Muller-Fourier expressions. The discrete Pascal transform and its applications. 301–305. [5] A. [8] Ph. F. R. References [1] M. Laguerre. Table 8 show the corresponding Plotkin construction schemes. Aizenberg. J. Hermite. Both concepts. M. Closing Remarks Studying relationships among important concepts might lead to interesting observations and certainly provides a deeper understanding of them. The Pascal matrix can be generated from the constant function identically equal to 1 by using the Gibbs multiplication defined convolutionwise. IEE Proc. With this motivation. 493–495. Speech. Algebra Eng. Multidimens. Magargle. Litsyn. 3065–3072. Signal Process. Inform. [2] M. C. Karpovsky (ed. and Binomial transforms using Pascal’s matrix.. S. Discrete polynomial transform representation using binary matrices and flow diagrams. Orlando. J. Appl. in: M.Pascal Matrices. Aburdene. The symbolic notation for columns of the Pascal matrix modulo p in terms of pvalued variables and their powers with respect to the Gibbs multiplication directly leads to the definition of p-ary Reed–Muller codes in terms of thus generalized monomials of p-valued functions. The corresponding Reed–Muller-Fourier codes can be defined from the p-valued monomials used in these expressions. 5 (1994). D. 2 (2001). [3] M. Academic Press. Aburdene. IEEE Trans. Conjunctive transforms for discrete signals and their applications of tests and the detection of monotone functions. in Russian. G. Knill. Syst. 7. Ashikhmin. W. Signal Process.). [7] Ph. Spectral Techniques and Fault Detection. R. Trofimljuk. Ashikhmin. 7 (1996). 1141–1144. Commun. Coviello. N. Kozick. [6] A. T. O. E. Besslich. Theory 47 (2001). . It often offers an alternative interpretation of well established concepts and can motivate their generalizations as well as extensions of various techniques dealing with particular concepts from an area to another. T. E. Maloney-Han. Spectral processing of switching functions using signal flow transformations. W. Florida. the Reed–Muller expressions and the Reed–Muller codes. K. Aburdene. Acoust. J. 299–308. Conf. can be defined in terms of monomials (binary and p-valued) describing columns of the (pn × pn ) matrix modulo p derived by using the Kronecker product of basic (p × p) Pascal matrices. Dorband. 1985. Besslich. Comput. Proc. F. 1981. Unification of Legendre. Efficient computer method for XOR logic design. Kibernetika 5. Fast Decoding of Non-Binary First Order Reed–Muller Codes. 15–20. F. [4] N. Reed–Muller Expressions and Codes 169 done in [37] by using the basic matrices derived from the Pascal matrices modulo p in Table 1. N. The Plotkin constructions in coding theory can be viewed as another way to express the Kronecker product structure of spectral transform matrices. S. Goodman. IEEE Signal Processing Letters 12(7) (2005). IEEE Int.. the present paper discusses Reed–Muller expressions and Reed–Muller error-correcting codes by starting from their matrix representations through relating these concepts to the Pascal matrices over finite fields. J. Part E 129 (1982). Some ternary and quaternary codes and associated sphere packings. Control 16 (1974). arXiv:1203. on Multiple-Valued Logic. [math. V. J. May 27–29. Theory 45. A. HP Laboratories Bristol. May 28–30. Symp. D. Instant Fourier transform. 9(4) (1993). 1992. Sendai. Okinawa. Shmerko. Rayon de recouvrement des codes de Reed–Muller g´ en´ eralis´ es. 22nd Int. Delsarte. Lin. on Multiple-Valued Logic. Notes on Coding Theory. University of Bordeaux 1. Weight distribution and list-decoding size of ReedMuller codes. Rahardja. 108 (2001). The treewidth of MDS and Reed–Muller codes. Browne. 227-246. Family of generalised multi-polarity complex Hadamard transforms. G. 14(2) (1968).170 R. On discrete Pascal transform. December. Velleman. December 2. 180–185. S. Electron. Anwar. Image and Signal Processing 145(6) (1998). [15] P. 309–316. [18] B. 4837–4847. J. Fast multi-polarity complex Hadamard transform for logic functions. Rept. 43(14) (2007). On the covering radius of first order generalized Reed–Muller codes. Monthly 100 (1993). Kaufman. F. Peterson. I. Shmerko. Theory 58(7) (2012). Thangaraj. 371–378. Theory 59(3) (2013). S. . Davis. 2689–2696. December 1997. On the use of transeunt triangles to synthesize fixed-polarity Reed–Muller expansions of functions. [23] B. Maslov. 18(3) (2012). Th` ese de doctorat. classroom notes. Range-image-based calculation of three-dimensional convex object moments. Math. Call. Nova Scotia. and Reed– Muller codes. [22] J. J. Falkowski. W. Butler. IEEE Trans. Rev. Inform. 189–199. [25] N. Harking. Magic-state distillation in all prime dimensions using Quantum Reed–Muller codes. S. Stankovi´ c. Goethals and Mac Williams theorem on minimal weight [31] codewords of generalized Reed–Muller code. X 2(4) (2012). IEEE Trans. 27th Int. Peak-to-mean power control in OFDM. Ecole Doctorale Paris Centre. Japan. Naha. 1997. Goethals. HPL-97–158. W. Phys. Reed-Muler 2009 Wrokshop. P. New generalizations of the Reed–Muller codes Part I : Primitive codes. 581–586. Autour des codes de Reed–Muller g´ en´ eralis´ es. Second weight codewords of generalized Reed–Muller codes. Proc. Falkowski. 131–136. Proc. Hall. Kschischang. Amer. Kashyap. USA. S. C. Department of Mathematics Michigan State University. . Japan. 436–441. Yanushkevich. D. France. May 27–29. F. 122–123. On the number of generators for transeunt triangles. Theory 58(5) (2012). E. [26] T. [12] D.5244 [28] E. 2011. [32] Inform. [24] T. Jedwab. Seminar of Number [29] Theory of the Institut de Mathmatiques de Bordeaux. Yanushkevich. Goodman. J. Golay complementary sequences. August 2012. W. IEEE Trans.. Michigan. S. Symp. Proc. Pasupathy. [20] J. A method to find the best mixed polarity Reed–Muller expression using transeunt triangle. 1–27. 5th Reed– Muller 2001 Workshop. R. USA. Porat. 2397–2417. . Antigonish. IEEE Trans. D. [21] T. on Multiple Valued Logic. Proc. Math. E. Moraga. Golay complementary sequences. MacWilliams. Poisson sequence and Laguerre polynomials. Efficient derivation of Reed–Muller expansions in multiple-valued logic systems. Inform. . Kasami. V. [16] G. Lovett. J. August 10–11. S. IEEE Trans. -M. 21–41. Vi[19] sion. C. Universit´ e Paris VII-Denis Diderot. Discrete Appl. S. 4. Lett. Shen. 2011. Dueck. Bordeaux. Lett. Dueck. J. Symp.NT]. 2009. ´ [30] . J. [14] . [17] B. IEEE Trans. Finite Fields Appl. Japan. Autom. Peak-to-mean power control in OFDM. J. S. J. Theory. 780–781. J. Electron. W. Inform. IEE Proc. and Reed–Muller codes. Li. 82-92. 13(5) (1977). Aburdene. IEEE Trans. Inform. ´ Leducq. Starkville. Inform. A new proof of Delsarte. E. J. Theory 38(2) (1992). [10] . 1999. [27] F. 403–442. [33] B. May 23–24. Robot. M. 28th Int. . 2001. T. Mississippi. 1998. 1590–1596. [13] J. Moraga [9] J. T. On generalized Reed–Muller codes and their Relatives. 372–376. Inf. 484–490. H. Butler. [11] G. Proc. Properties and applications of unified complex Hadamard transforms. Pascal’s matrices. Gibbs. N. Canada. Astola. A. Tech. Campbell. Fukuoka. [44] K. 160 (1915). Inf. Control 7(3) (1964). H. September 4–9. Comput. Prace Mat. 2002. Math. J. Sasao. IEEE Signal Process. [45] S. Inform. J. [56] A. Mat. Sierpi´ nski. S. Int. USA. Comput. Inform. W. 48th Annual Meeting (Wavelets X). Sb. -G. 262–266. [47] T. August 3–8. Theory IT-19(1) (1973). IRE Trans. 2005. [38] D. Rendus Acad. Italy. Am. NY. A. 225 (2009). [46] T. Ph. Pˇseniˇ cka. J. Theory IT-25(2) (1979). Skodras. Efficient computation of the Discrete Pascal transform. Sakk. Fast Discrete Pascal transform. Plotkin. 1–9. R. 6–12. Rao. The Fourier Convolution Theorem over Finite Fields: Extensions of Its Application to Error Control Coding. Pˇseniˇ cka. Satyanarayana. Z transform from lowpass to bandpass by Pascal matrix. N. 61(7). The Univeristy of New Brunswick. 42(23) (2006). Theory 6(4) (1960). Small. [43] B. 1136–1140. Justesen. 250–254. 231–248. A Method to Find the Best Mixed Polarity Reed–Muller Expansion. 9(11) (2002). [35] J. IEEE Commun. Martin. Sasao. ISBN: 978-953-51-0518-3. IEEE Trans. Hwang. Cornell University. [42] B. D. Ithaca. 2010. D. A class of multiple error correcting codes and their decoding scheme. L. PhD thesis. M. A. Garcia-Ugalde. Florence. A new algorithm for linear systems of the Pascal type. 110–116. . USA. Reed. Sur une courbe dont tout point est un point de ramification. 309–315. -U. [53] E. Wavelet Packet Formulation of Generalized Reed–Muller Codes. Information retrieval in digital watermarking. 39(8) (2001). Jr. CA. June 2001. Herrera-Camacho. Vol. [36] J. Proceedings of the SPIE San Diego. New codes for OFDM with low PMEPR. Inform. Math. J. Lett. Garcia-Ugalde. Kim. Polynomial weights and code constructions. F. The bilinear Z transform by Pascal matrix and its application in the design of digital filters. Huang. Symp.-Fiz. [51] W. -J. Ternary decision diagrams and their applications. [49] K. M. 1367–1368. T. PGIT-4 (1954). [40] 27–28. Representation of Discrete Functions. 33(2) (1990). IEEE Trans. 101–110.. Sierpi´ nski. [39] D. Muller. 38–49. E. [37] J. 1996. 2012. Maslov. Finger. 14th European Signal Processing Conference (EUSIPCO 2006). 27 [52] (1916). On the computation of the Discrete Pascal transform. Application of Boolean algebra to switching circuits design and to error detection. ed. Kutter. Wavelet packets for error control coding. Lett. Fujita eds. 368–370. Costello. 302–305. . Kluwer Acadermic Publishers. S.. EC-3 (1954). F. [55] E. Boolean algebras in electric circuit design. Proc. InTech. Schmidt. Part 11 (1954). in: Salih. Master of Science Thesis. N. Comp. Electron. 369–380. The Faculty of Computer Science. Reversible codes. Fourier Transform Applications. 282–284. on Information Theory.. Sasao. Lv. Lett. 5207. On the complexity of MOD-2 sum PLA’s. Binary codes with specified minimum distances. . in: T. -G. [57] [58] . 2003 [54] E. Sakk. IEEE Trans. Springer. [41] M. December 2005. Z. IRE Trans. 77-86 (in Polish).Pascal Matrices. Inf. IEEE Signal Process. Massey. Sci. Fast Fourier Transform-Algorithms and Applications. Ren. L. Mon. (ISIT 2005). [50] W. Hellenic Open University: Technical Report HOU-CS-TR-2005-06-EN. [48] Ch. 445–450. Mag.. IEEE Trans. R. 11(2) (2004). Massey. -Z. Reed–Muller Expressions and Codes 171 [34] X. Proc. Sakk. Th. 269–292. Lee metric codes over integer residue rings. September 2006. Electron. S. Besslich. 30 (1916). 267–287. M. Compt. . Paris. On courves which contain the image of any other courve. Appl. On a courve every point of which is a point of ramification. Wicker. [73] [74] Z. Stankovi´ c. 2002. [71] Z. [65] Z. Sasao. 34 (1927). L. Springer. Hamburg. Wolfram. C. Lett. Germany. 1–19. Tang. A New Kind of Science. 155 (2007).172 R. R. Proc. E. F. Aburdene. W.. 2371–2376. Reed–Muller-Fourier representations of multiple-valued functions over Galois fields of prime cardinality. M. 2013. Four encounters with Sierpi´ nski’s gasket. in Russian. USA. The Free Encyclopedia. 175 (2006) 441–451. [64] V. S. Technical Reports from UMIACS UMIACS-TR-2004-08. 52–64. Japan. Sendai. S. 2004. 1992. May 25–27. [75] Q. May 27–29. Zhegalkin. accesed March 18.org/wiki/Sierpinski_triangle# cite_note-1. 9–28. Calculation of Reed–Muller-Fourier coefficients of multiple-valued functions through multiple-place decision diagrams. A fast algorithm for solving linear systems of Pascal type. Symp. Moraga. X. 1348–1350. A. U.1993.–17. https://en.wikipedia. Stankovi´ c. Stankovi´ c. 2013. in: Kebschull. Math. Math. .. Z. 246–249. . http://en. [70] S. Nandi. Math. University of Maryland. J. [63] I. Moraga. S. [67] X. K. An Introduction to Coding Theory. Stankovi´ c. Fixed polarity Reed–Muller expressions of symmetric Boolean functions. Zhang. 43(24) (2007). 271 (1997) 169–177. [72] I. I. Math. 2nd ed. Electron. March 25. 1992. Comput. Japan. Appl. van Lint. A factorization of the symmetric Pascal matrix involving the Fibonacci matrix. Chiba. [66] J. Sb. IL. Some remarks on Fourier transforms and differential operators for digital functions. [69] WikipediA. Stankovi´ c.wikipedia. [68] Wikipedia. Math. Proc. Appl. August 27–29. Zhi-zheng. Duraiswami. Discrete Appl.-C. [60] R. 82–88.. Wang. IFIP WG 10. IFIP WG 10. MD 20742. M. Intell. O tekhnyke vychyslenyi predlozhenyi v symbolytscheskoi logykye. [62] R. Gumerov.org/wiki/Pascal’s_triangle# cite_note-8. Eds. Efficient implementation of discrete Pascal transform using difference operators. 17(1) (1999). 16. 35 (1928). Astola. Tokyo. College Park. pages 870 and 931–931. 1994.5 Workshop on Application of the Reed–Muller Expansions in Circuit Design. T. Department of Mathematics and Institute for Advanced Computer Studies. C. N. Stankovi´ c. J. Proc. accesed March 24. 365–370. S.9. S. Fast algorithms to compute matrix-vector products for Pascal matrices. 1995. P. 115–124. Astola. Springer. Wang. TwentyFourth International Symposium on Multiple-Valued Logic. Stewart. Spectral Interpretation of Decision Diagrams.. Moraga [59] R.. [61] R. 22nd Int. Proc. Suprun. 311–377. H. on Multiple-Valued Logic. Linear Algebr. Arifmetizatiya symbolytscheskoi logyky. in Russian.5 Workshop on Applications of the Reed–Muller Expansion in Circuit Design. Schubert. The Free Encyclopedia. 2003. T. The linear algebra of the generalized Pascal matrix. J. C. Sb. Rosentiel. Worfram Media. Zhong. Lu. Champaign.