I need to find the derivative wrt ${X}$ of:
$$ f({X}) = \operatorname{tr}( B^{T}X^{T}A^{T}CXD )$$
To make this simpler, I let $E = A^{T}C$, then I have:
$$ f({X}) = \operatorname{tr}( B^{T}X^{T}EXD ) = \operatorname{tr}( DB^{T}X^{T}EX )$$
We can rewrite this using the Frobenius inner product:
$$ f({X}) = XBD^{T}:EX$$
So we can calculate the differential easily now:
$$ df = (dX)BD^{T}:EdX$$
Unfortunately this is where I am stuck.
Perhaps we can rewrite this as:
$$ df = BD^{T}:(dX)^{T} E dX$$
But how do we isolate the dX value?
Edits:
I tried: $(dX)^{T} E dX = \operatorname{tr}( dXdX^{T}E) = \operatorname{tr}( EdXdX^{T}) $ but that isn't getting me anywhere either...
You get two terms, one for each factor involving $X$. You can manipulate the trace for each one separately. Apparently you know that the derivative of $\operatorname{tr}Y^\top X$ is $Y$. For the first term, apply this to $\operatorname{tr}(DB^\top X^\top EX)$ to obtain $E^\top X BD^\top$. For the second term, use the invariance of the trace under cyclic permutation and under transposition to write $\operatorname{tr}(DB^\top X^\top EX)=\operatorname{tr}(X^\top EXDB^\top)=\operatorname{tr}(BD^\top X^\top E^\top X)$ and obtain the second term $EXDB^\top$. Thus the derivative is $E^\top X BD^\top+EXDB^\top$.