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.
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) \\ }$$