On Tue, 2006-11-21 at 20:15 -0700, Robert Dodier wrote:
> Another possible definition is
>
> hessian (f, v) := if listp(v) then funmake (matrix, outermap (lambda
> ([a, b], diff (f, a, 1, b, 1)), v, v)) else 'hessian (f, v);
>
> We should probably put a working definition of hessian somewhere --
If you do, can you please put in the same place a definition of the
Jacobian matrix (http://en.wikipedia.org/wiki/Jacobian):
jacobian_matrix(f, v) := if (listp(v) and listp(f)) then
funmake(matrix, outermap(lambda([a, b], diff(a, b)), f, v))
else 'jacobian_matrix(f, v);
and the Jacobian, which is the determinant of that matrix, when it
is square.
Since we use that matrix very often in dynamical systems, I was going
to include it in the dynamics package. But since it is also used in
several other fields, it would be better to put it wherever the
Hessian matrix goes.
Regards,
Jaime