def hess_vec(tape_tag, x, v): """ evaluate f''(x)v, f:R^N -> R """ ts = tapestats(tape_tag) N = ts['NUM_INDEPENDENTS'] M = ts['NUM_DEPENDENTS'] x = numpy.asarray(x, dtype=float) assert numpy.size(x) == N assert numpy.ndim(x) == 1 v = numpy.asarray(v, dtype=float) assert numpy.size(v) == N assert numpy.ndim(v) == 1 z = numpy.zeros(N, dtype=float) _adolc.hess_vec(tape_tag, N, x, v, z) return z
def hess_vec(tape_tag, x, v): """ evaluate f''(x)v, f:R^N -> R """ ts = tapestats(tape_tag) N = ts['NUM_INDEPENDENTS'] M = ts['NUM_DEPENDENTS'] x = numpy.ascontiguousarray(x, dtype=float) assert numpy.size(x) == N assert numpy.ndim(x) == 1 v = numpy.ascontiguousarray(v, dtype=float) assert numpy.size(v) == N assert numpy.ndim(v) == 1 z = numpy.zeros(N, dtype=float) rc = _adolc.hess_vec(tape_tag, N, x, v, z) if (rc < 0): raise ErrorReturnCode("hess_vec", rc) return z