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?
>
>
> regards,
>

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)