reinit! is designed to be non-allocating, allowing one to fill the values of the integrator and go again. You cannot fill an array of Float64’s with an array of Dual numbers, that’s just not possible because there isn’t even enough memory space there (dual numbers are larger bitsizes becaues they are multiple floating point numbers). So it’s not that the library doesn’t support it, this is something that in principle isn’t doable. You’d have to create a dual valued integrator which you then reinit! in order for the differentiation to be non-allocating, and to do that the easiest way would be to directly define the dual tag and the chunk size so that you know the type in advance, init on that type, and then reinit with that same dual type.
1 Like