NeuroDiffGym / neurodiffeq

A library for solving differential equations using neural networks based on PyTorch, used by multiple research groups around the world, including at Harvard IACS.
http://pypi.org/project/neurodiffeq/
MIT License
680 stars 89 forks source link

Hypersolvers in `neurodiffeq` #117

Open Zymrael opened 3 years ago

Zymrael commented 3 years ago

Nice work on the package. I was wondering if you'd be interested in eventually adding hypersolvers to neurodiffeq; it should be pretty straightforward given the machinery you've built here! We have a small reference PyTorch implementation here.

dsondak commented 3 years ago

We are certainly interested! We'd be interested in hearing more and even setting up a short chat to discuss how to proceed. @shuheng-liu

shuheng-liu commented 3 years ago

Hi @Zymrael , thanks for your interest. Hypersolvers seem really interesting and we'd love to have that in the library. Currently, we're working on several other features. It would probably take some time before our team eventually implement the hypersolvers. If you (or anyone you know) would like to contribute to the library, we'd really appreciate it! I can map out the part where you can add the new functionality so that you won't feel disoriented. Either way, please let us know.

Zymrael commented 3 years ago

Sorry for the late reply, lot of deadlines to take care of. Pinging @Juju-botu as he's also working on hypersolvers currently and is interested in contributing. I'll reach out via email to set up a quick intro + brainstorming talk.

On a separate note, we're working on a new release for torchdyn and another interesting avenue for us would be to integrate neurodiffeq as a dependency. We have hypersolvers integrated in our odeint routines (same API as with traditional solvers), but since our focus is not solving differential equations with neural nets but rather neural differential equations it might be useful to import some of the tools you've developed here for users interested in trying both things simultaneously.