Some Applications of the Fourier Transform in Algebraic Coding Theory
Total Page:16
File Type:pdf, Size:1020Kb
Contemporary Mathematics Some Applications of the Fourier Transform in Algebraic Coding Theory Jay A. Wood In memory of Shoshichi Kobayashi, 1932{2012 Abstract. This expository article describes two uses of the Fourier transform that are of interest in algebraic coding theory: the MacWilliams identities and the decomposition of a semi-simple group algebra of a finite group into a direct sum of matrix rings. Introduction Because much of the material covered in my lectures at the ASReCoM CIMPA research school has already appeared in print ([18], an earlier research school spon- sored by CIMPA), the organizers requested that I discuss more broadly the role of the Fourier transform in coding theory. I have chosen to discuss two aspects of the Fourier transform of particular interest to me: the well-known use of the complex Fourier transform in proving the MacWilliams identities, and the less-well-known use of the Fourier transform as a way of understanding the decomposition of a semi-simple group algebra into a sum of matrix rings. In the latter, the Fourier transform essentially acts as a change of basis matrix. I make no claims of originality; the content is discussed in various forms in such sources as [1,4, 15, 16 ], to whose authors I express my thanks. The material is organized into three parts: the theory over the complex numbers needed to prove the MacWilliams identities, the theory over general fields relevant to decomposing group algebras, and examples over finite fields. Each part is further divided into numbered sections. Personal Remark. This article is dedicated to the memory of Professor Shoshichi Kobayashi, my doctoral advisor, who died 29 August 2012. I admired Professor 2010 Mathematics Subject Classification. Primary 94B05, Secondary 16P10, 20C15, 43A40. I thank the organizers of the CIMPA school, Edgar Mart´ınezMoro and Mustapha Lahyane, for their support and the invitation to write this article. I thank Steve Szabo for suggesting the topic of the Fourier transform as a change of basis in a group algebra. c 2013 American Mathematical Society 1 2 JAY A. WOOD Kobayashi's ability to write such wonderful research monographs, and I cherish the memory of his patience and kindness towards me. I. Fourier transform over C for finite abelian groups 1. Linear codes and weight enumerators We begin with a short summary of terminology from coding theory. Let R be a finite associative ring with 1; we do not assume that R is commu- tative. Any module over R will be assumed to be unital, i.e., 1 2 R acts as the identity. Fix a finite left R-module A; A will be the alphabet for linear codes. A (left) R-linear code of length n over A is a left R-submodule C ⊂ An. An important special case is when A = R, the ring itself. (One could also study right linear codes, of course.) Of interest in coding theory are the weights of codewords. The weights are often studied by means of weight enumerators. There are a number of different (but related) weight enumerators, of two main types. Our primary interest is in the first type. Composition-type. We begin with the most general form of weight enumerator, 1 n the complete weight enumerator. For any a 2 A and x = (x1; : : : ; xn) 2 A , define the counting function ca(x) = jfi : xi = agj; i.e., the number of entries in the vector x 2 An that equal a particular a 2 A. Note P n n that a2A ca(x) = n for all x 2 A . For a fixed x 2 A , the numbers ca(x); a 2 A, form the \composition" of x. For every a 2 A, let Za be an indeterminate. Form the polynomial ring C[Za : a 2 A] over the complex numbers. Given an R-linear code C ⊂ An, the complete weight enumerator of C is n X Y X Y ca(x) cweC (Z) = Zxi = Za : x2C i=1 x2C a2A The complete weight enumerator counts the number of codewords in C of any given composition. Experience has shown it useful to cluster certain compositions together; i.e., certain compositions are to be regarded as equivalent. To that end, let ∼ be an equivalence relation on the alphabet A. Denote the equivalence class of a 2 A by [a]. For x 2 An and equivalence class [a], a 2 A, define a symmetrized weight composition swc by X swc[a](x) = jfi : xi ∼ agj = cb(x): b2[a] Then define the symmetrized weight enumerator of a linear code C ⊂ An by n X Y X Y swc[a](x) sweC (S) = S[xi] = S[a] ; x2C i=1 x2C [a]2A=∼ 1There is the even-more-general full (or exact) weight enumerator, which is a copy of the code itself. See [14, 18]. FOURIER TRANSFORM 3 where A=∼ denotes the set of all ∼-equivalence classes and the S[a],[a] 2 A= ∼, are indeterminates. Note that the specialization of variables Za 7! S[a] induces a homomorphism of polynomial rings C[Za : a 2 A] ! C[S[a] :[a] 2 A=∼] that maps cweC (Z) to sweC (S). Suppose there are two equivalence relations on A and one is finer than the other. That is, a ∼1 b implies a ∼2 b; or every equivalence class of ∼1 is contained in an equivalence class of ∼2. Then the specialization of variables S[a]1 7! T[a]2 is well-defined and induces a ring homomorphism C[S[a]1 :[a]1 2 A= ∼1] ! C[T[a]2 : (1) (2) [a]2 2 A=∼2] taking sweC (S) to sweC (T ). There are two examples of equivalence relations of special note. The Hamming equivalence relation has just two equivalence classes: f0g and fa 2 A : a 6= 0g. It is n traditional to write wt(x) = jfi : xi 6= 0gj, the Hamming weight of x 2 A . Define the Hamming weight enumerator by X n−wt(x) wt(x) (1.1) hweC (X; Y ) = X Y : x2C The specialization of variables Z0 7! X and, for a 6= 0, Za 7! Y , induces a homo- morphism C[Za : a 2 A] ! C[X; Y ] carrying cweC (Z) to hweC (X; Y ). It is very common to see hweC (X; Y ) denoted WC (X; Y ). The other special case is an equivalence relation arising from a group action. Let Aut(A) be the group of all invertible R-linear transformations from A to itself. Because A is a left R-module, we will write mappings on the right, so that R- linearity is expressed as (ra)φ = r(aφ), for r 2 R, a 2 A, and φ 2 Aut(A). Fix a subgroup G ⊂ Aut(A) and define an equivalence relation via the action of G on A: a ∼G b if there exists φ 2 G with a = bφ. We will see more of this example later, in Remark 1.3. When A = R, the ring itself, Aut(A) is just the group of units of R. Fixing a subgroup G of the group of units, the equivalence relation is then a ∼G b when a = bu for some u 2 G. As a concrete example, let R = Z=4Z and let G = {±1g, the full group of units. Then 1 ∼G 3 in Z=4Z, and there are three equivalence classes: f0g, f1; 3g, and f2g. This case arises when studying the Lee weight on Z=4Z. Example 1.1. Let R = A = Z=4Z, and let C ⊂ R3 be the submodule generated by 123 and 022. Then C = f000; 123; 202; 321; 022; 101; 220; 303g: Let G = {±1g determine an equivalence relation. The three weight enumerators described above are: 3 2 2 2 cweC (Z) = Z0 + Z0Z1 + 3Z0Z2 + Z0Z3 + 2Z1Z2Z3 3 2 2 2 sweC (S) = S[0] + 2S[0]S[1] + 3S[0]S[2] + 2S[1]S[2] 3 2 3 hweC (X; Y ) = X + 5XY + 2Y : Weight-type. Although we have defined weight enumerators, we have not de- fined weights, except for the Hamming weight. A very general definition is: a weight on an alphabet A is any function w : A ! C with w(0) = 0. (One may wish to impose additional hypotheses on w, such as the triangle inequality, but we will not n Pn do so here.) The weight is then extended to A by setting w(x) = i=1 w(xi), for n x = (x1; : : : ; xn) 2 A . The Hamming weight satisfies w(a) = 1 for nonzero a 2 A. 4 JAY A. WOOD Suppose a weight w on an alphabet A has values in the nonnegative integers, and suppose that M is the largest value of w on A. Define the w-weight enumerator of a linear code C ⊂ An by n X Y M−w(xi) w(xi) X nM−w(x) w(x) wweC (X; Y ) = X Y = X Y : x2C i=1 x2C This weight enumerator counts the number of codewords of any given weight. For the Hamming weight, this definition agrees with that of hweC given in (1.1). Example 1.2. The Lee weight wL on R = A = Z=4Z is defined by wL(0) = 0, wL(1) = wL(3) = 1, and wL(2) = 2. Note that M = 2. For the code given in Example 1.1, we have 6 4 2 2 4 wweC (X; Y ) = X + 2X Y + 5X Y : Remark 1.3. Given a weight w on A, there is a symmetrized weight enumerator naturally determined by w. Define the right symmetry group G of w by G = fφ 2 Aut(A): w(aφ) = w(a); for all a 2 Ag.