Parity check systems of nonlinear codes over finite commutative Frobenius rings

The concept of parity check matrices of linear binary codes has been extended by Heden [9] to parity check systems of nonlinear binary codes. In the present paper we extend this concept to parity check systems of nonlinear codes over finite commutative Frobenius rings. Using parity check systems, results on how to get some fundamental properties of the codes are given. Moreover, parity check systems and its connection to characters is investigated and a MacWilliams type theorem on the distance distribution is given.


Introduction
In the 1990's Nechaev [17] and independently Hammons et al. [7] discovered that several families of nonlinear binary codes with good parameters, regarding the number of codewords and the minimum Hamming distance, can be represented as linear codes over Z 4 .Thereafter there has been a revival in the study of codes over finite rings.For some purposes finite Frobenius rings seem to be the most appropriate rings to use for codes over rings, see for example [22,23].
In [9], Heden generalizes the concept of parity check matrices for linear binary codes to parity check systems for nonlinear binary codes.A parity check system (H|S) is a concatenation of two matrices H and S, see (4).In [9] there is a sufficient and necessary condition for a parity check system to correspond to a perfect 1-error correcting binary code.This condition has then been a fruitful approach to the study of perfect binary codes, see for example [8,9,11,20].By using this condition, the last remaining open case for the rank-kernel problem for binary perfect codes was solved in [8].This problem was given in [3].Parity check systems have also been used in a software package for Magma, see [20], in order to represent and construct nonlinear perfect binary codes in an efficient way.Further, in [10], parity check systems are defined for perfect codes over finite fields of other cardinalities than 2, namely for all primes.
In [21], by the use of parity check systems, results on how to efficiently represent, manipulate, store and construct nonlinear binary codes are given.The technique of using parity check systems in [21] is especially suitable for codes with large kernel.(A code C that consists of s cosets of a subspace has a large kernel when s << |C|.For the definition of a kernel see (7).) Also, algorithms on how to compute the minimum distance of the codes and how to decode them are given in [21].A comparison of the performance of these algorithms compared to some well-known algorithms and a brute force method for some classes of nonlinear binary codes are given.When the kernel is large enough the algorithms developed in [21] performs best.
Two examples of families of good nonlinear binary codes with large kernel are the Preparata and Kerdock codes of length 2 l for even l ≥ 4. A Kerdock code C consists of 2 l−1 cosets of a subspace and |C| = 2 2 l .A Preparata code C consists of 2 l−1 cosets of a subspace and |C| = 2 2 l −2l .For more details on these families of codes see [16].
One of the most fundamental results in coding theory is a theorem due to MacWilliams [15], which relates the weights of a linear code in a finite vector space to the weights of its dual code.There are many generalizations of this result, see for example [1,2,5,16,22].By the use of characters, defined in (15), parity check matrices and a MacWilliams type theorem is defined for linear codes over any finite ring in [5].
In this paper we extend the concept of parity check systems for nonlinear binary codes, introduced in [9], to parity check systems for codes over finite commutative Frobenius rings.(See the remark in the end of Section 3 for more details about parity check systems for codes over finite fields.)The definition of parity check system is given in (4) and the fundamental connections between parity check systems and codes are given in Theorem 3.1 and Theorem 3.2.Considering the Hamming distance, by the use of a parity check system of a code, Theorem 5.1 shows how to derive the minimum distance and Theorem 5.2 how to error-correct.
By use of the module isomorphism given in (26), for any submodule D of R n , we are able in (29) to identify the dot product dual D ⊥ in (1) with the character dual D ♦ in (20).By the use of this identification, Theorem 5.3 gives a formula on how a parity check system (H|S) of a code C can be used in order to get the Fourier coefficients δC , defined in (27) and (30).This formula used in Theorem 5.4 gives a MacWilliams type of theorem on the distance distribution of the code using a parity check system.Any parity check matrix of a linear code over a finite commutative Frobenius ring, as defined in [5], corresponds to a parity check system over the code.Using this fact, the MacWilliams identity given in [5] corresponds to Theorem 5.4 for linear codes over finite commutative Frobenius rings.For more details about these correspondences see the remark after Theorem 5.4.
The main contributions in this paper are; the extension of the concept of binary parity check systems to parity check systems over finite commutative Frobenius rings, some fundamental results on the connections between codes, parity check systems and characters, and results concerning the minimal distance and distance distribution of codes using parity check systems.The main motive for the present work is to give fundamental results on parity check systems such that they can be used in further research on nonlinear codes over finite commutative Frobenius rings.As described above, earlier works have shown that parity check systems can be used fruitfully in order to do research on nonlinear binary codes.In the line of these earlier works, some interesting areas for future studies on nonlinear codes over commutative Frobenius rings, using parity check systems, are; how to characterize and investigate different classes of codes, and how to efficiently represent, manipulate, store and construct codes with good properties.
The paper is organized as follows.Section 2 contains some basic facts and notation on finite commutative Frobenius rings R, codes over R and parity check systems over R. Section 3 deals with the fundamental connection between parity check systems and codes.The first part of Section 4 describes some basic concepts and facts about Fourier analysis on finite Abelian groups.In the second part some results on Fourier analysis on codes over R are given.Section 5 mainly deals with how to get the minimal distance and distance distribution of codes by the use of parity check systems, and how parity check systems are connected to characters.

