alec-eickbusch / ECD_control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Echoed Conditional Displacement (ECD) Control

Welcome to the Echoed Conditional Displacement (ECD) control package! Built with Tensorflow in python.

ECD control is a fast, echoed, gate-based approach to the quantum control of an oscillator with weak dispersive coupling to a qubit.

Based on the paper Fast universal control of an oscillator with a weak dispersive coupling to a qubit (2021) arXiv:2111.06414.

This repository can be used to optimize circuit parameters and generate ECD pulse sequences to be used in an experiment.

For any issues, comments, or questions, please open a github issue or contact: alec.eickbusch@yale.edu.


Requirements

qutip (4.0.0 or later), Tensorflow (2.3.0 or later), h5py (working with 3.1.0)


Installation

To install, clone this repository and run:

$ pip install -e ECD_control

Usage

Given a quantum control problem, optimization is performed in two steps:

  1. ECD_optimization Optimization of ECD circuit parameters (betas, phis, thetas) for a quantum control problem. This step does not depend on device-specic parameters. Built with tensorflow

  2. ECD_pulse_construction Given device-specific parameters, this step complies oscillator and qubit pulses from the ECD circuit parameters found in step 1.

Please see examples folder for more information. Current documentation is contained in these examples.


Other info

Running on Apple silicon

updated Aug 2022

tensorflow can be installed on apple silicion (M1 or M2) using the instructions here.

To install ECD_control with pip on apple silicon, replace the "tensorflow" requirement in setup.py with "tensorflow-macos".

Support for tensorflow on apple GPUs is ongoing. Currently I'm unable to run ECD_control on an integrated M2 apple GPU. Running on the apple silicon CPU works, using "with tf.device("/cpu:0"):".

About

License:GNU General Public License v2.0


Languages

Language:Python 100.0%