Re: numerical gradient, Jacobian, Hessian: missing from Mathematica?
- To: mathgroup at smc.vnet.net
- Subject: [mg132618] Re: numerical gradient, Jacobian, Hessian: missing from Mathematica?
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Mon, 21 Apr 2014 22:59:52 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20140421091124.8C0226A72@smc.vnet.net>
$Version 9.0 for Mac OS X x86 (64-bit) (January 24, 2013) n=2; vars=Table[x[m],{m,n}] {x[1],x[2]} funcs=Table[f[m]@@vars,{m,n}] {f[1][x[1],x[2]],f[2][x[1],x[2]]} http://reference.wolfram.com/mathematica/ref/Grad.html Grad[funcs, vars] {{Derivative[1, 0][f[1]][x[1], x[2]], Derivative[0, 1][f[1]][x[1], x[2]]}, {Derivative[1, 0][f[2]][x[1], x[2]], Derivative[0, 1][f[2]][x[1], x[2]]}} Grad is new in v9; for some older versions use D[funcs, {vars}] Grad[funcs, vars]==D[funcs, {vars}] True http://mathworld.wolfram.com/Jacobian.html jacobian=Outer[D,funcs,vars] {{Derivative[1, 0][f[1]][x[1], x[2]], Derivative[0, 1][f[1]][x[1], x[2]]}, {Derivative[1, 0][f[2]][x[1], x[2]], Derivative[0, 1][f[2]][x[1], x[2]]}} Det[jacobian] Derivative[0, 1][f[2]][x[1], x[2]]*Derivative[1, 0][f[1]][x[1], x[2]] - Derivative[0, 1][f[1]][x[1], x[2]]*Derivative[1, 0][f[2]][x[1], x[2]] http://mathworld.wolfram.com/Hessian.html hessians=D[#,{vars,2}]&/@funcs {{{Derivative[2, 0][f[1]][x[1], x[2]], Derivative[1, 1][f[1]][x[1], x[2]]}, {Derivative[1, 1][f[1]][x[1], x[2]], Derivative[0, 2][f[1]][x[1], x[2]]}}, {{Derivative[2, 0][f[2]][x[1], x[2]], Derivative[1, 1][f[2]][x[1], x[2]]}, {Derivative[1, 1][f[2]][x[1], x[2]], Derivative[0, 2][f[2]][x[1], x[2]]}}} Det/@hessians {-Derivative[1, 1][f[1]][x[1], x[2]]^2 + Derivative[0, 2][f[1]][x[1], x[2]]* Derivative[2, 0][f[1]][x[1], x[2]], -Derivative[1, 1][f[2]][x[1], x[2]]^2 + Derivative[0, 2][f[2]][x[1], x[2]]*Derivative[2, 0][f[2]][x[1], x[2]]} Bob Hanlon On Mon, Apr 21, 2014 at 5:11 AM, Alan <alan.isaac at gmail.com> wrote: > Am I overlooking commands to produce numerical gradient, Jacobian, and > Hessian? The closest I could find was ND (in the NumericalCalculus > package), which seems to be only for univariate functions. > > Thanks, > Alan Isaac > >
- References:
- numerical gradient, Jacobian, Hessian: missing from Mathematica?
- From: Alan <alan.isaac@gmail.com>
- numerical gradient, Jacobian, Hessian: missing from Mathematica?