Derivative involving trace and Kronecker product I need to derive the following expression:
$$
\displaystyle \frac{\partial}{\partial \bf F}\textrm{tr} \bigg \{\bf A(\bf I_{n} \otimes \bf F)^{\top} + (\bf I_{n} \otimes \bf F)\bf A \bigg \} \textrm{,}
$$
where $\bf A \in \mathbb{R}^{np \times np}$, $\bf F \in \mathbb{R}^{p \times p}$ and $\bf I_n \in \mathbb{R}^{n \times n}$ the identity matrix. I am not sure how to compute the derivative that involves the Kronecker product, can someone help me? 
Thank you.
 A: Let's use a colon to denote the trace/Frobenius product, i.e.
$$A:B = {\rm tr}(A^TB)$$
And for convenience, define the symmetric matrix variable
$$S=A+A^T$$
One last trick is to decompose this matrix into a sum of Kronecker products
$$S = \sum_{k=1}^r Y_k\otimes Z_k$$
where the $(Y_k,Z_k)$ matrices are shaped like $(I,F)$ respectively.
Now we can write the function and find its differential and gradient $$\eqalign{
\phi
  &= (A+A^T):(I\otimes F) \cr
  &= S:(I\otimes F) \cr
  &= \sum_k Y_k\otimes Z_k:(I\otimes F) \cr
  &= \sum_k (I:Y_k)\,(Z_k:F) \cr
d\phi &= \sum_k {\rm tr}(Y_k)\,Z_k:dF \cr
\frac{\partial\phi}{\partial F} &= \sum_k {\rm tr}(Y_k)\,Z_k \cr
}$$
To find out more about Kronecker decompositions, look for papers by vanLoan & Pitsianis.
Better yet, search for Pitsianis' 1997 thesis, which contains Matlab code for the decomposition.
Update
It is easier to calculate the SVD of $S$, i.e. 
$$\eqalign{
S &= \sum_{k=1}^{np}\sigma_k u_k v_k^T \\
}$$
rather than the above Kronecker decomposition.
So an alternate solution is
$$\eqalign{
\phi &= \sum_{k=1}^{np}\sigma_k u_k v_k^T:(I\otimes F) \\
 &= \sum_{k=1}^{np}\sigma_k u_k:(I\otimes F)\,v_k \\
 &= \sum_{k=1}^{np}\sigma_k u_k:{\rm vec}(FV_kI) \\
 &= \sum_{k=1}^{np}\sigma_k U_k:FV_k \\
 &= \left(\sum_{k=1}^{np}\sigma_k U_k V_k^T\right):F \\
\frac{\partial\phi}{\partial F}
 &= \sum_{k=1}^{np}\sigma_k U_k V_k^T \\
}$$
where
$$\eqalign{
U_k,V_k &\in {\mathbb R}^{p\times n}
\quad{\rm and}\quad
u_k = {\rm vec}(U_k),\;v_k = {\rm vec}(V_k) \\
}$$
