  We consider the bilinear inverse problem of recovering two vectors, $x$ and
$w$, in $\mathbb{R}^L$ from their entrywise product. For the case where the
vectors have known signs and belong to known subspaces, we introduce the convex
program BranchHull, which is posed in the natural parameter space that does not
require an approximate solution or initialization in order to be stated or
solved. Under the structural assumptions that $x$ and $w$ are members of known
$K$ and $N$ dimensional random subspaces, we present a recovery guarantee for
the noiseless case and a noisy case. In the noiseless case, we prove that the
BranchHull recovers $x$ and $w$ up to the inherent scaling ambiguity with high
probability when $L\ \gg\ 2(K+N)$. The analysis provides a precise upper bound
on the coefficient for the sample complexity. In a noisy case, we show that
with high probability the BranchHull is robust to small dense noise when $L =
\Omega(K+N)$. BranchHull is motivated by the sweep distortion removal task in
dielectric imaging, where one of the signals is a nonnegative reflectivity, and
the other signal lives in a known wavelet subspace. Additional potential
applications are blind deconvolution and self-calibration.
