Compute exponential of sum of Kronecker products of non-commuting matrices

268 Views Asked by At

In the context of CTMCs I want to compute following matrix exponential:

$$\exp(M_1\otimes M_2 + M_3\otimes M_4 + D_1\otimes D_2 + D_3\otimes D_4)$$

with:

  • $\otimes$ being the Kronecker product,
  • all matrices being square,
  • all matrices having the same size,
  • all $M_i$ having all entries on a off-diagonal or diagonal,
  • all $D_i$ being diagonal.

Furthermore for each $i$, the $D_i$ have the entries of the $M_i$ shifted column-wise onto the main diagonal.

Example:

$$M_1 = \begin{pmatrix} 0&1&0\\ 0&0&2\\ 0&0&0\\ \end{pmatrix}, M_2 = \begin{pmatrix} 0&0&0\\ 0&0&0\\ 0&1&0\\ \end{pmatrix}, M_3 = \begin{pmatrix} 1&0&0\\ 0&1&0\\ 0&0&1\\ \end{pmatrix}, M_4 = \begin{pmatrix} 0&1&0\\ 0&0&2\\ 0&0&0\\ \end{pmatrix}\\ D_1 = \begin{pmatrix} 0&0&0\\ 0&1&0\\ 0&0&2\\ \end{pmatrix}, D_2 = \begin{pmatrix} 0&0&0\\ 0&1&0\\ 0&0&0\\ \end{pmatrix}, D_3 = \begin{pmatrix} 1&0&0\\ 0&1&0\\ 0&0&1\\ \end{pmatrix}, D_4 = \begin{pmatrix} 0&0&0\\ 0&1&0\\ 0&0&2\\ \end{pmatrix}$$

The Kronecker product can give very large results and since the matrices are sparse it is not feasible to explicitly store the result. Instead I would like to use this property of the Kronecker product:

$$\exp(A\otimes B) = \exp(A) \otimes \exp(B)$$

However, there is the sum $+$ in the way and since it seems like my matrices generally do not commute, I can not use

$$\exp(A + B) = \exp(A)\exp(B)$$

Are there any properties of $+$, $\otimes$ and $\exp()$ that I can use to compute all $\otimes$ after $\exp()$?