Ronan Gautier
Ronan Gautier
Below is a simple workaround for anyone interested. ``` using DifferentialEquations using QuantumOptics using PyPlot # Predefine noise W = RealWienerProcess(0.0, 0.0, save_everystep=true) # Run simulation tout, rhot =...
Hi @patrick-kidger, we'd be pretty interested in complex support for implicit solvers in the context of [dynamiqs](https://github.com/dynamiqs/dynamiqs). I understand it's a non-trivial task, but if you're interested, we can definitely...
Hi, bumping this to ask if there is any plan from the jax team to implement this feature? @jakevdp We'd also need this feature for [dynamiqs](https://github.com/dynamiqs/dynamiqs), for the simulation of...
Hi @patrick-kidger, should this be fixed with diffrax=0.6.0, or will it be for a later release? It seems I still see the warning on `jax==0.4.30` and `diffrax=0.6.0`.
Thanks for your quick answer! I have been looking at the Array API documentation you linked, but it's not so clear to me how to achieve the exemple above using...
Thanks for the exemple @jakevdp, it's very useful. Indeed, it seems there are two different usecases: 1. writing custom functions (e.g. `fancy_exp`) that accept arrays from any library (JAX, NumPy,...
Ok that makes sense. Thanks a lot for your detailed answer.
A simple fix would be to replace `is_array` with `is_jax_array` (i.e. `isinstance(..., jax.Array)`) in https://github.com/patrick-kidger/equinox/blob/804d82e0fe65f85dd9f9a21f03d2784c164bbf8d/equinox/_module.py#L585 but I'm not sure this is in line with the intended use.
But in our example, the numpy array is just an intermediary for the computation. The actual computation is starting with a static tuple, and returning a static tuple, hence why...
Actually, investigating more, the following works without warning: ```python import numpy as np import equinox as eqx class Foo(eqx.Module): x: tuple[int, int] = eqx.field(static=True) def add_one(self): x_as_np = np.asarray(self.x) x_as_np...