qucontrol / krotov

Python implementation of Krotov's method for quantum optimal control
https://qucontrol.github.io/krotov
Other
70 stars 29 forks source link

Optimization backend for qutip-qip #102

Open goerz opened 2 years ago

goerz commented 2 years ago

The paper "Pulse-level noisy quantum circuits with QuTiP" introduces qutip-qip, which has an OptPulseProcessor that compiles gates into control pulses optimized with QuTiP's built-in GRAPE.

Examples are available in the code accompanying the paper, specifically dj_algorithm.py for the Deutsch-Jozsa algorithm, Fig 3 for the paper.

There's also some Jupyter notebook tutorials.

It seems relatively straightforward to implement a KrotovPulseProcessor that uses the Krotov package to optimize all the gates in the circuit. This would boil down to adapting OptPulseProcessor.load_circuit to generate Krotov objectives and run the optimization.

It would probably be more interesting to do this with an SCQubitsModel rather than a spin chain.

christianekoch commented 2 years ago

This is an excellent suggestion! I think it would be good to do both, the spin chain for direct comparison with the above mentioned paper and the SCQubitsModel as the most relevant example.