Deriving $\frac{\partial (ABC)}{\partial B}$ Let $A$, $B$ and $C$ be three matrices. I want to calculate the following derivative:
$$
 \frac{\partial (ABC)}{\partial B} 
$$
My work:
$$
\frac{\partial (ABC)}{\partial B}  = \frac{(\partial A)BC + A (\partial B)C + AB(\partial C) }{\partial B} = \frac{A(\partial B)C}{\partial B}
$$
but I don't know the final result will be $AC$ or something else.
Thanks.
 A: First of all, since $A,B,C$ are matrices, the derivative $\frac{\partial (ABC)}{\partial B}$ will be a fourth order tensor (see formula (1)). To obtain again a second order tensor (a matrix) it is advisable to consider the directional derivative along an arbitrary direction $V$ (a matrix). In that case, an easy calculation gives:
$$
V:\frac{\partial (ABC)}{\partial B}=AVC,
$$
where double dot means a contraction:
$X:Y=X_{ij}Y_{ij}$ (with sum over repeated indeces). 
Observe that here the  contraction is understood between the indeces of $V$ and the ones of $\frac{\partial }{\partial B}$ (not of $(ABC)$!), in accordance to the notion of directional derivative (see formula (2) below).
To make things clearer, we calculate in components (which I think to be always advisable, even if someone seems to be allergic to indeces), and we get the fourth order tensor:
$$
\frac{\partial (ABC)_{ij}}{\partial B_{rs}}=\frac{\partial}{\partial B_{rs}}(A_{ik}B_{kl}C_{lj})=A_{ik}(\delta_{kr}\delta_{ls})C_{lj}=A_{ir}C_{sj},\quad (1)
$$
where $\delta_{hk}$ is the Kronecker delta. Here, the only fact which is used is the basic rule of derivation for scalar quantities:
$$
\frac{\partial B_{kl}}{\partial B_{rs}}=\delta_{kr}\delta_{ls},
$$
the partial derivative is 1 when you derive a variable with respect to itself (i.e. when $k=r,l=s $ ); it is zero when you derive a variable with respect to a different (independent) variable.
Then
$$
\left(V:\frac{\partial (ABC)}{\partial B}\right)_{ij}=V_{rs}\frac{\partial (ABC)_{ij}}{\partial B_{rs}}=V_{rs}A_{ir}C_{sj}=A_{ir}V_{rs}C_{sj}=(AVC)_{ij}\quad (2)
$$
