ALGEBRAIC STRUCTURE OF THE MINIMAL SUPPORT CODEWORDS SET OF SOME LINEAR CODES

It has been widely known that complete decoding for binary linear codes can be regarded as an linear integer programming problem with binary arithmetic conditions. Conti and Traverso [8] have proposed an efficient algorithm which uses Gröbner bases to solve integer programming with ordinary integer arithmetic conditions. Ikegami and Kaji [11] extended the Conti-Traverso algorithm to solve integer programming with modulo arithmetic conditions. It is natural to consider for those problems the Graver basis associated to them which turns to be the minimal cycles of the matroid associated to the code, i.e. minimal support codewords in the binary case and its geometry. This provides us an universal test set for the programs considered.


Introduction
The sets of minimal support codewords in linear codes had been considered related to gradient-like decoding algorithms [1,10]. Also there is interest to them due to the work of J. Massey in secret sharing schemes derived from linear codes [13], where minimal codewords describe the minimal access structures. It is quite dificult to describe the set of minimal codewords for an arbitrary linear code even in the binary case, in fact, the knowledge of the minimal codewords is related with the complete decoding problem which is a NP-problem [2] even if preprocessing is allowed [7]. The problem of determining the set of minimal codewords has been solved for q-ary Hamming codes and for the second order binary Reed-Muller codes and there has been attempts to characterize if for other classes of codes like BCH codes and the r th -order binary Reed-Muller code, see [6] and the references therein.
From now on we will denote by Z, Z ≥0 , R, Z q the integer numbers , the integers greater or equal to 0, the real numbers and the ring of integers modulo q respectively. The goal this paper is the use of Graver basis associated to modular linear program problems to describe the sets of codewords of minimal support codes defined on Z n q . The main tools will be combinatorial algebra techniques [17] related to linear integer programming addapted to the modular case. The outline of the paper is as follows. In section 2, we start by briefly reviewing the algorithm of Conti and Traverso, presented in [8], which shows the use Gröbner basis to solve integer programming problems. The main idea of this algorithm is to compute a Gröbner basis of an ideal defined from the constrain equations and find the solution which minimizes the linear function using the Gröbner basis reduction. Then we discuss the extension of the Conti-Traverso algorithm given by Ikegami and Kaji [11] to solve linear integer programming with modulo arithmetic conditions. The reader should recall that the maximum likelihood decoding can be regarded as an linear integer programming with arithmetic conditions. In Section 3 we extend the work of [4] to the non-binary modular case. In [4] they introduce a binomial ideal derived from a binary lineal code C, which we prove that can be seen as the ideal associated to the kernel (over Z 2 ) of a modular linear integer programming problem. Finally, in section 4, we describe the set of codewords of minimal support of codes defined on Z n q using the Graver basis associated to an ideal. This Graver basis is again the Z q -kernel associated to a Lawrence lifted matrix so techniques on the previous section also apply to compute the set of minimal support codewords.
It is important to recall that the modular integer programming approach in this paper does not allow to perform complete decoding in a straigth forward way for q > 2 as stated in Subsection 3.2 but the description of the Graver basis of the modular problem provides a description of the minimal support codewords set of linear codes over Z n q , see Subsection 4.3.

