Vector and Matrix Differentiation with Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg22284] Vector and Matrix Differentiation with Mathematica*From*: "Johannes Ludsteck" <ludsteck at zew.de>*Date*: Wed, 23 Feb 2000 01:01:18 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Dear Mathgroup Members, I have to compute derivatives of functions including vectors and matrices. To the best of my knowledge Mathematica doesn't support this fully. For example, If b is a vector and A a conformable square matrix, D[b . A . b, b] should evaluate to A + Transpose[A]. Mathematica returns 0.A.b + 2 1.0.b + 2 1.A.1 + 2 b.0.1 + b.0.b + b.A.0 With some additional Rules you get a more sensible result: D[D[b.A.b, b], b] //. {Dot[___, 0, ___] -> 0, Dot[x___, 1, y___] -> Dot[x, y]} Evaluates to 2 A. This is, of course, true only if A is symmetric. I don't claim that Mathematica makes an error here. Rather my Rules seem to be buggy. (However a reason for the problem might be that Mathematica doesn't keep track of vector dimensions, i.e. Mathematica doesn't distinguish between row and column vectors.) Since I assume that I will have to invest some time to supply the rigth rules, I ask, whether someone of you has written a package, which does my jobs or can provide any experience with matrix calculus in Mathematica. Thank you, Johannes Ludsteck Johannes Ludsteck Centre for European Economic Research (ZEW) Department of Labour Economics, Human Resources and Social Policy Phone (+49)(0)621/1235-157 Fax (+49)(0)621/1235-225 P.O.Box 103443 D-68034 Mannheim GERMANY Email: ludsteck at zew.de

**Follow-Ups**:**Re: Vector and Matrix Differentiation with Mathematica***From:*Hartmut Wolf <hwolf@debis.com>