Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing passed on function pieces for ODEForwardSensitivityFunction #886

Open
2 tasks
oxinabox opened this issue Aug 28, 2023 · 1 comment
Open
2 tasks

Comments

@oxinabox
Copy link
Contributor

when you construct an ODEForwardSensitivityFunction from a ODEFunction not all all argument are preserved.
Preserving them is largely a matter of working out when the versions of them for the extended system of equations is, given that one already has them for the initial system of equations.

They are passed onward in this line of code:

sense = ODEForwardSensitivityFunction(f, f.analytic, nothing, f.jac, nothing,
nothing, nothing, f.paramjac,
nothing, nothing,
uf, pf, u0, jac_config,
paramjac_config, alg,
p, similar(u0), mm,
isautojacvec, isautojacmat, f.colorvec, nus)

Each nothing is something that is missing but not all of them actually matter.

I am listing the ones I have run into that actually cause some (mostly minor) issues here, so we can think about fixing them.

  • tgrad
  • jac_prototype

These are probably good small tasks for people new to the package who are familiar with the math.
A nice point of not totally trivial but not so hard. And not really subject to much design debate.

@oxinabox oxinabox changed the title Missing features for ODEForwardSensitivityFunction Missing passed on function pieces for ODEForwardSensitivityFunction Aug 28, 2023
@Spinachboul
Copy link

Spinachboul commented Apr 14, 2024

Can't we just replace the nothing arguments with the ones that actually matter.
Personally I feel these would be important:

  1. sparsity: We can use sparsity pattern of the jacobian matrix which can lead to efficient calculations
  2. original_jac: This can allow the ODE solver to track the changes in the original function during integration process, also helpful for adaptive step size control!

@ChrisRackauckas and @oxinabox

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants