Given a binary-valued (only ones and zeroes) MxN matrix C, and K (where K<M and K<N) find a binary-valued MxK matrix A and a binary-valued KxN matrix B such that A*B equals C. e.g. for K = 2, and
C =
1 1 1 0 0 0 0 0 0 1 0 1
then one possible solution is
A =
0 1 0 0 1 0
B =
0 1 0 1 1 1 1 0
For this problem, assume that at least one solution exists.
Note that you cannot do matrix multiplication with two logical matrices in MATLAB.
you should probably add an assert statement that checks the size of the output matrices
I second @bmtran. lu wins!
thanks, I added the extra asserts as you suggest. the other solutions submitted so far look interesting, thanks for them!
it's lu, again...
very interesting observation that lu returns binary values factors for
these inputs. i must think about this further!
5962 Solvers
Compress strings (not springs)
89 Solvers
120 Solvers
Are all the three given point in the same line?
208 Solvers
Generate N equally spaced intervals between -L and L
454 Solvers