Problem 1051. Exact binary matrix factorization
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.
Solution Stats
Problem Comments
-
3 Comments
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!
Solution Comments
Show commentsProblem Recent Solvers13
Suggested Problems
-
536 Solvers
-
String substitution, sub problem to cryptoMath
226 Solvers
-
Longest run of consecutive numbers
4874 Solvers
-
Find the maximum number of decimal places in a set of numbers
2423 Solvers
-
Generate N equally spaced intervals between -L and L
836 Solvers
More from this Author5
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!