Quantum Gate Language (QGL) is a domain specific language embedded in python for specifying pulse sequences.
Read the online documentation and see example usage in this Jupyter notebook.
The most straightforward way to get up and running is to use the Anaconda Python distribution. This includes nearly all the dependencies. The remaining dependencies can be installed from the terminal or Anaconda Command Prompt on Windows.
conda install atom future
pip install watchdog
conda install -c ecpy atom
cd QGL/
pip install .
For Python 3.6+ you may need to install watchdog from conda forge:
conda install -c conda-forge watchdog
conda install -c ecpy atom
cd QGL/
pip install .
If you'd like to use some of the built-in gate-set-tomography functionality, you can grab the PyGSTi package during the install:
pip install '.[gst]'
If the QGL
module is not installed, the repository path needs to be in the
PYTHONPATH
. On Windows machines, you add/modify this environment variable by
going to System -> Advanced Settings -> Environment variables. On Mac/Linux
machines add the following line to your .bashrc or .bash_profile: export PYTHONPATH=/path/to/QGL/repo:$PYTHONPATH
The QGL config file will be created the first time you run import QGL
or from QGL import *
.
- Python 2.7 or 3.4+
- JSONLibraryUtils (https://github.com/BBN-Q/JSONLibraryUtils, integrated as a Git submodule)
- Numpy/Scipy
- Nucleic atom (from ecpy channel for Python 3)
- h5py
- watchdog
- Bokeh 0.11
- networkx 2.0
- iPython/Jupyter 4.0 (only for Jupyter notebooks)
- ruamel_yaml
This repository uses the Git Large File Storage (LFS) extension to manage a few UnitTest data files (see https://git-lfs.github.com/).