Skip to content

Commit

Permalink
Support for both APS3 channels
Browse files Browse the repository at this point in the history
  • Loading branch information
William Kalfus committed Sep 17, 2019
1 parent 7a81a43 commit 5c30527
Show file tree
Hide file tree
Showing 6 changed files with 118 additions and 4 deletions.
64 changes: 64 additions & 0 deletions QGL.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
Metadata-Version: 2.1
Name: QGL
Version: 2019.1
Summary: Quantum Gate Language (QGL) is a domain specific language embedded in python for specifying pulse sequences.
Home-page: https://github.com/BBN-Q/QGL
License: Apache 2.0 License
Download-URL: https://github.com/BBN-Q/QGL
Description: # Quantum Gate Language

[![Build Status](https://travis-ci.org/BBN-Q/QGL.svg?branch=master)](https://travis-ci.org/BBN-Q/QGL) [![Coverage Status](https://coveralls.io/repos/BBN-Q/QGL/badge.svg?branch=master)](https://coveralls.io/r/BBN-Q/QGL)

Quantum Gate Language (QGL) is a domain specific language embedded in python for
specifying pulse sequences.

Read the [online documentation](https://bbn-q.github.io/QGL/) and see example
usage in this [Jupyter
notebook](https://github.com/BBN-Q/QGL/blob/master/doc/QGL-demo.ipynb).

## Setup instructions

The most straightforward way to get up and running is to use the [Anaconda
Python distribution](http://continuum.io/downloads). This includes nearly all
the dependencies. The remaining dependencies can be installed from the terminal
or Anaconda Command Prompt on Windows. While QGL can be run on windows, our
experiment control software [Auspex](https://github.com/BBN-Q/auspex) relies on linux
when running qubit experiments.

### Python 3.6+

```bash
cd QGL/
pip install .
```
Alternatively, if you plan to modify the source code it will be easier to perform a
developer install using:
```bash
pip install -e .
```
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```

## Usage
QGL is designed to be utilized alongside Auspex, and most of the usage example,
including how to define a channel library, can be found in the [Auspex documentation](https://auspex.readthedocs.io/en/develop/qubits.html)

## Dependencies
* Python 3.6+
* Numpy/Scipy
* networkx 2.0
* iPython/Jupyter 4.0 (only for Jupyter notebooks)
* bbndb

Keywords: quantum qubit experiment configuration gate language
Platform: UNKNOWN
Requires-Python: >=3.6
Description-Content-Type: text/markdown
44 changes: 44 additions & 0 deletions QGL.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
README.md
setup.py
QGL/BlockLabel.py
QGL/ChannelLibraries.py
QGL/Channels.py
QGL/Cliffords.py
QGL/Compiler.py
QGL/ControlFlow.py
QGL/GSTTools.py
QGL/PatternUtils.py
QGL/Plotting.py
QGL/PulsePrimitives.py
QGL/PulseSequencePlotter.py
QGL/PulseSequencer.py
QGL/PulseShapes.py
QGL/Scheduler.py
QGL/TdmInstructions.py
QGL/Tomography.py
QGL/__init__.py
QGL/config.py
QGL/config_location.py
QGL/mm.py
QGL.egg-info/PKG-INFO
QGL.egg-info/SOURCES.txt
QGL.egg-info/dependency_links.txt
QGL.egg-info/requires.txt
QGL.egg-info/top_level.txt
QGL/BasicSequences/AllXY.py
QGL/BasicSequences/BlankingSweeps.py
QGL/BasicSequences/CR.py
QGL/BasicSequences/Decoupling.py
QGL/BasicSequences/Feedback.py
QGL/BasicSequences/FlipFlop.py
QGL/BasicSequences/RB.py
QGL/BasicSequences/Rabi.py
QGL/BasicSequences/SPAM.py
QGL/BasicSequences/StarkShift.py
QGL/BasicSequences/T1T2.py
QGL/BasicSequences/__init__.py
QGL/BasicSequences/helpers.py
QGL/drivers/APS2Pattern.py
QGL/drivers/APS3Pattern.py
QGL/drivers/APSPattern.py
QGL/drivers/__init__.py
1 change: 1 addition & 0 deletions QGL.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

6 changes: 6 additions & 0 deletions QGL.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
bbndb>=2019.1
numpy>=1.11.1
scipy>=0.17.1
networkx>=1.11
bqplot>=0.11.5
sqlalchemy>=1.2.15
1 change: 1 addition & 0 deletions QGL.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
QGL
6 changes: 2 additions & 4 deletions QGL/ChannelLibraries.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
from . import config
from . import Channels
from . import PulseShapes
from .PulsePrimitives import clear_pulse_cache

from IPython.display import HTML, display

Expand Down Expand Up @@ -377,12 +376,11 @@ def build_connectivity_graph(self):
self.connectivityG[chan.source][chan.target]['channel'] = chan

@check_for_duplicates
def new_APS3(self, label, address, serial_port, **kwargs):
def new_APS3(self, label, address, serial_port, dac, **kwargs):
chan1 = Channels.PhysicalQuadratureChannel(label=f"{label}-1", channel=0, instrument=label, translator="APS3Pattern", sampling_rate=2.5e9, channel_db=self.channelDatabase)
chan2 = Channels.PhysicalQuadratureChannel(label=f"{label}-2", channel=1, instrument=label, translator="APS3Pattern", sampling_rate=2.5e9, channel_db=self.channelDatabase)
m1 = Channels.PhysicalMarkerChannel(label=f"{label}-m1", channel=0, instrument=label, translator="APS3Pattern", sampling_rate=2.5e9, channel_db=self.channelDatabase)

this_transmitter = Channels.Transmitter(label=label, model="APS3", address=address, serial_port=serial_port, channels=[chan1, chan2, m1], channel_db=self.channelDatabase, **kwargs)
this_transmitter = Channels.Transmitter(label=label, model="APS3", address=address, serial_port=serial_port, dac=dac, channels=[chan1, m1], channel_db=self.channelDatabase, **kwargs)
this_transmitter.trigger_source = 'external' if 'trigger_source' not in kwargs else kwargs['trigger_source']

self.add_and_update_dict(this_transmitter)
Expand Down

0 comments on commit 5c30527

Please sign in to comment.