SteadyStateSolver generates three sp.lambdify functions that need to be repeatedly called during estimation: f_ss, f_ss_resid, and f_jac_ss. These need to be wrapped with numba.njit for maximum performance during the estimation loop.
The function ss_func returned by SteadyStateSolver.solve_steady_state should also be jitted if possible. This will require some refactoring, as it uses SymbolDictionaries and calls the scipy.optimize.root function, neither of which are supported by numba.
If a complete analytic steady state is available, it should be easier to return a jitted function.
SteadyStateSolver
generates threesp.lambdify
functions that need to be repeatedly called during estimation:f_ss
,f_ss_resid
, andf_jac_ss
. These need to be wrapped withnumba.njit
for maximum performance during the estimation loop.The function
ss_func
returned bySteadyStateSolver.solve_steady_state
should also be jitted if possible. This will require some refactoring, as it usesSymbolDictionaries
and calls thescipy.optimize.root
function, neither of which are supported by numba.If a complete analytic steady state is available, it should be easier to return a jitted function.