AMICI-dev / AMICI

Advanced Multilanguage Interface to CVODES and IDAS
https://amici.readthedocs.io/
Other
108 stars 30 forks source link

Perform gradient checks for SBML test suite #1236

Open dweindl opened 4 years ago

dweindl commented 4 years ago

Motivated by https://github.com/AMICI-dev/AMICI/issues/1230

Should be done for both forward and adjoint sensitivities (#18).

paulstapor commented 4 years ago

We used to have an FD implementation with automatic step-size detection in PESTO. maybe it would be good to have something like that as a little python file/package also within AMICI? This way, pyPESTO could use it right away, because this would also be helpful there... Alternatively: Would it make sense writing a C++ code for that? Maybe this could save some cpu time... Ideally by exploiting openMP... I would also be happy trying to code something for this in Rust. However, I doubt it's advisable to mingle the AMICI source code with another compiled language... :thinking:

yannikschaelte commented 4 years ago

FD with automatic step-size should definitely be implemented, not sure whether it makes more sense in AMICI or pyPESTO (where the final objective function is defined) :thinking:

paulstapor commented 4 years ago

Depends on the definition of "final"... Would argue for AMICI:

dweindl commented 4 years ago

For me also fine to have that as a (tiny) separate package. Might be useful elsewhere. Good if it's usable in pyPESTO without having to install AMICI. And I'd strongly argue for not creating circular dependencies between AMICI and pyPESTO, so rather not putting it into pyPESTO.

Regarding C++ vs Python: I'd guess that the benefit of using C++ there is not big enough to justify two implementations, once in C++ for AMICI stuff and once for in Python for functions beyond single AMICI simulations.

FFroehlich commented 1 year ago

https://github.com/wesselb/fdm might help with this