You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
jax.jit fails when I try to include more than one time-dependent elements in QobjEvo. This is because QobEvo is trying to compare the Qobjs in the elements and compress them if possible. For my directly calling of QobjEvo, I can set the argument compress=False, but QobjEvo is called also within sesolve:
H=QobjEvo(H, args=args, tlist=tlist)
Example
@jax.jitdefpulse_fun(t, T):
returnt/T@jax.jitdeftmp(t, T):
# Demonstrate a simple case with more than one time-dependent elements.H=qutip.destroy(3) *qutip.coefficient(pulse_fun, args={"T": T}) +qutip.create(3) *qutip.coefficient(pulse_fun, args={"T": T})
result=qutip.sesolve(
H,
qutip.basis(3),
[0, 2.],
options={
"method": "diffrax",
"dt0":0.01,
"progress_bar":""})
returnresult.final_state.data_as("JaxArray")
tmp(1., 10.)
The text was updated successfully, but these errors were encountered:
I think that all solver function calls sesolve, mesolve, etc. do not work.
The initialization step is not jax friendly.
Returning Qobj is also broken and returning Result is not supported.
jax.jit
fails when I try to include more than one time-dependent elements in QobjEvo. This is because QobEvo is trying to compare the Qobjs in the elements and compress them if possible. For my directly calling of QobjEvo, I can set the argumentcompress=False
, butQobjEvo
is called also withinsesolve
:Example
The text was updated successfully, but these errors were encountered: