Min number dependent columns in a matrix

  • Thread starter Thread starter gonzo
  • Start date Start date
  • Tags Tags
    Columns Matrix
gonzo
Messages
277
Reaction score
0
Is there some easy way to determine the minimum number of dependent columns in a matrix? Assume the matrix entries are binary for convenience.

Let's say I have an m x n, m>n matrix in the form (I | A) So that I is nxn, and A is m-n x n. This obviously depends on A.

So is there some easy method for figuring this out by maniuplating A, or is there just a lot of trial and error?
 
Physics news on Phys.org
Row reduction. Look it up.
 
Doesn't work. That only gives you the maximum number of independent rows, which is totally different.
 
Just to demonstrate more clearly why rank probably won't be too useful... consider the following matrices are all rank 3:

\left(\begin{array}{cccc}<br /> 1 &amp; -1 &amp; 0 &amp; 0 \\<br /> 0 &amp; 1 &amp; -1 &amp; 0 \\<br /> 0 &amp; 0 &amp; 1 &amp; -1 \\<br /> -1 &amp; 0 &amp; 0 &amp; 1<br /> \end{array}\right)

\left(\begin{array}{cccc}<br /> 1 &amp; 0 &amp; 0 &amp; 0 \\<br /> 0 &amp; 1 &amp; 0 &amp; 0 \\<br /> 0 &amp; 0 &amp; 1 &amp; 0 \\<br /> 0 &amp; 0 &amp; 1 &amp; 0<br /> \end{array}\right)

\left(\begin{array}{cccc}<br /> 1 &amp; 0 &amp; 0 &amp; 0 \\<br /> 0 &amp; 1 &amp; 0 &amp; 0 \\<br /> 0 &amp; 0 &amp; 1 &amp; 1 \\<br /> 0 &amp; 0 &amp; 0 &amp; 0<br /> \end{array}\right)

but the minimum number of rows you need to form a dependent set is 4, 2, and 1 respectively. (4, 1, and 2 if you want a dependent set of columns)
 
Oh sorry, I wasn't even paying attention.
 
Last edited:
Yes, I've convinced myself that this is a hard problem in general.

Notice, gonzo, that the problem of finding "the minimum number of dependent columns" is the same as the problem of finding "the most zeroes a nontrivial (right) null vector can have".

If you really want the exact answer, then only approach I can think of at the moment is to compute the intersection of the null space with the various subspaces that have exactly 1 nonzero coordinate, and then with those that have exactly 2 nonzero coordinates, and so forth.
 
Yeah, it seems likely to be an very hard problem that gets out of hand fast with big matrices.

I've done a bit more research on this and it seems an active and important area of research, with some people coming up with probablistic algorithms to try and reduce the time for certain classes of matrices.

I feel much better about having trouble with this initially.

By the way, for anyone interested, this number is the minimum distance for the linear code that this matrix is a parity check matrix for.
 
Ah, that I know is hard! Being a parity check matrix makes the problem a little easier, though: it makes it possible to exhaust through all the null vectors, and allows you to represent the problem as a graph.
 
Yeah, but even for 15 bits, trying to do it by hand on a test for example can take a lot of time. Like being given the parity check matrix for a [15,5] code and tryingto determine the distance. I had initially hoped for something easier then just trying every combination from the bottom up. Wishful thinking.
 
Back
Top