odes icon indicating copy to clipboard operation
odes copied to clipboard

Using Iterative Linear Solvers in IDA

Open AvivBarnea opened this issue 2 months ago • 1 comments

Hello, I've been using IDA through scikits.odes for quite some time, and thank you for this package. I could never work out how to use non-dense linear solvers, as they fail consistently. What I'm doing really calls for a Krylov solver as the system is stiff, large, but can be preconditioned quite inexpensively. Could I be guided in employing those solvers? If they are not supported in practice via scikits.odes, I can try to help if guided where and how to see and implement the missing implementation.

The only limitation written right now is the following: https://github.com/bmcage/odes/blob/ea608d87d6569ad896685da847aa8bc24f22cc52/packages/scikits-odes-sundials/src/scikits_odes_sundials/ida.pyx#L879-L887

Thanks again, Aviv

AvivBarnea avatar Oct 23 '25 09:10 AvivBarnea

I found a couple errors in the Krylov preconditioners for IDA a while back. I submitted #200 to resolve the issues.

There are some accompanying tests in the PR that demonstrate how I was able to get the iterative solvers to work for a simple stiff test problem. Perhaps they could help give you a place to start with your debugging? You'll have to wait for the maintainers to accept the PR and push a new release out to get the fixes though, or create a local branch and build from source with the code from that PR.

c-randall avatar Oct 24 '25 21:10 c-randall