Consider the following matrix equation:
$\mathbf{B'XB=A}$
where
- $\mathbf{X}$ is $m \times m$
- $\mathbf{B}$ is $m \times n$
- $\mathbf{A}$ is $n \times n$
- $\mathbf{A}$ and $\mathbf{B}$ are known
- $\mathbf{X}$ is unknown
- $m>n$
I want to solve for $\mathbf{X}$. This is a physical system – i.e. $\mathbf{A}$ and $\mathbf{B}$ are actual real-world data.
I know that you can't solve the system by inverting $\mathbf{BB'}$ because it's not full rank. My question is: is there some "clever" way to solve for $\mathbf{X}$? For example, using the Moore-Penrose pseudoinverse? I made a numerical example in MATLAB, and found out that
$\mathbf{X}=(\mathbf{BB}')^{+}\mathbf{BAB'}\left[(\mathbf{BB}')^{+}\right]'$
where $(\mathbf{BB}')^{+}$ is the pseudoinverse of $\mathbf{BB}'$
either solves or approximately solves the problem. Except, I don't know what the hell I'm doing when I solve the system in this way. How do interpret the resulting $\mathbf{X}$? Are there other ways to solve the problem? Thank you in advance!
Best Answer
The equation in the OP posting is a particular case of the general equation $$\begin{align}AXB=C\tag{0}\label{zero}\end{align}$$ Where $A, B, C$ are known matrices, $X$ is unknown, and all compatible with respect to matrix multiplication. Here I present first a simple analysis of these types of equations and then focus on the OP's.
The following result summarizes what it is known about \eqref{zero}
Proof of Lemma: Suppose (1) has a solution $X$. Then $$AA^+CB^+B=AA^+(AXB)B^+B=(AA^+A)X(BB^+B)=AXB=C$$
Conversely, if (2) holds, then $X=A^+CB^+$ solves \eqref{one}.
For the last statement, notice that for any $Y\in\operatorname{mat}_{\mathbb{C}}(n, p)$, $A(Y-A^+AYBB^+)B=0$.
In the context of the OP, the equation \begin{align} B^*XB=A\tag{3}\label{three} \end{align} has solution iff $$B^*(B^*)^+AB^+B=A$$ It is easy to check that for any matrix $B$, $(B^*)^+=(B^+)^*$. Also, using some properties of the orthogonal projections, it can be shown that $$B^+=(B^*B)^+B^*$$ Hence, any matrix of the form \begin{align} X &= (B^*)^+AB^+ + Y- (B^*)^+B^*YBB^+\\ &=(BB^*)^+BA(B^*B)^+B^*+ Y-(B^*)^+B^*YBB^+, \end{align} where $Y$ is an arbitrary matrix compatible with the product, is a solution to \eqref{three}. The choice $Y=0_{n\times p}$ corresponds to the "apparent" solution that the OP posted.
A few comments about the MP-invrse: Recall that $A^+$ is the matrix that satisfies
where for any matrix, $M^*$ is the transpose complex conjugate of $M$.
$A^+$ exists and is unique. Furthermore, $A^+$ satisfies $$A^+=(A^*A)^+A^*$$ This last property is related to the problem of least square errors: Given $A\in\operatorname{mat}_\mathbb{C}(m,n)$ and $b\in\mathbb{C}^m$, find $\beta \in \mathbb{C}^n$ such that
$$\beta=\operatorname{arg}\min\{\|x\|_2: \|Ax-b\|_2=\min\{\|Ay-b\|_2:y\in\mathbb{C}^n\}\}$$ This problem has solution $\beta=A^+b$