2
$\begingroup$

Say I have an equation $A = B \otimes C$, where $\otimes$ is the Kronecker product. A, B, C are all square, A tends to be large and C is 4x4. If I know A and C, is there a way to recover B?

I've seen another question that deals with the case where both B and C are not known, but not exactly this case. I also know that scilab has left and right Kronecker division operators, but I don't think they do this operation either.

$\endgroup$
  • $\begingroup$ Well, you know that $a_{11} = b_{11}c_{11}$ by definition of the product, so this should let you compute $b_{11}$. Repeat in the appropriate indices to extract the entries of $B$ one by one. $\endgroup$ – ChocolateAndCheese Sep 30 '15 at 0:52
0
$\begingroup$

Clearly, if $C=0$ then the answer is no. Otherwise, the answer is yes: For if $B$ is an $m_1\times n_1$ matrix and $C$ is a $m_2\times n_2$ matrix, then we may index the rows of $A$ by ordered pairs $(i_1,i_2)$ for $i_1=1,\dots,m_1$ and $i_2=1,\dots,m_2$, and the columns of $A$ by ordered pairs $(j_1,j_2)$ for $j_1=1\dots,n_1$ and $j_2=1,\dots,n_2$, and by the definition of the Kronecker product we have $A_{(i_1,i_2)(j_1,j_2)}=B_{i_1j_1}C_{i_2j_2}$. Since $C\neq 0$, there exist $i_2,j_2$ with $C_{i_2j_2}\neq 0$, and in this case we may solve to obtain $$B_{i_1j_1} = \frac{A_{(i_1,i_2)(j_1,j_2)}}{C_{i_2j_2}}$$

$\endgroup$
0
$\begingroup$

Even if you do not know c but it's size you can build a (multi-)linear least squares equation system.

$$\left[\begin{array}{cccc}c_1b_1&c_1b_2&c_2b_1&c_2b_2\\c_1b_3&c_1b_4&c_2b_3&c_2b_4\\c_3b_1&c_3b_2&c_4b_1&c_4b_2\\c_3b_3&c_3b_4&c_4b_3&c_4b_4\end{array}\right]$$

You can now set an equation between each $a_{ij} = c_ib_j$, right? I wonder what would be a good way to solve such an equation system...

$\endgroup$

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.