Preliminaries
We assume that the reader is familiar with standard terminology in ring theory, module theory and coding theory, for more details, see for example [16,18].For further reading on Frobenius rings and the application of these rings to coding theory, see for example [4,5,6,12,13,22,23].
Let A denote a finite commutative (associative) ring with identity (1 A = 0 A ).For any subset I ⊆ A let I ⊥ denote the annihilator of I, i.e.
For any subset B ⊆ A n , let There are many equivalent characterizations of Frobenius rings [12].One characterization of finite commutative Frobenius ring is that A is Frobenius if and only if Examples of finite commutative Frobenius rings are finite commutative principal ideal rings and finite direct sums of finite commutative Frobenius rings.Let us also mention that examples of finite commutative principal ideal rings are F q (the finite field of cardinality q), the ring of integers Z t modulo t , Galois rings, finite commutative chain rings and finite direct sums of finite commutative principal ideal rings, see for example [4].
Henceforth, let R be a finite commutative Frobenius ring.If D is a submodule of R n , then D ⊥ is a submodule of D with the following to properties and see for example [14].Let (H|S) be a concatenation of a m × n-matrix H = (h i,j ) and a m × s-matrix S = (s i,j ) over R.Moreover, let H row(i) denote row i of H, S row(i) denote row i of S, S col(j) denote row j of S and col(S) denote the family of columns of S. The concatenated matrix (H|S) is a parity check system over R if the following conditions are satisfied, Henceforth, let m, n and s denote the size of a parity check system (H|S), as indicated above.
For matrix H we have that Consequently, condition (iii) is satisfied by (H|S).For x, y ∈ R n , let supp(x), wt(x) and d(x, y) denote the support of x, Hamming weight of x and Hamming distance between x and y, respectively.That is where Moreover, for any code C of R n and element x ∈ R n , let A partial kernel of C is a submodule of ker(C).For any partial kernel D of ker(C), there are elements d 1 , . . ., Note, that if D is a submodule of R n such that (8) holds for some d 1 , . . ., d s ∈ C, then D is a partial kernel of C. A decomposition, as in (8), is here called a coset decomposition of C.
For the rest of this paper, we assume that C is a code of R n with a partial kernel D C and coset representatives d 1 , . . ., d s , i.e.C has a coset decomposition

