Parallel Automatic Differentiation Quantum Optimal Control (PADQOC) is an open-source, Python based general quantum optimal control solver built on top of Tensorflow 2. It is designed to be fast, extensible and useful for controlling general quantum systems. It supports GPU computing, Hamiltonian distributions, arbitrary parameterization of the control basis and customizable optimizers.
Designing control pulses to generate desired unitary evolution subjugated to experimental constraints (e.g., decoherence time, bandwidth) is a common task for quantum platforms, these type of problems are often addressed in the context of quantum optimal control.
- GPU computing
- Arbitrary parameterization basis (builtin Time, Sinusoids, Slepians)
- Distributions of Drift and Control Hamiltonians
- Customizable Optimizers e.g. TF and Keras (adam) and Scipy L-BFGS-B
- Easiest:relaxed: run it in Google Colab which also support GPU and TPU
- Average:smirk: install Tensorflow 2 binaries and run locally
- Difficult:worried: install Cuda 10.0 and other GPU support with Tensorflow 2 binaries
- DifficultX2:persevere: install Cuda 10.0 and other GPU support and build Tensorflow 2 from source
Running the time basis cnot example in Google colab
!git clone -l -s git://github.com/lifeishard/PADQOC.git cloned-repo
%cd cloned-repo
!ls
from __future__ import absolute_import, division, print_function, unicode_literals
# Install TensorFlow
!pip install -q tensorflow==2.0.0-beta1
import tensorflow as tf
%run time_basis_cnot.py
- Qutip Big feature-rich quantum python library
- Schuster's Lab Quantum Optimal Control Earlier python implementation of GPU assisted quantum control
- Michael Y. Chen - Initial work
Email [email protected] if you have questions or concerns.
If you find this tool useful feel free to cite Chen, M.Y. (2019). Discrete Time Quantum Walk Simulations of Symmetry Protected Topological Phases on Liquid State NMR Quantum Computers (Unpublished Master's Thesis). University of Waterloo, Waterloo, Canada.