2.
Integer-modular linear programs and Gröbner basis 2.1. Conti-Traverso algorithm. Given an integral matrix A ∈ Z m×n , which is known as the matrix of coefficients, and the vectors b ∈ Z m and w ∈ R n , the vector w is called the cost vector, the integer linear programming problem, denoted by IP A,w (b) consists of three parts: a linear function to be minimized, a problem constraints and non-negative variables. Therefore if we expresse the problem in matrix form it becomes: A solution u ∈ Z n ≥0 which satisfied Au t = b is called optimal if u minimizes the inner product w · u. Although an integer program differs from a linear program only in the requirement that solutions are integral instead of real, the general integer program is NP-complete while linear programs can be solved in polynomial time. The first general algorithm to solve an integer program was Gomory's cutting plane method, then further methods around branching and bounding integer linear programs were designed. For other algorithms and further reading on both linear and integer programming see [16]. In [8] Conti and Traverso introduced a Gröbner basis based algorithm to solve IP A,w as follows. Every u ∈ Z n can be written uniquely as u = u + − u − where u + , u − ∈ Z n ≥0 and have disjoint supports where the support of a vector u ∈ Z n is the set supp(u) = {i | u i = 0} ⊆ {1, . . . , n}. For a given integer linear programming problem IP A,w stated as in Equation (1) the algorithm computes a reduced Gröbner basis G w of the toric ideal I = {x u + − x u − | u ∈ ker Z (A)} w.r.t the term order w induced by the cost vector w ∈ R n and defined as: either w · α w · β or w · α = w · β, α β, for a fixed admisible ordering.
Note that the reduced Gröbner basis of the binomial ideal I is given also by binomials (see [17], Corolary 4.4 for a proof). Finally, for any non-optimal solution u of IP A,w (b), we compute the normal form of the monomial x u w.r.t. G w namely nf G w (x u ) = x u , and then u is the optimal solution. The interested reader can refer to [17] for an account on Gröbner basis material related to integer linear programming.
A test set for the family of problems IP A,w is a subset T w ⊆ ker Z (A) if, for each non-optimal solution u to a program IP A,w (b), there exists t ∈ T w such that u − t is also a solution and t w 0. The binomials involved in the reduced Gröbner basis G w induce a uniquely defined test set for IP A,w called the Gröbner basis test set. The existence of a finite test set T w gives a trivial gradient descent method for finding the optimal solution of the problem IP A,w (b). Indeed, starting at a solution u of IP A,w (b) we can successively move to an improved solution of the program by subtracting an appropriate element of T w , then the solution u is optimal if, and only if, there does not exists t ∈ T w such that u − t is feasible for IP A,w (b). [11] adapted the ideas of the Conti-Traverso algorithm to solve the modular integer programming problem. Let us consider the integer q ≥ 2, from now on we will use the following characteristic crossing functions : (2) : Z s → Z s q and : Z s q → Z s where s is determined by context and the spaces may also be matrix spaces. The map is reduction modulo q, but the map replaces the class of 0, 1, . . . , q − 1 by the same symbols regarded as integers, both maps act coordinatewise. These maps will be used with matrices and vectors, themselves regarded as maps, acting on the right.

Modular linear programming. Ikegami and Kaji in
Consider the matrix A ∈ Z m×n q and the vectors b ∈ Z m q , w ∈ R n , we define a modular integer program, denoted by IP A,w,q (b) as the problem of finding a vector u ∈ Z n q that minimizes the inner product w · u subject to Au t ≡ b mod q. If we expressed the problem in matrix form it becomes: Note that the constrain conditions are a modular ones but the weight minimizing condition is over the reals. Let x denote n variables x 1 , . . . , x n and y denote m variables y 1 , . . . , y m , consider the ring homomorphism Θ defined by We have the following result.
In [11] they showed that the ideal generated by the binomials associated to the vectors belonging to the Z q -kernel of the matrix A, which is the kernel of the ring homomorphism Θ, is given by the elimination ideal Remark 1. In other words, we can see the ideal related to the the Z q -kernel of A as an elimination ideal of the ideal related to the Z-kernel of the matrix ( A , q · I m ) ∈ Z m×(m+n) .
The following lemma gives the characterization of the polynomials that belong to the ideal I A . Necessary condition was already stated in [11], we show it here again for completenesses. Then To prove the converse, first note that given u ∈ Z n q a monomial x u = x u1 1 · · · x un n with can be written, for some B 1 , . . . B n ∈ K[x, y] as: Thus, there exist polynomials C 1 , . . . , Consider G w a Gröbner basis of the ideal I A w.r.t. an adapted monomial order w then the Conti-Traverso algorithm is extended to the modular case as follows: Theorem 6). Given the monomial x b and let the normal form w.r.t. G w be nf G w (x b ) = x u , then u will give an optimal solution of the problem IP A,w,q (b).