Parity check systems and codes over R
The two theorems below give the fundamental connection between parity check systems and codes over R. The proofs of the theorems are given in this section after Proposition 3.1.Some more basic results and observations on parity check systems and codes over R are given in the end of this section.
Let < x 1 , . . ., x t > be the submodule of R n that is generated by the elements x 1 , . . ., is a parity check system over R.
is a parity check system over Z 6 .
Theorem 3.2.Let (H|S) be a parity check system over R. Then there is a unique code Example 3.2.Let (H|S) be the following parity check system over Z 6 , (H|S) = 1 1 3 5 0 1 5 0 4 2 2 0 2 4 . where We will say that a parity check system associated to a code C, as described in Theorem 3.1 and Theorem 3.2 above, is a parity check system of C. Note, that every parity check system uniquely represent a code C, but a code C can be represented by many different parity check systems.
For a parity check system (H|S) and its associated code for x ∈ R n .Hence, the complexity of checking if an element in R n is an element in the code or not are proportional to the number of columns in S. That is, we may have to check all the s columns in S where s = |C| |D C | .Thus, to represent a nonlinear code with a parity check system is most efficient when D C is large.The representation of a code via a parity check system can be very inefficient when The following proposition will be used in the proofs of Theorem 3.1 and Theorem 3.2.
Proof.Using (2), we have Proof of Theorem 3.1.We will have to show that the concatenated matrix constructed in (9) satisfy the three conditions given in (4).That condition (i) is satisfied follows directly from the construction.From Proposition 3.1 and the fact that d i + D = d j + D when i = j, we have that all the columns are distinct in the right part of the concatenated matrix.This shows that condition (ii) is satisfied.It is straightforward to prove that if This implies that condition (iii) also is satisfied.
Proof of Theorem 3.2.For convenience, let We want to define cosets d j + D by but we will need to establish that the solution set on the right side is non-empty.Once non-emptiness is established, the rest of the theorem follows easily.Indeed, by Proposition 3.1, the cosets are well-defined and disjoint, because the columns of S are distinct.By setting C = s j=1 (d j + D), it is clear that C has the coset decomposition claimed.Let col(S D ) be the set of columns representing all the cosets of To establish the non-emptiness of the solution set of (11) it suffices to show that col(S) ⊆ col(S D ).
By the definition of parity check systems, every element of col(S) satisfies (i) and (iii) in (4).Thus col(S) ⊆ S H , where S H is the set of column vectors that satisfy (i) and (iii) in (4) for the matrix H.By inspection and with similar arguments as given in (10), every element of col(S D ) satisfies (i) and (iii) in (4) for H. Hence, in order to show that col(S) ⊆ col(S D ), it suffices to show that |S H | ≤ |col(S D )|.
We will use induction on m to prove that |S H | ≤ |col(S D )|.Suppose that m = 1, then H consists of one row and Observe, by the definitions of H ′ and H, that Choose x T = (x 1 , . . ., x m−1 ) T ∈ S H ′ and let for where B x is the coset of D ∩ such that (13) is satisfied.
Let D m =< h m > ⊥ .We observe that D m is a submodule of D ∩ .Hence B x equals a union of cosets of D m .Therefore, as there is a one-to-one correspondence between the cosets of D m and the elements in {h m • y : y ∈ R n } by Proposition 3.1, Consequently, by (3), This implies that, By a well-known isomorphism theorem for modules, see for example Theorem 6.38 in [18], the factor modules are isomorphic.Consequently, by ( 12), ( 14) and the assumption that We remark that a parity check matrix H to a linear code C over a finite field F q corresponds to the parity check system (H|0 T ).Moreover, it is straightforward to show that if the rows in a concatenation (H|S) over F q is linear independent, then (H|S) is a parity check system if and only if condition (ii) in ( 4) is satisfied.Further, we observe that if < H row(1) , . . ., H row(m) > ∼ = ⊕ m i=1 < H row(i) > for a concatenation (H|S) over R, then (iii) in ( 4) is trivially satisfied and the conditions (i) and (ii) in ( 4) is enough to define a parity check system.
As mentioned before, parity check systems for nonlinear codes over F 2 was defined in [9].In [9], when defining parity check systems (H|S) over F 2 , only condition (ii) in ( 4) and the condition that the rows in H are linear independent are used.These conditions are enough to use when defining parity check systems over finite fields, but not when defining parity check systems in general over finite commutative Frobenius rings.Moreover, in [9] it is always assumed that the zero-word 0 is contained in the binary nonlinear codes.This corresponds to the property that the zero-column 0 T is contained in col(S).Hence, the zero-column is omitted in col(S) in the parity check systems given in [9].(In the present paper we do not assume that the zero-word is contained in the codes.Therefore we do not omit the zero-column in colS when the zero-word is contained in the code.)

Fourier analysis on codes over finite commutative Frobenius rings
In Section 4.1 we give some standard results on Fourier analysis on finite Abelian groups and introduce some notation.For an introduction to Fourier analysis on finite Abelian groups and for proofs of the results in Section 4.1, see for example Section 10 and 12 in [19].In Section 4.2, we give some results about Fourier analysis on R n .Most of these results, except for Theorem 4.1 and 4.2, can be found in [22].

