Re: Complete solution to a modular System of equations

*To*: mathgroup at smc.vnet.net*Subject*: [mg60480] Re: [mg60450] Complete solution to a modular System of equations*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Sat, 17 Sep 2005 02:32:11 -0400 (EDT)*References*: <200509160750.DAA00817@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

mumat wrote: > In coding theory one is intersted to find the dual code of a given > code. To do this one has to solve a modular linear equation such as: > > > eq = {a + b + d == 0, a + c + d == 0, b + c + d == 0} > > lhs = {{1, 1, 0, 1}, {1, 0, 1, 1}, {0, 1, 1, 1}}; rhs = {0, 0, 0}; > > LinearSolve[lhs,{0,0,0},Modulus->2] > > Out[52]= > {0,0,0,0} > > as you see it returns only one solution. How can I find all solutions. > The number of solutions is a power of 2. For about example there is > exacly one more solution which is > > {1,1,1,0}. > > Is there any function in Mathematica to do this? or I should start > writing my own code? > > thanks for your help in advance! > > regards, > > chekad You can get a full set of generators to the null space using (no surprise here) NullSpace. In[11]:= NullSpace[lhs, Modulus->2] Out[11]= {{1, 1, 1, 0}} If your linear system is inhomogeneous you can get a particular solution using LinearSolve. You can then form all possible solutions by adding all possible null vectors, which in turn is done by adding all possible linear combinations of null space basis vectors. I would not try this over fields of large (or very small) characteristic. Daniel Lichtblau Wolfram Research

**References**:**Complete solution to a modular System of equations***From:*"mumat" <csarami@gmail.com>