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

Jacobian matrix? #8

Open
drpeppurr opened this issue Oct 4, 2021 · 3 comments
Open

Jacobian matrix? #8

drpeppurr opened this issue Oct 4, 2021 · 3 comments

Comments

@drpeppurr
Copy link

Hello, this package looks quite interesting & promising. I took a quick look at the examples and the wrapper. It doesn't look like NumbaLSODA is taking Jacobian matrix?

I did a few comparisons with scipy's solve_ivp, with BDF method and jacobian matrix provided. For small sized (say, with a few hundreds of ODEs), NumbaLSODA is indeed much faster but the performance of solve_ivp (BDF+jacobian) isn't totally unacceptable. For larger sized problem (say, with thousands of ODEs) NumbaLSODA is either marginally faster or slower - okay this isn't really fair, since in those cases with thousands of ODEs, with/without jacobian makes a huge difference in solve_ivp. NumbaLSODE would probably still outperform if solve_ivp is with LSODA and without Jacobian.

But I'd imagine jacobian may further improve the performance?

Thank you again.

@Nicholaswogan
Copy link
Owner

Nicholaswogan commented Oct 4, 2021

Thanks for running those tests. Adding an option for an analytical jacobian should have a pretty massive speed upgrade.

I’ll look into it. Probably won’t have time to try to implement it for a month or so at least.

Another related problem I have noticed is the speed of the linear algebra routines. This package uses home brewed linear algebra routines, which are probably causing big slowdowns for large matrix inversions. Scipy links to either OpenBLAS or Intel MKL. It would be best for NumbaLSODA to do the same.

@HannoSpreeuw
Copy link

Interesting discussion.

Any news on the analytical jacobian?

@Nicholaswogan
Copy link
Owner

I have no time right now to work on this sort of thing sorry :(

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

No branches or pull requests

3 participants