Making a matrix block diagonal by linear transformation

2.1k Views Asked by At

I am trying to make a block diagonal matrix from a given matrix by multiplying the given matrix to some other matrices. Say $A$ is an $N \times N$ matrix, I want to make an $A^\prime$ matrix with size $kN \times kN$ such that $A^\prime$ has $A$ as its diagonal element $k$ times. In fact $A^\prime$ is the direct sum of A as $A^\prime = \bigoplus_{i =1}^{k} A$.

What I am looking for is what the elements of $B$ and $C$ should be to have $$ BAC =A^\prime . $$

Use case: Using $A^\prime$ in a linear optimization problem if $A$ can be transformed to $A^\prime$ linearly.

2

There are 2 best solutions below

1
On BEST ANSWER

As Med points out, it is generally not possible to do what you want with only one "matrix sandwich". However, it is possible with $k$ "matrix sandwiches" as follows:

$$A' = \begin{bmatrix} I \\ 0 \\ \vdots \\ 0 \end{bmatrix}A \begin{bmatrix} I & 0 & \dots & 0 \end{bmatrix} + \begin{bmatrix} 0 \\ I \\ \vdots \\ 0 \end{bmatrix}A \begin{bmatrix} 0 & I & \dots & 0 \end{bmatrix} + \dots + \begin{bmatrix} 0 \\ 0 \\ \vdots \\ I \end{bmatrix}A \begin{bmatrix} 0 & 0 & \dots & I \end{bmatrix},$$ where $0$ and $I$ are the zero matrix and identity matrix of the appropriate sizes, respectively. More succicintly, $$A' = B_1 A B_1^T + B_2 A B_2^T + \dots + B_k A B_k^T,$$ where the matrices $B_i$ are the tall rectangular matrices with zero and identity blocks as shown above.

Also note that the map from $A$ to $A'$ is linear, and the vectorization of the map can be expressed using the Kronecker product as follows: $$\text{vec}(A') = \left(B_1 \otimes B_1 + B_2 \otimes B_2 + \dots + B_k \otimes B_k\right)\text{vec}(A).$$

2
On

It is not possible to find matrices $B$ and $C$ to get what you want. To give a simple example, the matrix A' is a general form of the identity matrix "I".

$B_{kN×N}.1_{N×N}.C_{N×kN}=I_{kN×kN}$

Having a column vector "B" and a row vector "C", you cannot get the identity matrix. Because the identity matrix is a full rank matrix and multiplication of matrices, that at least one of them is not full rank, would give a singular matrix.