Consider a collection of $m$ matrices $A_i$ of size $n\times n$, and a vector $b$ of size $m$. I want to solve the bilinear system $$\left\{ x^T A_i y = b_i : i = 1,\dots,m \right\}$$ in variables $x,y$. Is there an *efficient* way of doing this? This is both a theoretical and a practical question: the matrices $A_i$ I have in mind are sparse and have size in the thousands. I understand that if $m=1$ then one can consider a vector $z=[x y]$ and run a semidefinite solver on $\|z^T [0\; A_1;A_1^T\; 0]z-2b_1\|$; however the $m$ I have in mind is also in the thousands.