how to calculate the derivative of a kronecker product $a^T(x\otimes c)$

Solution 1:

The function can be written as $$ \phi= \mathbf{a}:\mathrm{vec}(\mathbf{c}\mathbf{x}^T) $$ where the colon operator denotes the Frobenius inner product.

It holds $$ \phi= \mathrm{unvec}(\mathbf{a}): \mathbf{c}\mathbf{x}^T $$ and the gradient writes $\mathrm{unvec}(\mathbf{a})^T \mathbf{c}$.