# Does mathematica cache the interpolating function from ParametricNDSolve?

I want to evaluate the solution of a system of non-linear ODEs using ParametricNDSolve. The output of ParametricNDSolve is a ParametricFunction object. Let’s call it $$f_\theta(t)$$, where $$\theta$$ is a list of all parameters used in ParametricNDSolve.

For a given choice of the parameters $$\hat\theta$$, the ParametricFunction becomes a InterpolatingFunction object. I want to evaluate this function at multiple points $$\{t_1,t_2,…,t_n\}$$, which is, obtaining the value $$f_{\hat\theta}(t_i)$$.

Does Mathematica fully solve the system of equations each time I call $$f_{\hat\theta}(t_i)$$ for a different $$i$$? Or does it cache the InterpolatingFunction after the first call (let’s say, $$f_{\hat\theta}(t_1)$$) and uses it to obtain the value of $$f_{\hat\theta}$$ at $$t_2,…,t_n$$?