jacobian()#

InterpolatedCubicOperator.jacobian(parameter, state, input_=None)#

Construct the state Jacobian of the operator, \(\ddqhat\Ophat_\ell(\qhat,\u;\bfmu)\).

If \([\![\q]\!]_{i}\) denotes the entry \(i\) of a vector \(\q\), then the entries of the state Jacobian are given by

\[[\![\ddqhat\Ophat_\ell(\qhat,\u;\bfmu)]\!]_{i,j} = \frac{\partial}{\partial[\![\qhat]\!]_j} [\![\Ophat_\ell(\qhat,\u;\bfmu)]\!]_i.\]
Parameters
parameter(p,) ndarray or float

Parameter value.

state(r,) ndarray

State vector.

input_(m,) ndarray or float or None

Input vector.

Returns
jac(r, r) ndarray

State Jacobian.

Notes

For repeated jacobian() calls with the same parameter value, use evaluate() to first get the nonparametric operator corresponding to the parameter value.

# Instead of this...
>>> values = [parametric_operator.jacobian(parameter, q, input_)
...           for q in list_of_states]
# ...it is faster to do this.
>>> operator_at_parameter = parametric_operator.evaluate(parameter)
>>> values = [operator_at_parameter.jacobian(q, input_)
...           for q in list_of_states]