Skip to content

Diffrax integration - #817

Open
caprilesport wants to merge 5 commits into
geem-lab:mainfrom
caprilesport:diffrax
Open

Diffrax integration#817
caprilesport wants to merge 5 commits into
geem-lab:mainfrom
caprilesport:diffrax

Conversation

@caprilesport

@caprilesport caprilesport commented Aug 7, 2026

Copy link
Copy Markdown
Member

Initial integration of the Diffrax solvers, mainly to add the stiff solvers it provides.

The diffrax solver requires Jax, so the first question is, we now require Jax as a core feature or hide diffrax behind the fast feature flag?

In this initial implementation I've kept it behind the fast feature flag, but an option would be to replace the scipy solvers with the diffrax ones, as I think they are much more solid than the ones scipy exposes.

The only problem is that if someone wants to reproduce old simulated system this would be a bit of a breaking update, so I think it would be better to still keep the old solvers in the current proposed change? Open to feedback regarding this.

I haven't yet throughtly tested this in a "real world scenario", but the plan is to try to get some stiff system this week to compare the scipy solvers and the newly added Kvaerno solvers to see if they can handle it better.

I've also noted that I accidently linked the diffrax issue (#771) when doing the uv migration (which should have been #759, oopsie) instead of linking the correct issue. So if you want to re-open that one and close the uv issue...

Initial idea for integrating diffrax, currently dispatches to a
_get_y_diffrax function if the selected method is one of the provided
by this integration
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

Successfully merging this pull request may close these issues.

1 participant