Describing the kernel in K[x]
Note that in the previous description one requires m × n variables for describing the elimination ideal I A ∩ K[x] which is in the ambient space K[x] which involves n variables only. Therefore in order to improve the eficiency it is desirable that the whole computation would be inside K[x]. Di Biase and Urbanke [9] developed some ideas concerning this problem for the integer Z-kernel related to the problem IP A,w (b) in Equation (1). We will describe in this section how to compute the Z q -kernel of the problem IP A,w,q (b) in Equation (3) Let A ∈ Z k×n q be a matrix, we will define the following ideal all the binomials such that (u 1 − u 2 ) is in the modular kernel ker Zq (A). If we consider the linear subespace {u ∈ Z n q | u · a = 0, ∀ a row of A} and A ⊥ be a matrix whose rows generate such linear subespace The following proposition is an extension of Proposition 1 of [4].
q a set of generators of the row space of the matrix A ∈ Z k×n q and consider any vector a, b ∈ Z n . The following conditions are equivalent: and λ 1 , . . . , λ k ∈ Z n such that Proof. First we will see the equivalence between 1. and 2. By Lemma 2.2, x a − x b belongs to I(A ⊥ ) if, and only if, Θ(x a −x b ) ≡ 0 mod J q . Thus y ( A) ⊥ ·a ≡ y ( A) ⊥ ·b mod J q . By Lemma 2.1 this holds if and only if A ⊥ · a ≡ A ⊥ · b mod q. Let us define the homomorphism Φ from K[x] to Z n q as Φ : a 1 ), . . . , ( a n )) .
It is easy to see that for all a, b ∈ Z n the two following properties hold: Let us define the following ideal Proof. It is clear that I ⊆ I(A ⊥ ) since all binomials in the generating set of I belong to I(A ⊥ ).
To show the converse it is enough to prove that any binomial x a − x b of I(A ⊥ ) belongs to I. Notice that by Proposition 3.1, there exist t 1 , t 2 ∈ K[x] and λ 1 , . . . , λ k ∈ Z n such that and e i represent the ith-unit vector of the standard basis of Z n . Therefore by Lemma 2.2 it follows that any binomial in the generating set of I belongs to On the other hand, since I A ∩K[x] is a binomial ideal it is generated by binomials. Let us consider a binomial f = Remark 2. Note that the matrix A ⊥ plays the role of the non negative matrix that Di Biase and Urbanke look for in their paper, thus the previous theorem can be seen as a generalization of the setting in [9] for getting rid of the variables concerning y in I A .
3.1. Computing the Gröbner basis. In order to carry out Conti-Traverso procedure we must compute a reduced Gröbner basis of I A ∩K[x]. Note that we know a set of generators of the ideal thus for computing a reduced Gröbner basis ∼ G w.r.t. a degree compatible order we can use the FGLM-based trick in [4]. In that paper it is stated for the binary case, but the generalization to the modulo q is straight forward. We just point out the main idea and advantages of the algorithm, the interested reader can look at [4] for a detailed description of the algorithm and its complexity issues.
The idea is the following, given a set of generators {f 1 , f 2 , . . . , f r } of the ideal I A ∩K[x] notice that each syzygy in K[x] r+1 with generator set F = {−1, f 1 , . . . , f r } points to an element in the ideal. Now consider the syzygies (f 1 , 1, 0, 0, . . . , 0), . . . , (f r , 0, 0, 0, . . . , 1). They are a Gröbner basis of the syzygy module w.r.t. a position over term (POT) ordering induced from an ordering < in K[x] and the weight vector (1, T < (f 1 ), ..., T < (f r )). Now we use the FGLM idea and run through the terms of K[x] r+1 in adequate term over position (TOP) ordering that reveals the Gröbner basis of the ideal in the first component. The above procedure is completely general, in our setting it has the following advantages: (i) Note that the total degree of the binomials involved is bounded by n × q, moreover the degree of each variable is at most q since the binomials belong to the ideal. (ii) We can encode all the information of the problem in the exponents, thus we can always take K = F 2 even if q = 2. (iii) All the steps can be carried out as Gaussian elimination steps.
The two first items above make the most common drawbacks of Gröbner basis computation fail, namely growth of the total degree and growth of coefficients.

Complete decoding.
To end this section we review the relation of this approach with the complete decoding problem in the binary case. Let q = 2 and H be the parity check matrix of a linear code over Z 2 . Then solving the modular program IP H,1,2 (b) where 1 = (1, 1, . . . , 1) is equivalent to complete decoding b. This is the approach in [11] and we have just shown by Theorem 3.2 above that (only in the binary case) it is equivalent to the approach in [4]. It must be noticed that the reduced Gröbner basis associated to the problem provides us a (minimal) test set T whose elements are binomials associated to minimal codewords. Thus, this complete decoding scheme is equivalent to the gradient descent decoding given by Barg [1] and proven to be equivalent to Liebler approach [12], see [4] for a proof. Unfortunately, Hamming metric can not be stated as a linear programming objective for q > 2, i.e. min {w · u} = min {w(u)} where w denotes the Hamming weight. In [5] avoided the problem above for q = p r (p a prime) by using some non-admisible but noetherian-confluent orderings and substituting Gröbner basis by Border basis.

Minimal support codewords set
As stated in the previous subsection, modular integer programming approach in this paper does not allow to perform complete decoding in a straigth forward way for q > 2. We shall prove in this section that this approach allow us to describe the set of minimal support codewords of a code which will be related to the Graver basis of the modular integer program. The main tool for computing such a Graver basis will be a Gröbner basis computation that again will be well suited for an extended algorithm in [4] showed in Subsection 3.1.