Fourier analysis on finite Abelian groups G
Let G be a finite (additive) Abelian group.By C G we denote the vector space over C consisting of all functions from G to C. The addition of vectors and multiplication with scalars are defined in the following way: for f, h : G → C, c ∈ C and x ∈ G, Let , denote the Hermitian inner product on C G defined by where h(x) denotes the complex conjugate of h(x).The convolution f * h, is defined by and gives the vector space C G the structure of an associative commutative algebra.For x, y ∈ G, let δ x denote the indicator function, defined by The set of functions {δ x |x ∈ G}, constitutes an orthonormal basis of C G .Let C × denote the set C \ {0}.A character of a finite Abelian group G is a group homomorphism from G into the multiplicative group of C × .The set of all characters constitutes a group G under pointwise multiplication of the characters, that is, for any ψ, χ ∈ G and x ∈ G.
The set of characters of a finite Abelian group can explicitly be described as follows.Suppose that G is equal to the finite Abelian group Z t 1 ⊕ . . .⊕ Z t k .For any x = (x 1 , . . ., x k ), y = (y 1 , . . ., y k ) ∈ G, define The set of maps {e x |x ∈ G} is the set of characters of G.
For any χ ∈ G and x ∈ G, we have that The character group G is isomorphic to the finite Abelian group G.Under a fixed group isomorphism of G with G, write χ x for the image of every x ∈ G.The set of characters constitutes an orthogonal basis of C G , where The coefficients f (x) are called the Fourier coefficients of the function f .A key property for many results using Fourier coefficients is that for any f, h ∈ C G and x ∈ G.
For any subset B ⊆ G, let Let D be a subgroup of G. Then the character dual Moreover, For any element y ∈ G and function f ∈ C G , the Poisson summation formula is as follows,

Fourier analysis on R-modules R n
Let R denote the character group of the additive group of R. From (18), R n and R n are isomorphic as groups and for χ x = (χ x 1 , . . ., χ xn ) ∈ R n and y = (y 1 , . . ., y n ) ∈ R n .Consequently, for any subset We have an R-module structure on R by the operation for χ x ∈ R and r, y ∈ R. Thus, we also have an R-module structure on R n by the operation A generating character of R is a character χ such that R = {χ r : r ∈ R}.Finite commutative Frobenius rings can be characterized by generating characters.Namely, a finite commutative ring R is Frobenius if and only if R has a generating character.Examples of generating characters for some finite commutative Frobenius rings R are: where q = p l for some prime p and Tr(y) = y + y p + . . .+ y p l−1 .See [22] for some more examples of generating characters.
Let R be finite commutative Frobenius ring and ε be a generating character of R. Then R and R are isomorphic as R-modules via the map φ : R → R, where φ(x) = ε x .Further, let Hence, by (19), any function By ( 24) and the property that ε r+r ′ = ε r ε r ′ for r, r ′ ∈ R, it follows that for x, y ∈ R n .Now, let D be a submodule of R n .Then, by ( 3) and( 21), For any x ∈ D ⊥ , we have ε x ∈ D ♦ by (28).Hence, Any code C of R n can be represented by an element δ C of C R n , where The theorem now follows using (22) and (29).

Parity check systems, distance and Fourier coefficients
Section 5.1 deals with how to get the minimum distance of a code and how to do errorcorrecting by the use of a parity check system.In general, it is not easy to give values to the Fourier coefficients f (x) of a member f in C R n such that f equals δ C for some code C over R. In section 5.2 we give a formula on how to get the Fourier coefficients δ C (x) of a code C by the use of an associated parity check system.A MacWiliam type of distance identity between the code and an associated parity check system is given in Section 5.3.

