orbithunter.core.Orbit.costhessp

Orbit.costhessp(other, **kwargs)[source]

Matrix-vector product with the Hessian of the cost function.

Parameters:
otherOrbit

Orbit instance whose state is an evaluation of the governing equations

kwargsdict

extra arguments for rmatvec method.

Returns:
hessnp.ndarray

Hessian matrix of Orbit.cost()

Notes

The hessian is the combination of jacobian-transpose multiplied with jacobian plus a second term, equal to the dot product of the hessian of the governing equations (tensor) dotted with the equations, resulting in a 2-d matrix. This method has not been implemented for any equation, but the recipe is given below. While there are tensor product functions I think the easiest way to compute this is by broadcasting and dot product.