# Extracting local sensitivities when using save\_idxs

**URL:** <https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714>\
**Category:** Modelling & Simulations\
**Created:** [September 13, 2019, 8:41am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714 "2019-09-13T08:41:28Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![moesphere](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moesphere/32/3348_2.png) [@moesphere](https://discourse.julialang.org/u/moesphere)\
**Post date:** [September 13, 2019, 8:41am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714/1 "2019-09-13T08:41:28Z")

</div>

When specifying the `saveat` keyword, the extraction of local sensitivites seems to fail.  
The example is from the [official documentation](https://docs.juliadiffeq.org/latest/analysis/sensitivity.html#Example-solving-an-ODELocalSensitivityProblem-1):

```julia
using DifferentialEquations
using DiffEqSensitivity
function f(du,u,p,t)
  du[1] = dx = p[1]*u[1] - p[2]*u[1]*u[2]
  du[2] = dy = -p[3]*u[2] + u[1]*u[2]
end

p = [1.5,1.0,3.0]
prob = ODELocalSensitivityProblem(f,[1.0;1.0],(0.0,10.0),p)
sol = solve(prob, saveat = [1.,2.], save_idxs = [2])
x,dp = extract_local_sensitivities(sol) # throws error

```

The error that is thrown says `attempt to access 1x2 OrdinaryDiffEq.ODECompositeSolution{[...] at index [1:2, Base.Slice(Base.OneTo(2))]`

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [September 13, 2019, 8:43am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714/2 "2019-09-13T08:43:45Z")

</div>

If you only `save_idxs = [2]` then the sensitivities are never saved, since the sensitivities are equations 3-8 here. This isn’t an issue with `saveat`, rather the choice of what to save (`save_idxs`).

---

<div class="post-metadata">

**Author:** ![moesphere](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moesphere/32/3348_2.png) [@moesphere](https://discourse.julialang.org/u/moesphere)\
**Post date:** [September 13, 2019, 8:45am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714/3 "2019-09-13T08:45:20Z")

</div>

Got it. Thanks!

---

<div class="post-metadata">

**Author:** ![moesphere](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moesphere/32/3348_2.png) [@moesphere](https://discourse.julialang.org/u/moesphere)\
**Post date:** [September 13, 2019, 9:04am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714/4 "2019-09-13T09:04:54Z")

</div>

If I used `save_idxs = 2:8` the extraction would also fail, although I have saved all sensitivities as `extract_local_sensitivities` function is based on `sol.prob.f.numindvar`. Maybe a good idea to adjust that fur future versions.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [September 13, 2019, 10:55am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714/5 "2019-09-13T10:55:24Z")

</div>

Can you open an issue on DiffEqSensitivity? We just need to keep track of `save_idxs` so know which values you’ve dropped.

---

<div class="post-metadata">

**Author:** ![moesphere](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moesphere/32/3348_2.png) [@moesphere](https://discourse.julialang.org/u/moesphere)\
**Post date:** [September 16, 2019, 8:05am UTC](https://discourse.julialang.org/t/extracting-local-sensitivities-when-using-save-idxs/28714/6 "2019-09-16T08:05:40Z")

</div>

Sure. For the issue, see [here](https://github.com/JuliaDiffEq/DiffEqSensitivity.jl/issues/100).