Minimum distance and error-correcting
As defined in ( 5) and ( 6), we recall that wt(x) and d(C) denote the Hamming weight and distance of an element x ∈ R n and a code C, respectively.For any parity check system (H|S), let S diff be the following set of column vectors of size m, The following theorem shows how a parity check system of a code C can be used to derive the minimum distance of C. . ., H row(m) > ⊥ we may conclude that the equality above is equivalent to The theorem now follows from the observations that wt(x) = wt(−x) and that k = l implies that Hx T = 0 T in the equality above.This gives that S diff = {(0, 0) T , (1, 2) T , (5, 4) T , (4, 2) T } and that the minimum distance of C equals to 2 since {Hx T : x ∈ Z 4 6 , wt(x) = 1} ∩ S diff = ∅ and H(5, 0, 0, 1) T = (4, 2) T ∈ S diff .
We recall that d(x, y) denotes the distance between two elements x, y ∈ R n , as defined in (5).For any code C and ⌋, then there is a unique codeword c ∈ C, here called the nearest neighbor to x in C, such that d(x, c) = d(x, C).

The Fourier coefficient δC (x)
For any parity check system (H|S) and linear combination x = m i=1 r i H row(i) , let S x denote the following vector in R s : S x = (S x (1), . . ., S x (s)) = m i=1 r i S row(i) . (31) From (iii) in (4), we have that S x is well-defined.The next theorem shows how the Fourier coefficients of a code C can be derived from a parity check system of C. We recall that ε is a generating character of R.Moreover, see (25) for the definition of ε x .The theorem now follows from Theorem 4.1.
For i ∈ {0, 1, . . ., n}, let [n] = {1, . . ., n}.A code C over R is a nonempty subset of R n .The elements of C are called codewords and a code is linear if it is a submodule of R n , otherwise the code is nonlinear.For any code C over R let d(C) denote the minimum distance of C, i.e. d(C) = min{d(x, y) : x, y ∈ C and x = y}.

|<h 1 ,
...,h m−1 >| = |col(S D )|.Let C = s j=1 (d j + D C ) be the code that we get from a parity check system (H|S) in Theorem 3.2.We obtain an R-module structure on col(S D C ) = {Hz T : z ∈ R n } by defining x T + y T = (x 1 + y 1 , . . ., x m + y m ) T and rx T = (rx 1 , . . ., rx m ) T , for x T , y T ∈ col(S D C ) and r ∈ R. Further, let ker(col(S)) = {x T ∈ col(S D C ) : rx T + col(S) = col(S) for all r ∈ R}.Since Hx T = (0, . . ., 0) T if and only if x ∈ D C , we obtain that col(S D C ) is isomorphic to the factor module R n /D C and ker(C)/D C is a submodule of R n /D C .It is now straightforward to show the following proposition.Proposition 3.2.Let C = s j=1 (d j + D C ) be the code that we get from a parity check system (H|S) in Theorem 3.2.Then (i) ker(C) = {x ∈ R n : Hx T ∈ ker(col(S))}, (ii) C is a linear code ⇐⇒ col(S) is a submodule of col(S D C ).

2πit
y for y ∈ R = Z t and χ(y) = e 2πi p Tr(y) for y ∈ R = F q ,

Theorem 5 . 1 .
Let (H|S) be a parity check system of a code C. Thend(C) = min{wt(x) : x ∈ R n \ {0} and Hx T ∈ S diff }.Proof.Let s j=1 (d j + D C ) be the coset decomposition of C that corresponds to the parity check system (H|S) in Theorem 3.2.The minimum distance of C equals the least positive integer d such that x + d k + D C = d l + D C for an element x ∈ R n \ {0} with wt(x) = d and some k, l ∈ [s].By Proposition 3.1 and the property that D C =< H row(1) , .

Example 5 . 1 . 6 ,
Let C be the code associated to the following parity check system (H|S) over Z

Theorem 5 . 2 . 2 ⌋}.
Let (H|S) be a parity check system of a code C and let x ∈ R n be an element such that d(x, C) ≤ ⌊ d(C)−1 Then there is a unique l ∈ [s] and y ∈ R n with wt(y) = d(x, C) such that Hx T = S col(l) + Hy T .The nearest neighbor to x in C is the codeword x − y.Proof.Let s j=1 (d j + D C ) be the coset decomposition to C that corresponds to the parity check system (H|S) in Theorem 3.2.Let c be the unique nearest neighbor to x in C and let y = x − c.Further, let l be the element in[s]  such that c ∈ d l + D C .Then wt(y) = d(x, C), and by Proposition 3.1 we obtain that (x − y) + D C = (d l + D C ) ⇐⇒ Hx T = S col(l) + Hy T .