Skip to content

Commit

Permalink
Suggestion for update readme.
Browse files Browse the repository at this point in the history
Addresses #331.
  • Loading branch information
lumip committed Aug 8, 2018
1 parent ac09a11 commit 0bff3e1
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,27 @@
[![Documentation Status](https://readthedocs.org/projects/qc-toolkit/badge/?version=latest)](http://qc-toolkit.readthedocs.org/en/latest/?badge=latest)

The qc-toolkit project aims to produce a software toolkit facilitating experiments involving pulse driven state manipulation of physical qubits.
It will provide a hardware independent object representation of pulses and pulse templates as well as means to translate this representation to hardware instructions, execute these instructions and perform corresponding measurements.
Pulses may be as complex as specifying conditional branching/looping and the object representation features easy reuse of previously defined pulse templates.

It provides a high-level hardware-independent representation of pulses as well as means to translate this representation to hardware-specific device instructions and waveforms, execute these instructions and perform corresponding measurements.

Pulses can be assembled from previously defined subpulses, allowing easy construction of high-level from low-level pulses and re-use of previous work.
Additionally, all pulses are parameterizable allowing users to fine-tune and adapt pulse templates to specific hardware or functionality without redefining an entire pulse sequence. To ensure meaningful parameter values, constraints can be put on parameters on a per-pulse basis.

## Status
Note that the project is in early development and thus neither feature-complete nor necessarily bug free. Additionally, interfaces and design decisions are subject to change.
Note that the project is still in somewhat early development and thus not feature-complete.

The qc-toolkit library is already used productively by the Bluhm research group at the 2nd Institute of Physics at the RWTH Aachen University. As such, some features - such as pulse definition - are mostly complete and tested and interfaces are expected to remain largely stable (or changes to be backward compatible).
However, it is still possible for existing portions of the code base to be redesigned if this will increase the usability long-term.

The current feature list is as follows:

- Definition of complex (arbitrarily deep nested and looped pulses) parameterized pulses in Python (including measurement windows)
- Mathematical expression evaluation (based on sympy) for parameter values and parameter constraints
- Serialization of pulses (to allow storing into permanent storage)
- Hardware model representation (prototype, work in progress)
- High-level pulse to hardware configuration and waveform translation routines
- Hardware drivers for Tabor 200 AWG and AlazarTech DAC
- MATLAB interface to access qc-toolkit functionality

## Installation
qc-toolkit is developed using Python 3.5 but should also run on previous 3.3+ versions.
Expand Down

0 comments on commit 0bff3e1

Please sign in to comment.