Computing derivatives wrt logX is a right pain. One might guess that dy/dlogX = (dy/dX)'*X (or something like that) *** But that equality only holds if (dy/dX)' and X commute. *** Moreover, they are _very_ unlikely to commute. Consider one of the simplest scalars we might be differentiating: y = a'*X*b dy/DX = b*a' b*a' is basically arbitrary, there is no reason why it should commute with X. So you have to be much more careful. The correct conversion is coded up here: convertgrad.m convertsymgrad.m are probably the ones you want. Unfortunately they take O(D^3) time (where X is DxD), because they use eig(X). Perhaps the sequences could be approximated in quicker time, but for density estimation problems where D is only 10s, D^3 isn't too important.

Name Last modified Size Description

test.m 2008-05-11 16:54 2.7K convertsymgrad.m 2008-05-11 16:54 2.1K convertgrad.m 2008-05-11 16:54 2.0K