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
I am attaching a jupyter notebook containing state transfer examples where QOC does not optimize correctly. I can't attach ipynb files here, so you can find the notebook in jupytext markdown format and as pdf. I will briefly summarize the problems here:
Example 1 is a qubit with one control Hamiltonian. Using GOAT, the problem can be solved with great fidelity.
Using GRAPE, the optimized fidelity is ~70k, and the optimized control pulse is just zero. By enabling logging in qtrl, we see that the evolution computed by qtrl involves states such as [[21772.86281624+0.j], [21766.27675364+0.j]]. I guess there is a bug in how qtrl is called from qoc.
Using CRAB, the optimized fidelity is again ~70k. The optimized control pulse is not zero, but seems designed to be as bad as possible. I guess this is the same bug.
Due to an unrelated bug in qtrl, it is not possible with CRAB to enable logging detailed enough to see the states in the internally computed evolution.
Example 2 is the same example, but with three control Hamiltonians. The results are mostly the same, except that GRAPE and CRAB now claim that they produce a reasonably good fidelity. The control protocols that they return, however, do not actually do anything useful.
Example 3 is again the same, except that the drift and control Hamiltonian are supplied as Liouvillians (since QOC should also be able to handle state transfer in open systems). Whether initial and target state are supplied as vectors or as density matrices, I have not been able to get even GOAT to do anything.
The text was updated successfully, but these errors were encountered:
I am attaching a jupyter notebook containing state transfer examples where QOC does not optimize correctly. I can't attach
ipynb
files here, so you can find the notebook in jupytext markdown format and as pdf. I will briefly summarize the problems here:Example 1 is a qubit with one control Hamiltonian. Using GOAT, the problem can be solved with great fidelity.
Using GRAPE, the optimized fidelity is ~70k, and the optimized control pulse is just zero. By enabling logging in
qtrl
, we see that the evolution computed by qtrl involves states such as[[21772.86281624+0.j], [21766.27675364+0.j]]
. I guess there is a bug in how qtrl is called from qoc.Using CRAB, the optimized fidelity is again ~70k. The optimized control pulse is not zero, but seems designed to be as bad as possible. I guess this is the same bug.
Due to an unrelated bug in qtrl, it is not possible with CRAB to enable logging detailed enough to see the states in the internally computed evolution.
Example 2 is the same example, but with three control Hamiltonians. The results are mostly the same, except that GRAPE and CRAB now claim that they produce a reasonably good fidelity. The control protocols that they return, however, do not actually do anything useful.
Example 3 is again the same, except that the drift and control Hamiltonian are supplied as Liouvillians (since QOC should also be able to handle state transfer in open systems). Whether initial and target state are supplied as vectors or as density matrices, I have not been able to get even GOAT to do anything.
The text was updated successfully, but these errors were encountered: