Solving the matrix equation $B = ABA^T + C$ for $B$

636 Views Asked by At

I have the equation $$B = ABA^T + C$$ where $A$, $B$, and $C$ are all square matrices. For simplicity, we can assume anything we want to be invertible is invertible.

I would like to be able to solve for $B$ in terms of just $A$ and $C$, but I can't see any way to simplify this. The only thing I can think to do is to move all the $B$ terms to the same side and try to left-multiply and/or right-multiply by a suitable matrix to isolate $B$, but I haven't been successful at this. Does anyone have any ideas as to how (and if) we can isolate $B$ in this expression somehow?

1

There are 1 best solutions below

3
On BEST ANSWER

Let $n$ be the common size of all square matrices. Using the vectorization operator, we have $$ B = ABA^T + C \implies\\ B - ABA^T = C \implies\\ \operatorname{vec}(B) - (A \otimes A)\operatorname{vec}(B) = \operatorname{vec}(C) \implies\\ (I - A \otimes A)\operatorname{vec}(B) = \operatorname{vec}(C) \implies\\ \operatorname{vec}(B) = (I - A \otimes A)^{-1}\operatorname{vec}(C). $$ Here, $I$ denotes the $n^2 \times n^2$ identity matrix, and $\otimes$ denotes the Kronecker product.

As it turns out, the matrix $(I - A \otimes A)$ is invertible (which means that our equation will necessarily have a unique solution) if and only if there is no $\lambda$ for which both $\lambda$ and $1/\lambda$ are eigenvalues of $A$.