01 IEEE International Symposium on Information Theory Proceedings Construction of Barnes-Wall Lattices from Linear Codes over Rings J Harshan Dept of ECSE, Monh University Clayton, Australia Email:harshanjagadeesh@monhedu Emanuele Viterbo Dept of ECSE, Monh University Clayton, Australia Email:emanueleviterbo@monhedu J-C Belfiore Dept of Communications and Electronics, Telecom ParisTech Paris, France Email:belfiore@enstfr Abstract Dense lattice packings can be obtained via the wellknown Construction A from binary linear codes In this paper, we use an extension of Construction A called Construction A to obtain Barnes-Wall lattices from linear codes over polynomials rings To obtain the Barnes-Wall lattice BW m in C m for any m 1, we first identify a linear code C m over the quotient ring U m = F [u] u m and then propose a mapping ψ : U m Z[i] such that the code L m = ψ(c m) is a lattice constellation Further, we show that L m h the cubic shaping property when m is even Finally, we show that BW m can be obtained through Construction A BW m =(1+i) m Z[i] m L m I INTRODUCTION This paper addresses the construction of dense lattice packings [1] using linear block codes [] Towards explaining the problem statement, we present a series of definitions used in this paper A complex lattice Λ is a discrete subgroup of C n [1] Alternatively, Λ is a Z[i]-module generated by the vectors {v 1, v,, v n v j C n n Λ= q j v j q j Z[i] j=1 We refer to a set L a lattice Euclidean code (or lattice constellation) in C n if L is a finite subset of lattice Λ It is well known that any set S in C n h a one-one correspondence to a set (denoted by S) in R n S = {[R(x) I(x)] x S Using the above equivalence from C to R, we make the following definition on a lattice Euclidean code Definition 1: A lattice Euclidean code L Λis said to have the cubic shaping property if the corresponding set L can be written L = Λ az n, for some a Z The above definition implies that a lattice Euclidean code L with cubic shaping property is a subset of Z a [i] n for some a Z, where Z a is the ring of integers modulo a Henceforth, throughout the paper, a Euclidean code refers to a lattice Euclidean code Definition : (Chapter 4 in []) We define the polynomial quotient ring U m = F [u] u m in variable u for any m 1 { U m = b k u k b k F, with regular polynomial addition and multiplication over F coefficients along with the quotient operation u m =0, which is equivalent to cancelling all the terms of degree greater than or equal to m Definition 3: A subset of Um n denoted by C is called a linear code over U m if C can be obtained through a generator matrix G Um k n C = { zg z Um k, for some k n and the matrix multiplication is over the ring U m Using the above definitions, we now discuss the subject matter of this paper Systematic use of binary error-correcting codes to construct some structured lattices is well known in the literature [1] For example, the checkerboard lattice D R can be constructed (Chapter 4, Section 7, [1]) D =Z L, where L = {ψ(c) c Cis an Euclidean code obtained by embedding the codewords of C the repetition code (, 1, ) over F = {0, 1 into the Euclidean space using the mapping ψ : F Z such that ψ(0) =0and ψ(1) =1 Depending on the structure of the underlying linear error correcting codes, lattice construction can be categorized into different types [1] In this paper, we consider a special cls of constructions called Construction A which is defined formally follows: Definition 4: (Sec, Chapter 5, [1]) A lattice Λ over Z is obtained Construction A from the binary linear code C if Λ can be represented Λ=Z n L, (1) where L = {ψ(c) c C Z n is an Euclidean code obtained by the component-wise mapping ψ : F Z given by ψ(0) =0and ψ(1) =1on the alphabet of C In the above definition, the linear code C is restricted to be over F and Λ is viewed a lattice over Z However, in general, we could also view Λ a complex lattice, ie, a lattice over Z[i], and construct Λ using linear code C over finite rings We introduce a new construction of lattices by relaxing the constraint on the alphabet of the linear code C Our construction is an extension of Construction A and hence, we refer it Construction A For the most generalized 978-1-4673-579-0/1/$3100 01 IEEE 3110
definition of Construction A, we refer the reader to [3] We use an abstract ring R to denote either Z - the ring of integers or Z[i] - the ring of Gaussian integers Definition 5: A lattice Λ over R is obtained through Construction A from the linear code C over the alphabet U m = F [u] u m for some m 1 if Λ can be represented Λ=u m R n L, () where L = {ψ(c) c C R n is an Euclidean code obtained by using an appropriate mapping ψ : U m R, and {, if R = Z, u = 1+i, if R = Z[i] Note that Construction A can be obtained a special ce from Construction A when m =1and R = Z, wherein the embedding operation ψ coincides with the one in Definition 4 In this paper, we provide Construction A of Barnes-Wall lattice [1], [4], [5], [6], [7] of dimension m for m 1 by viewing it a lattice over Z[i] In other words, we present the following key ingredients needed for Construction A of Barnes-Wall lattices for every m 1: 1) An appropriate linear code C m over the alphabet U m ) A suitable mapping ψ : U m Z[i] in order to obtain the Euclidean code L m with cubic shaping property Throughout the paper, unless specified, the dimension of the Barnes-Wall lattice refers to its rank a lattice over Z[i] We list the contributions and the organisation of the paper given below: We introduce Construction A of lattices ( in Definition 5) which facilitates us to generate some well structured lattices from linear codes over finite rings Asanim- mediate application, we apply Construction A to obtain Barnes-Wall lattices of dimension m by embedding a linear code C m over the quotient ring U m to a Euclidean code in Z[i] m for any m 1 (Section II) First, we identify the structure of the linear code C m by using Construction D of Barnes-Wall lattices Subsequently, we provide a linear encoder to map the information bits onto the codewords of C m We identify that the generator matrix for C m is given by [ ] m 1 1 G m =, 0 u where the tensor operation is over U m (Section II) We also prove the equivalence of our encoding technique to Construction D (Section III) To find out ψ and L m, we first obtain the Euclidean code EC m = {Φ(c) c C m Z[i] m, through the mapping Φ:U m Z[i] Φ b j u j = b j (Φ(u)) j, with Φ(u) = 1 + i At this stage, we point out that EC m is an arbitrary subset of BW m and does not have cubic shaping To fix this problem, we provide a oneone mapping φ : EC m L m BW m such that L m h cubic shaping property for even values of m (Section IV) With this, the mapping ψ ( in Definition 5) is the composition mapping φ(φ( )) on U m, and we show that BW m is obtained BW m =(1+i) m Z[i] m L m More details on this work can be found in [8] Apart from providing further details on Construction A of Barnes-Wall lattices, a thorough study on the performance of Euclidean codes from Barnes-Wall lattice constellations is also reported in [8] Notations: Throughout the paper, boldface letters and capital boldface letters are used to represent vectors and matrices, respectively For a complex matrix X, the matrices X T, R(X) and I(X) denote, respectively, the transpose, real part and imaginary part of X For a vector x, we use x j to represent the j-th component of x The set of all integers, the real numbers, and the complex numbers are, respectively, denoted by Z, R, and C, and i = 1 Cardinality of a set S is denoted by S Absolute value of a complex number x is denoted by x The number of ways of picking n objects out of m objects is denoted by C m n The n-length zero vector is denoted by 0 n II CONSTRUCTION A OF BARNES-WALL LATTICE First, we recall Construction D of Barnes-Wall lattices, and subsequently propose its Construction A from a suitable code A Construction D of Barnes-Wall lattice Barnes-Wall lattice can be obtained via Construction D [4] a Z[i] lattice follows: Suppose we want to construct the lattice BW m of dimension m where m 1, let RM(r, m) be the binary Reed-Muller (RM) code (Sec 37, Chapter 3, []) of length m and of order 0 r m With this, BW m can be constructed in (3) given at the top of next page, where ψ( ) is given in Definition 4 For notational convenience, we also write (3) BW m =(1+i) m Z[i] m (1 + i) r RM(r, m) (4) This method generates BW m a multi-level structure of nested RM codes and hence it falls under Construction D [1] Example 1: BW 4 (which is also known E 8 over Z) is constructed BW 4 =(1+i) Z[i] 4 (1 + i)rm(1, ) RM(0, ), where the code RM(1, ) = (4, 3, ) and the code RM(0, ) = (4, 1, 4) in the clsical (n, k, d min ) format Example : BW 16 is obtained BW 16 =(1+i) 4 Z[i] 16 (1 + i) 3 (16, 15, ) (1 + i) (16, 11, 4) (1 + i)(16, 5, 8) (16, 1, 6) 3111
{ BW m = (1 + i) m a + (1 + i) r ψ(c r ) c r RM(r, m), a Z[i] m (3) B Construction A In order to obtain BW m Construction A, we first need to find a suitable linear code C m over an appropriate ring To find such a code, we are interested in understanding the following expression in (4), EC m = (1 + i) r RM(r, m), (5) a single code If we denote u =1+i and consider u a symbol, then the expression u r RM(r, m), (6) can be viewed a code denoted by C m over the ring U m Example 3: For BW 4, the code C 4 is given by u(4, 3, )+ (4, 1, 4), which can be viewed a code over the quotient ring U Example 4: Another example is C 16, which is obtained from BW 16 and is given by C 16 = (16, 1, 6)+u(16, 5, 8)+u (16, 11, 4)+u 3 (16, 15, ), where C 16 is defined over U 4 In general, the ring on which the code C m = u r RM(r, m) (7) is defined is the quotient ring U m With this, we have identified the linear code C m to be useful for Construction A of BW m In the rest of this subsection, we provide a linear encoder to generate the codewords of C m It is known that the m - dimensional Barnes-Wall lattice BW m over Z[i] is generated by the rows of the m-fold Kronecker product [6] [ ] m 1 1 G = 0 (1+i) Replacing u =1+i a symbol and making u m =0in G, we obtain the generator matrix G m which can be viewed a matrix over U m Example 5: The generator matrix G 4 is given by 1 1 1 1 G 4 = 0 u 0 u 0 0 u u U4 4 0 0 0 0 By using G m a matrix over U m, the code C m is obtained below: Encoding of C m: Let z Um m, ie, the j-th component of z is given by z j = b k,j u k, (8) where b k,j F for all k, j Using z and G m, the code C m Um m can be obtained C m = {x = zg m z U m m, (9) where the matrix multiplication is over U m Proposition 1: The rate of the code C m in bits per codeword is ( m )m Proof: Each component of z carries m information bits in the variables b k,j shown in (8) This amounts to a total of m m bits carried by z However, since the matrix multiplication is over U m, not all the information bits b k,j are encoded codewords of C m (due to u m =0) Using the structure of G m it is possible to identify the indices (k, j) of information bits b k,j which get encoded into the codewords of C m follows: Let the set I q denote the indices of the rows of G m whose components take values from the binary set {0,u q for q =0, 1, m 1 Due to the quotient operation u m =0, the components of z which are in the index set I q are restricted to be of the form, z j = q b k,j u k j I q For example, z 1 = b k,1u k and z m =0 Using the structure of G m we observe that I q = Cq m, and hence find the total number of information bits on a codeword of C m m (m k)cm k Therefore, the rate of C m in bits per codeword is i=0 Cm i (m i) = m m We now provide an example for the proposed encoding technique, showcing the positions of the information bits that get encoded to the codewords of C m Example 6: For m =3, the input vector z and G 8 are of the form, b 0,1 + b 1,1 u + b,1 u b 0, + b 1, u b 0,3 + b 1,3 u z T = b 0,4 b 0,5 + b 1,5 u and b 0,6 b 0,7 0 1 1 1 1 1 1 1 1 0 u 0 u 0 u 0 u 0 0 u u 0 0 u u G 8 = 0 0 0 u 0 0 0 u 0 0 0 0 u u u u 0 0 0 0 0 u 0 u 0 0 0 0 0 0 u u 0 0 0 0 0 0 0 0 311
III ON EQUIVALENCE OF CONSTRUCTION A TO CONSTRUCTION D In this subsection, we prove the equivalence of our encoding technique to Construction D In other words, the following theorem shows that the codewords generated in (9) can be uniquely represented vectors of a multi-level code of nested RM codes in (7) Theorem 1: The codewords generated in (9) can be uniquely represented codewords obtained through Construction D Proof: The entries of G m take values from the set {0, 1,u,u, u After suitable row permutations, G m can be written ur 1 G m =, (10) u R u m R m where R k F Cm k m Note that [R T 0 R T 1 R T r ] T is a generator matrix of the r-th order RM code for r m Recalling the encoding technique, the code C m is obtained C m = {x = zg m z Um m where the matrix multiplication is over U m The vector z can be written z = ub, where u = [ 1 u u u m u ] Um 1 m and B = b 0,0 b 0,1 b 0, m b 0, m 1 b 1,0 b 1,1 b 1, m b 1, m 1 b,0 b,1 b, m b, m 1 b m,0 b m,1 b m, m b m, m 1 b,0 b,1 b, m b, m 1 F m m Note that b k,j are the information bits to be encoded into codewords of C m We split the information matrix B [B 0 B 1 B m ] where B k F m Cm k for k =0, 1, m After the above split, the BW lattice vector x is obtained ur 1 x = u[b 0 B 1 B m ] u R u m R m The RHS of the above operation can be alternately written R 1 x = u[ B 0 B 1 B m ], R R m {{ G RM [ ] 0 where B k = k C m k Note that G B k ([1 : m k], :) RM is the nested RM generator matrix We use the notation B = [ B 0 B 1 B m ] We also point out that the informations bits in each row of B are encoded to RM codewords of appropriate order by the matrix multiplication BG RM Due to zero entries in B, the matrix B h only k 1 n=0 Cm n information bits in the k-th row of B for k =1,, m Since, these k 1 n=0 Cm n bits are placed in the first many columns of B, the information bits in the k-th row of B are encoded into a RM codeword of (k 1)-th order Finally, on the multiplication of u from left, the generated RM codewords are appropriately weighed by powers of u and added This proves the equivalence of our construction to Construction D Till now, we have identified the linear code C m and its encoding technique over the quotient ring U m In the next subsection, we discuss embedding of C m into the Euclidean space Z[i] m IV EMBEDDING TO BARNES-WALL LATTICE AND CUBIC SHAPING By using the map Φ(u) =1+i on C m, we get a Euclidean code given by EC m = {Φ(c) c C m Z[i] m, = (1 + i) r RM(r, m), (11) where Φ maps the symbols of U m into Z[i] Φ b j u j = b j (Φ(u)) j (1) It is to be noted that EC m is an arbitrary subset of BW m and does not have cubic shaping To fix this problem, we propose a one-one mapping φ on EC m to obtain a new Euclidean code denoted by L m such that L m h cubic shaping when m is even For any x =[x 1,x,x 3,,x m] EC m, the mapping φ operates on each component of x, { φ(x j )= x j mod m (, when ) m is even; ϕ x j mod m+1, when m is odd, where ϕ( ) is defined on Z m+1 z + ϕ(z) = [i], z, when I(z) < ( i z ( + i ), when R(z) < ; and I(z) ) ;, when R(z) (13) (14) and I(z) The mapping φ guarantees the following property on L m: { Z m [i] m, if m is even; L m (15) {Z m+1 m + i{z m, if m is odd 3113
From (15), note that each component of the vector in L m is in a cubic box and a rectangular box, when m is even and odd, respectively With this, the mapping ψ (given in Definition 5) needed to obtain the Euclidean code L m from C m can be written ψ = φ(φ( )), (16) where Φ and φ are given in (1) and (13) respectively Proposition : The rate of the Euclidean code L m in bits per complex dimension is m Proof: The proof follows from the one-one nature of ψ and the result of Proposition 1 For the proof on the one-one nature of ψ, we refer the reader to Proposition of [8] Remark 1: We point out that Construction A does not qualify to be the generalized Construction A of [3] since the proposed embedding operation ψ is not a linear map The following theorem shows that ψ retains the Barnes- Wall lattice structure on L m and proves Construction A of BW m Theorem : The Euclidean code L m and the lattice BW m are related BW m =(1+i) m Z[i] m L m Proof: Consider the ce when m is even From (3) and (11), any z BW m can be written z =(1+i) m a + x, (17) where a Z[i] m and x EC m Further, upon the modulo operation in (13), x satisfies x = m r + φ(x), where φ(x) L m and r Z[i] m This implies φ(x) =x m r = x +(1+i) m r, (18) for some r Z[i] m The second equality follows (1 + i) m = a m where a {1, 1,i, i (19) The RHS of (18) is in the form of (3) and hence L m BW m Further, combining (17) and (18), we have z =(1+i) m a + φ(x), (0) for some a Z[i] m and φ(x) L m From (15), we also observe that (1 + i) m Z[i] m L m = m Z[i] m L m = {0 m (1) The first equality in the above equation follows from (19) With (0) and (1), the statement of the theorem follows when m is even We now consider the ce when m is odd For this ce, we first study the mod m+1 operation in (13), and subsequently study the effect of ϕ With the mod operation, any x EC m satisfies x = m+1 r + x, where x Z m+1 [i] m and r Z[i] m This implies Barnes-Wall lattice point Further, the constants added in (14) are such that (1 i) =a (1 + i) m and (1 + i) =b (1 + i) m for some a, b Z[i] Therefore, ϕ( x) continues to be a Barnes- Wall lattice point We also know that x =(1+i) m r + φ(x), for some r Z[i] m and φ(x) L m Finally, from (15), we have (1 + i) m Z[i] m L m = (1 + i)z[i] m L m = {0 m The first equality in the above equation follows (1 + i) m is of the form a where a = ±1 ± i This completes the proof when m is odd Using the results of Theorem, the Construction A of BW m is given by BW m =(1+i) m Z[i] m L m, where L m is the Euclidean code obtained from C m through the mapping ψ = φ(φ( )) on U m V CONCLUSION In this paper, we have introduced an extension of Construction A to obtain the cls of Barnes-Wall lattices from linear codes over rings We highlight that the mapping ψ provides the cubic shaping property on the Euclidean code, which in turn facilitates labelling of information bits if the Euclidean code is to be used a coded modulation scheme ACKNOWLEDGMENT This work w performed within the Monh Software Defined Telecommunications Lab and supported by the Monh Professional Fellowship 011 REFERENCES [1] JH Conway and NJA Sloane, Sphere Packings, Lattices and Groups, Second Edition, 1993, Springer-Verlag, New York [] R E Blahut, Theory and Practice of Error Control Codes, Addison- Wesley Publishing Company, Inc, 1983 [3] GD Forney, and A Vardy, Generalized Minimum-Distance Decoding of Euclidean-Space Codes and Lattices, IEEE Transactions on Information Theory, vol 4, no 6, Nov 1996, pp 199-06 [4] GD Forney, Coset Codes- Part II: Binary Lattices and Related Codes, IEEE Transactions on Information Theory, vol 34, no 5, Sept 1988, pp 115-1187 [5] G Nebe, E M Rains and N J A Sloane, A Simple Construction of the Barnes-Wall Lattices, in Codes, Graphs, and Systems: A Celebration of the Life and Career of G David Forney, Jr on the Occion of his Sixtieth Birthday, ed R E Blahut and R Koetter, Kluwer, 00, pp 333-34 [6] D Micciancio, and A Nicolsi, Efficient Bounded Distance Decoders for Barnes-Wall Lattices, in the Proc of IEEE ISIT 008, Toronto, Canada, July 6-11, 008 [7] A J Salomon, and O Amrani, Augmented Product Codes and Lattices: Reed-Muller Codes and Barnes-Wall Lattices, IEEE Transactions on Information Theory, vol 51, no 11, Nov 005, pp 3918-3930 [8] J Harshan, E Viterbo, and J-C Belfiore, Practical Encoders and Decoders for Euclidean Codes from Barnes-Wall Lattices, available on arxiv:10338v [csit], March 01 x = x m+1 r = x +(1+i) m r, () for some r Z[i] m The second equality follows m+1 = a (1+i) m for some a Z[i] We point out that x is already a 3114