Re: How to calculate the derivative of matrix w.r.t another matrix?

*To*: mathgroup at smc.vnet.net*Subject*: [mg46715] Re: How to calculate the derivative of matrix w.r.t another matrix?*From*: Paul Abbott <paul at physics.uwa.edu.au>*Date*: Tue, 2 Mar 2004 19:10:13 -0500 (EST)*Organization*: The University of Western Australia*References*: <c215ts$8gh$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

In article <c215ts$8gh$1 at smc.vnet.net>, "Fred" <f0z6305 at labs.tamu.edu> wrote: > I have a problem of calculating the derivative of dxm matrix A with respect > to another dxm matrix B, > where A= [a1 a2 ... am] and B =[b1 b2 ... bm] with > ai and bj are vectors. one matrix with respect to another! That would mean something else altogether. It looks like you are after an element by element operation. > Actually the matrix A itself is the first order derivative > of a scalar J with respect to B, i.e., A = dJ/dB, > where a1 = dJ/db1, a2 = dJ/db1, and so on. This is an extension of the gradient operator. For example, for specified b, say b = {{x, y}, {z, t}}; and j, say j = x^2 + y^2 + z^2 - c t^2; you can compute dj/db using Outer: a = First[Outer[D, {j}, b]] > Now dA/dB is the second order derivative > dA/dB = dJ^2/(dBdB') > = [dJ/db1 dJ/db1 ... dJ/dbm]/d[b1 b2 ... bm]. > > So anybody have some idea on how to derive the formulation of dA/dB? Again, this is just an Outer product: Outer[D, a, b] Cheers, Paul -- Paul Abbott Phone: +61 8 9380 2734 School of Physics, M013 Fax: +61 8 9380 1014 The University of Western Australia (CRICOS Provider No 00126G) 35 Stirling Highway Crawley WA 6009 mailto:paul at physics.uwa.edu.au AUSTRALIA http://physics.uwa.edu.au/~paul