Permuting tensor indices and relations to rearranging factors in a general-size kronecker product operators on same space?

315 Views Asked by At

Given the following conjecture, we can start considering larger than $2$ factor Kronecker products.

Let us say we define:

$$R_1\otimes R_2 \otimes \cdots \otimes R_N$$

And then the operation "permute" $P_{k,l}\{m\}$ :

$$P_{k,l}\{R_1\otimes \cdots R_k \cdots R_l \cdots \otimes R_N\} = P_{k,l}\{R_1\otimes \cdots R_l \cdots R_k \cdots \otimes R_N\} $$

In other words, changing place of only factor number $k$ and $l$ and everything else remains in place.

Would a matrix representation of this permute for the vectorization of an $N$-dimensional tensor also work to change indices $k$ and $l$ in vectorization of said tensor?

The special case in the link above hints that the answer is affirmative for permuting index 1 and 2 in a 2 dimensional tensor up to kronecker product sizes $(9\times 9)\otimes(9 \times 9)$ corresponding to operators on a $9 \times 9$ sized tensor space. But this is just a very tiny special case. The really interesting ones for my purposes is for example separable transforms in image-processing where at least the first two indices can take thousands of values and dimensionality can be $4$ or even $5$.

1

There are 1 best solutions below

0
On BEST ANSWER

Not a full answer but maybe a hint in the right direction:

First of all, you need to be able to shuffle rows and columns. The way you write it, you only shuffle as both your P's operate on rows. You'll need some kind of $$(R_1 \otimes \ldots \otimes R_N) \cdot P_1 = P_2 \cdot (R_1 \otimes \ldots \otimes R_N).$$ If you allow for this, I think it should be possible. I've studied something related, since I was interested in cyclic permutations of Kronecker products. One can show that you can find permutations such that $$(R_1 \otimes R_2 \ldots \otimes R_N) \cdot P_1 = P_2 \cdot (R_2 \otimes \ldots \otimes R_N \otimes R_1).$$ The way I constructed these is a little backwards as I began by defining permutations for different unfoldings of multi-way matrices and then used these to construct the permutations you see up there. What was helpful for me was to define a product $\boxtimes$ that's like a Kronecker product with with a different column ordering, namely $A \boxtimes B = [A \otimes b_1, \ldots, A \otimes b_N]$, where $b_n$ are the columns of $B$. With this you can write the commutation matrices $K_{m,n}$ as $K_{m,n} = I_m \boxtimes I_n$. I used this formalism to define $R$-D permutations $$P_{M_1,M_2,\ldots,M_R}^{(r)} = (I_{M_R} \boxtimes \ldots \boxtimes I_{M_{r+1}}) \otimes (I_{M_{r-1}} \boxtimes \ldots \boxtimes I_{M_1}).$$ Once you have these in place, you can show that $$(R_1 \otimes R_2 \ldots \otimes R_N) \cdot P_1 = P_2 \cdot (R_2 \otimes \ldots \otimes R_N \otimes R_1)$$ if $P_1 = P_{M_1,M_2,\ldots,M_R}^{(R)^{\rm T}}P_{M_1,M_2,\ldots,M_R}^{(1)}$ and $P_2 = P_{N_1,N_2,\ldots,N_R}^{(R)^{\rm T}}P_{N_1,N_2,\ldots,N_R}^{(1)}$ for $R_n$ is $M_n \times N_n$.

Not the most elegant way of doing things, I know. And it doesn't directly solve your problem. But you might think about going along this path. If you're interested in more details check out Appendix B.3 and B.7 of my dissertation (sorry for the shameless self-advertising but I really didn't find any publication that discusses this).