Boolean matrix factorization in julia?

Anyone know of a package that can do Boolean Matrix Factorization (BMF) in julia?

Basically for a boolean matrix A {m x n} and a rank k, find boolean matrix X {m x k} and boolean matrix Y {k x n} such that A = X * Y (approximately). Apparently this is NP hard.

I’ve tried LowRankModels.jl, but it always returns real-valued X,Y.


I think you can just code this in JuMP using constraints?

There exist specialized algorithms for BMF, but indeed, it didn’t occur to me to just write it up in JuMP. Thanks for the tip!