Graver basis.
Given an integer matrix A ∈ Z m×n we define the universal Gröbner basis UGB A as the union of all reduced Gröbner basis for every generic weight w. A binomial x u + − x u − ∈ I A is primitive if there exists no other binomial In other words, an integral vector u ∈ ker Z (A) is said to be primitive if the greatest common divisor of the components of the corresponding binomial (+'ve and −'ve) is 1. We call the set of primitive binomials in I A the Graver basis of A and denote it by Gr A ⊆ ker Z (A).
A circuit of A is a non-zero primitive vector u ∈ ker Z (A) such that its support is minimal. If we denote C A the set of circuits of A, we have that C A ⊆ UGB A ⊆ Gr A (see [17], Proposition 4.11 for a proof).
Definition 4.1. The lattice L(A) = {x ∈ Z n | Ax = 0} has a natural partial order. For u, v ∈ Z n we say that u is conformal to v, denoted u v if |u i | ≤ |v i | and u i · v i > 0 for all i = 1, . . . , n That is, u and v lie in the same orthant of R n and each component of u is bounded by the corresponding component of v in absolute value. Note that the binomial x u + − x u − in I A is primitive if the vector u = u + − u − ∈ Z n is minimal with respect to the order . Thus the Graver basis of an integer matrix A is the set of conformal-minimal nonzero integer dependencies on A. A set U A ⊆ ker Z (A) is an universal test set for IP A if U A contains a test set for the family of integer programs IP A,w for every generic w. The Graver basis Gr A and the universal Gröbner basis UGB A of A are universal test set for A.
Another way of looking at Graver basis is the following. For each σ ∈ {+, −} consider the semigroup S σ = ker Z (A)∩R n σ where R n σ is the orthant with sign pattern σ. We have a pointed polyhedral cone in R n Where I n ∈ Z n×n is the n-identity matrix and 0 m×n ∈ Z m×n is the all zero matrix. The matrices A and Λ(A) have isomorphic kernels ker Z (Λ(A)) = {(u, −u) | u ∈ ker Z (A)} and the toric ideal I Λ(A) is an homogeneous prime ideal defined as where z represents the variables z 1 , z 2 , . . . , z n .  Where I q,n ∈ Z n×n q is the n-identity matrix and 0 q,m×n ∈ Z m×n q is the all zero matrix.
Remark 3. Note that again, as pointed in Remark 1 we can see the ideal related to the the Z q -kernel of Λ(A) q as an elimination ideal of the ideal related to the Z-kernel of the matrix A 0 m×n q · I m I n I n 0 n×m ∈ Z (m+n)×(2n+m) .
Then we have a similar result to that in the previous theorem relating the Z qkernel of A and the kernel of Λ(A) q (see [11,Theorem 8]). In order to to compute the Gaver basis note that again we can use the modified version of the FGLM-like algorithm in order to compute ker Zq (Λ(A) q ).

4.3.
Minimal support codewords set. We will consider a linear code over the alphabet Z q of length n and dimension n−k as linear subspace C Z n q . The elements of C are call codewords and for a c ∈ C we define the support of c = (c 1 , . . . , c n ) as its support as a vector, i.e. supp(c) = {i | c i = 0}. Let H C be the parity check with parity check matrix of C. We will say that a codeword m has minimal support or that it is a minimal support codeword if it is non-zero and supp(m) is not contained in the supports of any other codewords. We have the following easy result We will define a set of codewords of minimal support of the code as a set containing a representative of all the minimal support codewords of the code modulo scalar multiplication.
Theorem 4.4. A Graver basis of H C a parity check matrix of C gives us a set of codewords of minimal support of the code C ⊆ Z n q . Proof. Let m be a codeword of minimal support of the code C and Gr H C the Graver basis of H C . Assume that m / ∈ Gr H C , this implies that the binomial x m + − x m − is not primitive. Hence there exists a binomial x u + − x u − such that u m, contradicting the fact that m has minimal support.
The previous result gives us a procedure to compute the set of minimal supports of codes defined on Z q , in particular for codes over F p with p prime, but not for the case p r since F p r ≡ Z p r . In the binary case the set of codewords of minimal support of the code are all minimal codewords, we have C A = UGB A = Gr A , the cases when this equality holds and the obstructions for this property in the non modular case are studied by Bogart, Jensen and Thomas [3]. Now the two following corollaries are straigth forward Corollary 4.5. Let C ⊆ Z n q be a linear code and H C a parity check matrix of C, then the set of minimal support codewords of the code C is the projection on the first n coordinates of the set (11) {w | w = (v, (q − 1) · v) ∈ T } where T is a Gröbner test set of the integer modular linear program with associated matrix H C 0 I n I n .
Corollary 4.6. The minimal codewords of C can be computed from the ideal where w i for i = 1, . . . , k are the rows of a generator matrix of C.