jacobian()#

InterpStateInputOperator.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 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, u)
...           for q, u in zip(list_of_states, list_of_inputs)]
# ...it is faster to do this.
>>> operator_at_parameter = parametric_operator.evaluate(parameter)
>>> values = [operator_at_parameter.jacobian(q, u)
...           for q, u in zip(list_of_states, list_of_inputs)]