Troubleshoot common issues¤
If you encounter unexpected issues, please ensure you have the latest version of JAX installed. If you're not already using virtual environments, now might be a good time to start, as they can help manage dependencies more effectively. With these points covered, try to execute some of the examples in Probdiffeq's documentation, for example the quickstart. If these examples work, great! If not, reach out.
Long compilation times¤
If a solution routine takes an unexpectedly long time to compile but runs quickly afterwards, the issue might be related to how Taylor coefficients are computed.
Some functions in probdiffeq.taylor unroll a small loop, which can slow down compilation.
To avoid this, try using the padded scan, which replaces loop unrolling with a scan.
If the problem persists, consider reducing the number of derivatives (if appropriate for your problem).
Taylor-derivative routines yield NaNs¤
If you encounter unexpected NaNs while estimating Taylor derivative routines, the issue might come from the vector field itself.
For instance, in the Pleiades problem, there's a term like \(\|x\|^2 / (\|x\|^2 + \|y\|^2)\), which can have differentiability issues near zero, depending on how it's implemented.
See this issue (external) for more details.
In some cases, the fix is as simple as wrapping the quotient in jax.numpy.nan_to_num.
You can also check out Probdiffeq's Pleiades benchmark for a concrete example.
Other problems¤
Is your problem not discussed here? Feel free to reach out. Opening an issue is a great way to get help!