You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The IIP implementation of SplitFunction in the IIP case evaluates f.f1 and f.f2 separately and then adds the results, but having f.f2 write into du but f.f1 write into some f.cache:
f.cache is not guaranteed to have the same type as du. This then creates errors with packages such as TaylorIntegration.jl, since f.cache::AbstractVector{Float64}, but to work it needs to be the same as du::AbstractVector{TaylorSeries.Taylor1{Float64}}.
This also prevents solvers that rely on Jacobians to compute them with ForwardDiff (at least OrdinaryDiffEq.calc_J! does not work and returns the standard autodiff-not-possible error message).
Are there any improvements to the SplitODEFunction implementation that could be made to enable these cases?
The text was updated successfully, but these errors were encountered:
The IIP implementation of
SplitFunction
in the IIP case evaluatesf.f1
andf.f2
separately and then adds the results, but havingf.f2
write intodu
butf.f1
write into somef.cache
:SciMLBase.jl/src/scimlfunctions.jl
Lines 2139 to 2143 in be26e21
f.cache
is not guaranteed to have the same type asdu
. This then creates errors with packages such as TaylorIntegration.jl, sincef.cache::AbstractVector{Float64}
, but to work it needs to be the same asdu::AbstractVector{TaylorSeries.Taylor1{Float64}}
.This also prevents solvers that rely on Jacobians to compute them with ForwardDiff (at least
OrdinaryDiffEq.calc_J!
does not work and returns the standard autodiff-not-possible error message).Are there any improvements to the SplitODEFunction implementation that could be made to enable these cases?
The text was updated successfully, but these errors were encountered: