I would like to be able to compute a re-ordered kronecker product from the result of another kronecker product. For example, consider $$F=A\otimes B\otimes C\otimes D\otimes E$$ from the result F and the sizes of the different matrices (The matrices $A, B, C, D$ and $E$ themselves are not known!), I would like to get the result of say, $$H=A\otimes C\otimes D\otimes B\otimes E$$ which is just a re-ordering of $F$.
Is there any good algorithm for doing this and doing it efficiently for possibly very large matrices?
I don't know how to generalize for different sizes of the matrices, but here goes my answer:
Try to show the following lemma:
Let $T_1,\ldots,T_m \in L(V,V)$ and $A_1,\ldots,A_m$ be square matrices $n \times n$.
Show that
i) $(T_1 \otimes \cdots \otimes T_m)P(\sigma)=P(\sigma)(T_{\sigma(1)} \otimes \cdots \otimes T_{\sigma(m)})$
ii) There exists a permutation matrix $Q$ such that $A_{\sigma(1)} \otimes \cdots \otimes A_{\sigma(m)}=Q(A_1 \otimes \cdots \otimes A_m)Q^{T}$. Hint: Use i).