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

```

• Prev by Date: Re: Elliptic Integral problem with 5.0
• Next by Date: Re: Printing digits of Pi
• Previous by thread: How to calculate the derivative of matrix w.r.t another matrix?
• Next by thread: Re: FindMinimum: foo[x_?NumericQ] vs. NumberQ