Hello, We have sent a pull request to add a new functionnality to the method integrate.solve_ivp and we would like to be reviewed. In fact, we have added a new solver that handle differential-algebraic-equations (DAEs) which is a generalization of ODEs. The method developped is a modified version of the Adams-Bashforth-Moulton method based on the article https://www.researchgate.net/publication/341345300_Semi-Implicit_and_Semi-Explicit_Adams-Bashforth-Moulton_Methods<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.researchgate.net%2Fpublication%2F341345300_Semi-Implicit_and_Semi-Explicit_Adams-Bashforth-Moulton_Methods&data=04%7C01%7Cloic.beuken%40student.uclouvain.be%7C8f5afd86c754442c200908da14cf630f%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637845178245315531%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=sVBjNj8U2TnlXg0Z8aP0M1YvU0dWhG87clIt2Fa3XbA%3D&reserved=0> modified to handle DAE by solving the constraints. Description : The method used is described in the above paper. This method is a slight modification of the older method Adams-Bashforth-Moulton that that expands its stability region. The change made to handle DAE is to apply the method of the article on the differential part and then solve the contraints. This requires two input callable, one for the differential part (callable 'fun') and one for the constraints (callable 'gun'). Motivation : adding an index 1 DAE solver to scipy. PR link: https://github.com/scipy/scipy/pull/15922<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fscipy%2Fscipy%2Fpull%2F15922&data=04%7C01%7Cloic.beuken%40student.uclouvain.be%7C8f5afd86c754442c200908da14cf630f%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637845178245315531%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=dwS0RDRAR9uNiraeK4OlOXNt9w%2Flq9IXI97%2B90dN9Xw%3D&reserved=0> Bests, Loïc Beuken
Hi, I have also a PR to add a DAE solver capability to solve_ivp's Radau solver, which enables DAE to be solved up to index 3. The PR is accessible here: https://github.com/scipy/scipy/pull/13068 However it's been a year and half without any news regarding its integration : Regards, Laurent Le sam. 2 avr. 2022 à 21:05, Loïc Beuken <loic.beuken@student.uclouvain.be> a écrit :
Hello,
We have sent a pull request to add a new functionnality to the method integrate.solve_ivp and we would like to be reviewed.
In fact, we have added a new solver that handle differential-algebraic-equations (DAEs) which is a generalization of ODEs. The method developped is a modified version of the Adams-Bashforth-Moulton method based on the article https://www.researchgate.net/publication/341345300_Semi-Implicit_and_Semi-Ex... <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.researchgate.net%2Fpublication%2F341345300_Semi-Implicit_and_Semi-Explicit_Adams-Bashforth-Moulton_Methods&data=04%7C01%7Cloic.beuken%40student.uclouvain.be%7C8f5afd86c754442c200908da14cf630f%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637845178245315531%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=sVBjNj8U2TnlXg0Z8aP0M1YvU0dWhG87clIt2Fa3XbA%3D&reserved=0> modified to handle DAE by solving the constraints.
Description :
The method used is described in the above paper. This method is a slight modification of the older method Adams-Bashforth-Moulton that that expands its stability region.
The change made to handle DAE is to apply the method of the article on the differential part and then solve the contraints. This requires two input callable, one for the differential part (callable 'fun') and one for the constraints (callable 'gun').
Motivation : adding an index 1 DAE solver to scipy.
PR link: https://github.com/scipy/scipy/pull/15922 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fscipy%2Fscipy%2Fpull%2F15922&data=04%7C01%7Cloic.beuken%40student.uclouvain.be%7C8f5afd86c754442c200908da14cf630f%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637845178245315531%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=dwS0RDRAR9uNiraeK4OlOXNt9w%2Flq9IXI97%2B90dN9Xw%3D&reserved=0>
Bests,
Loïc Beuken
_______________________________________________ SciPy-Dev mailing list -- scipy-dev@python.org To unsubscribe send an email to scipy-dev-leave@python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: francois.laurent.90@gmail.com
Hi Francois and Loic, Thanks to both of you for raising the issue with PR reviews for new scipy.integrate features! Your PRs both look like they're in good shape and indeed deserve review. scipy.integrate is without a dedicated maintainer right now unfortunately - or better, we have maintainers who are experts in scipy.integrate but they are all more or less inactive right now. We have a lot of submodules that are reasonably well maintained and a couple that are significant pain points. I will follow up on that in a separate email to this list, with some ideas on how to address/mitigate that. A separate idea: what often helps a lot is if domain experts (who don't have to be maintainers) review each others' work. There's typically two types of review needed: (1) is the proposed functionality valuable, and is the implementation correct (e.g. it's matching a paper, and works on some real-world problems). (2) it meets all the criteria for inclusion in SciPy code-wise (docs, tests, code style, performance, etc.). The review for (2) can be done by pretty much all SciPy maintainers; (1) is often very time-consuming for maintainers unless they have the required specialized knowledge about the topic/submodule. So if you'd be able and willing to review each others PRs, that would help a lot. Cheers, Ralf On Sun, Apr 3, 2022 at 12:36 AM FRANCOIS Laurent < francois.laurent.90@gmail.com> wrote:
Hi,
I have also a PR to add a DAE solver capability to solve_ivp's Radau solver, which enables DAE to be solved up to index 3. The PR is accessible here: https://github.com/scipy/scipy/pull/13068 However it's been a year and half without any news regarding its integration :
Regards, Laurent
Le sam. 2 avr. 2022 à 21:05, Loïc Beuken <loic.beuken@student.uclouvain.be> a écrit :
Hello,
We have sent a pull request to add a new functionnality to the method integrate.solve_ivp and we would like to be reviewed.
In fact, we have added a new solver that handle differential-algebraic-equations (DAEs) which is a generalization of ODEs. The method developped is a modified version of the Adams-Bashforth-Moulton method based on the article https://www.researchgate.net/publication/341345300_Semi-Implicit_and_Semi-Ex... <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.researchgate.net%2Fpublication%2F341345300_Semi-Implicit_and_Semi-Explicit_Adams-Bashforth-Moulton_Methods&data=04%7C01%7Cloic.beuken%40student.uclouvain.be%7C8f5afd86c754442c200908da14cf630f%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637845178245315531%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=sVBjNj8U2TnlXg0Z8aP0M1YvU0dWhG87clIt2Fa3XbA%3D&reserved=0> modified to handle DAE by solving the constraints.
Description :
The method used is described in the above paper. This method is a slight modification of the older method Adams-Bashforth-Moulton that that expands its stability region.
The change made to handle DAE is to apply the method of the article on the differential part and then solve the contraints. This requires two input callable, one for the differential part (callable 'fun') and one for the constraints (callable 'gun').
Motivation : adding an index 1 DAE solver to scipy.
PR link: https://github.com/scipy/scipy/pull/15922 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fscipy%2Fscipy%2Fpull%2F15922&data=04%7C01%7Cloic.beuken%40student.uclouvain.be%7C8f5afd86c754442c200908da14cf630f%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637845178245315531%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=dwS0RDRAR9uNiraeK4OlOXNt9w%2Flq9IXI97%2B90dN9Xw%3D&reserved=0>
Bests,
Loïc Beuken
_______________________________________________ SciPy-Dev mailing list -- scipy-dev@python.org To unsubscribe send an email to scipy-dev-leave@python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: francois.laurent.90@gmail.com
_______________________________________________ SciPy-Dev mailing list -- scipy-dev@python.org To unsubscribe send an email to scipy-dev-leave@python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: ralf.gommers@gmail.com
participants (3)
-
FRANCOIS Laurent -
Loïc Beuken -
Ralf Gommers