MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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





  • Prev by Date: Re: Bug in Reduce?
  • Next by Date: NDSolve acceleration by forcing use of LAPACK functions
  • Previous by thread: Re: Complete solution to a modular System of equations
  • Next by thread: Re: Complete solution to a modular System of equations ( Correction)