0
$\begingroup$

I have a block diagonal matrix $\mathbf{A}$ of size $ NK\times K$, whose elements are copies of a column vector $\mathbf{a}=[a_1, \dots, a_n]^T$ with $n=1,\dots,N$ and of size $N \times 1$. Such a block diagonal matrix reads as follows:

$\mathbf{A}=\begin{bmatrix} \mathbf{a} & 0 & \dots & 0\\ 0 & \mathbf{a} & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \dots & \mathbf{a} \\ \end{bmatrix}= \begin{bmatrix} a_1 & 0 & \dots & 0\\ a_2 & 0 & \dots & 0\\ \vdots & 0 & \dots & 0\\ a_N & 0 & \dots & 0\\ 0 & a_1 & \dots & 0\\ 0 & a_2 & \dots & 0\\ 0 & \vdots & \dots & 0\\ 0 & a_N & \dots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \dots & a_1 \\ 0 & 0 & \dots & a_2 \\ 0 & 0 & \dots & \vdots \\ 0 & 0 & \dots & a_N \\ \end{bmatrix}. $

Is it possible to factor out the vector $\mathbf{a}$, or $\mathbf{a}^T$ from $\mathbf{A}$ ? I would like to have either $\mathbf{a}$, or $\mathbf{a}^T$ as the rigthmost or leftmost term.

$\endgroup$
1
  • 1
    $\begingroup$ Just looking at the dimensions should give you a hint - pre multiply by a $N \times NK$ matrix and post multiply by a $K \times 1$ matrix. I leave it to you to figure out what the entries should be $\endgroup$ Jun 30, 2021 at 10:56

1 Answer 1

2
$\begingroup$

If I understand the question correctly, you would like to write $\mathbf A = \mathbf a \cdot {?}$, $\mathbf A = \mathbf a^T \cdot {?}$, $\mathbf A = {?} \cdot \mathbf a$ or $\mathbf A = {?} \cdot \mathbf a^T$.

Since $\mathbf A$ is a $NK\times K$ matrix and $\mathbf a$ is $N\times 1$, neither of these factorizations can work with a usual matrix product, where “$(k\times l)\cdot(l\times m)=k\times m$”.

However, your matrix $\mathbf A$ can be written as a Kronecker product: $$ \mathbf A = \mathbf I_k \otimes \mathbf a. $$ Here $\mathbf I_k$ denotes the $k\times k$ identity matrix.

$\endgroup$
1
  • $\begingroup$ Thanks a lot, the Kronecker product is exactly what I need $\endgroup$ Jun 30, 2021 at 11:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .