I am studying a Kronecker product to solve a task in signal processing. it is a full correlation matrix of the channel.

$$R=\begin{bmatrix} 0,8 &0,8&0,8&0&0&0\\ 0,8 &0,8&0,8&0&0&0\\ 0,8 &0,8&0,8&0&0&0\\ 0&0&0&0,8 &0,8&0,8\\ 0&0&0&0,8 &0,8&0,8\\ 0&0&0&0,8 &0,8&0,8\\ \end{bmatrix} $$

I know that $$R=R_t^T*R_r$$

my quastion is: How to find R_t , R_r? $

edit 1 : I can find a solution according to Wikipedia article about that ( operation of the Kronecker product). The answers are a unit matrix (2x2) and 0,8*matrix of ones (3x3). But I would like to understand a mathematic calculation. This matrix is easy for calculation without knowing about it. I hope that someone can provide me with more information about the calculation or can explain to me how to find the two matrices of the krocker product


Suppose we have an $m \times n$ matrix $A$, and and $p \times q$ matrix $B$, then the Kronecker product $X = A \otimes B$ would be an matrix of size $m p \times n q$. If we take two elements $A_{ij}$ and $B_{kl}$ of these original matrices, their product will be found at a unique position in the matrix $X$, and if you consider the form of the product, you will see that this is given by $$ X_{(i-1)p+k,(j-1)q+l} = A_{ij} B_{kl} $$ Now how to find matrices $A$ and $B$ from a given matrix $X$ of dimension $s\times t$? The first step is to find possible dimensions of $A$ and $B$, i.e. find $(m,n,p,q)$ such that $s=mp$ and $t=nq$.

Assuming that we know those values, we can use the following property that if $X=A \otimes B$ then also $X = (fA) \otimes (B/f)$ is a possible solution for any non-zero scalar $f$.

Now consider the 1st $p\times q$ block of the matrix $X$,i.e., $X_{kl} = A_{11} B_{kl}$. Provided this is not a Null-block, this would be a correct solution for a $B$-matrix. In a similar fashion any $p \times q$ block in $X$ (at the proper location of course), would be a correct solution. Hence we can take $$ \tilde{B}_{kl} = X_{(i-1)p+k,(j-1)q+l} = A_{ij} B_{kl} $$ for suitable $i,j$, where suitable means that it should not be a Null-block.

The same approach can be used to obtain a matrix $\tilde{A}$, except that it now is not a simple block, but more spread out: $$ \tilde{A}_{ij} = X_{(i-1)p+k,(j-1)q+l} = B_{kl} A_{ij} $$ for suitable $k,l$.

We than find that $\tilde{A} \otimes \tilde{B} = A_{ij} B_{kl} X$, and we only need to scale the matrix $A$, $B$, or both with some scalar values to obtain correct matrices.

To give a simple example, suppose we have the $4 \times 6$ matrix $$ X = \left( \begin{array}{cccccc} 0 & 2 & 4 & 0 & 4 & 8 \\ 2 & 4 & 6 & 4 & 8 & 12 \\ 0 & 1 & 2 & 0 & 1 & 2 \\ 1 & 2 & 3 & 1 & 2 & 3 \end{array} \right) $$ and we would know that it is the Kronecker product of a $2 \times 2$ matrix $A$ and a $2\times3$ matrix $B$. Then we could take $\tilde{A}$ and $\tilde{B}$ to be $$ \tilde{B}_{kl}= X_{kl} = \left( \begin{array}{ccc} 0 & 2 & 4 \\ 2 & 4 & 6 \end{array} \right) $$ $$ \tilde{A}_{ij}= X_{(i-1)2+1,(j-1)3+2} = \left( \begin{array}{cc} 2 & 4 \\ 1 & 1 \end{array} \right) $$
Note that the choice $\tilde{A}_{ij}= X_{(i-1)2+1,(j-1)3+1}$ would give a NULL-matrix. However, the product $\tilde{A} \otimes \tilde{B} = 2 X$. Hence we need to rescale one or both matrices, i.e., $A = \frac{1}{2} \tilde A$ and $B=\tilde{B}$ would be correct, but equally valid would be $A=\tilde{A}$ and $B=\frac{1}{2} \tilde{B}$, or $A=\pi \tilde{A}$ and $B=\frac{1}{2 \pi} \tilde{B}$.

In general a matrix will almost never unexpectedly be a Kronecker product. In fact if it is, it usually can be known directly from the problem at hand as it originates in a particular symmetry, which also will determine the decomposition up to a scaling factor. In addition one would not usually give the full matrix $X$, because knowledge of an $A$ and $B$ is sufficient to reconstruct $X$.

  • $\begingroup$ thanks a lot for your explanation of this problem. Can you give me some example of the calculation? Or maybe do you know a book where i can find examples/ $\endgroup$ – LenaPark Nov 10 '18 at 8:28
  • $\begingroup$ I added an example and a bit more explanation. I hope this helps. $\endgroup$ – Ronald Blaak Nov 15 '18 at 14:36
  • $\begingroup$ how I understood, to calculate A, i should use X_{(i−1)2+1,(j−1)3+2}, if I would like to find A_{11}, then it will be X_{12} and so one. does it work for every matrix? $\endgroup$ – LenaPark Nov 17 '18 at 9:45
  • $\begingroup$ Yes the approach works for every matrix, but assumes that you already know the dimensions of both matrices $A$ and $B$. The choice of $\tilde{A}$ and $\tilde{B}$ is not unique, nor is that the case for $A$ and $B$. In the example there are 4 possible $2\times3$-matrices (two of those are identical) for $\tilde{B}$ and 6 possible $2\times2$-matrices (one NULL that needs to be discarded, and three distinct) for $\tilde{A}$. You can make the choice to set $A_{11}=X_{12}$, but this fixes the scaling constants and hence the rest of the $A$ and $B$ matrix will be determined uniquely. $\endgroup$ – Ronald Blaak Nov 18 '18 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.