hessMTTg¶
Purpose¶
Computes numerical Hessian using gradient procedure with available threads.
Format¶
-
h =
hessMTTg
(&gfct, par1, data1)¶ - Parameters
&gfct (scalar) – pointer to procedure computing either 1xK gradient or NxK Jacobian
par1 (struct) – structure of type
PV
containing parameter vector at which Hessian is to be evaluateddata1 (struct) – structure of type
DS
containing any data needed by fct
- Returns
h (KxK matrix) – Hessian
Examples¶
// Define a PV structure
struct PV p1;
// Create p1 PV structure
p1 = pvCreate;
// Fill PV structure
p1 = pvPack(p1, 0.1|0.2, "P");
// Create data matrix
x = seqa(1, 1, 15);
// Function to compute Hessian
proc gfct(struct PV p0, x);
local p, g1, g2;
// Unpack parameters
p = pvUnpack(p0, "P");
// Define Hessian
g1 = exp(-p[2] * x);
g2 = -p[1] * x .* g1;
retp(g1~g2);
endp;
// Find Hessian
h = hessMTTg(&gfct, p1, x);
Source¶
hessmtt.src