Matrix factorization by a full row rank matrix in MATLAB

I stumbled upon the following in a robotics paper I am studying:

Let $J$ be a non full row rank matrix. Let $P$ be a permutation matrix, $J_0$ a full row rank matrix and $x$ a matrix such that $$J=P \begin{bmatrix} J_0\\ xJ_0 \\ \end{bmatrix}$$ then the set $(P,J_0,x)$ is called factorization of the matrix $J$ by $J_0$.

Although I intuitively get that this is true, I was unable to find a way to compute $(P,J_0,x)$ analytically or numerically in MATLAB. Any ideas?

• Does it say anything about if the factorization is supposed to be unique or not? – mathreadler Mar 21 '16 at 9:55
• @mathreadler No, it does not. – Controller Mar 21 '16 at 9:57

You could try one of the numerical optimization functions, fminsearch for example, where the function you feed in (to minimize) is $$\left\|J-P\left[\begin{array}{c}J_0\\xJ_0\end{array}\right]\right\|_k$$ for some suitable norm k and where $P$, $J_0$ and $x$ are coded the in-argument and J is hard-coded in the cost-function. The norm should have a minimum $0$ where the equation is satisfied. At least you could use this to build some intuition about the equation.