11# Q-CTRL Open Controls
22
3- Q-CTRL Open Controls is an open-source Python package that makes it easy to create
4- and deploy established error-robust quantum control protocols from the open literature.
5- The aim of the package is to be the most comprehensive library of published and
6- tested quantum control techniques developed by the community, with easy to use
7- export functions allowing users to deploy these controls on:
3+ Q-CTRL Open Controls is an open-source Python package that makes it easy to
4+ create and deploy established error-robust quantum control protocols from the
5+ open literature. The aim of the package is to be the most comprehensive library
6+ of published and tested quantum control techniques developed by the community,
7+ with easy to use export functions allowing users to deploy these controls on:
88
99- Custom quantum hardware
1010- Publicly available cloud quantum computers
@@ -28,16 +28,17 @@ latest features then install from source.
2828
2929### Requirements
3030
31- To use Q-CTRL Open Controls you will need an installation of Python. We recommend
32- using the [ Anaconda] ( https://www.anaconda.com/ ) distribution of Python. Anaconda
33- includes standard numerical and scientific Python packages which are optimally
34- compiled for your machine. Follow the [ Anaconda Installation] ( https://docs.anaconda.com/anaconda/install/ )
35- instructions and consult the [ Anaconda User guide] ( https://docs.anaconda.com/anaconda/user-guide/ )
36- to get started.
31+ To use Q-CTRL Open Controls you will need an installation of Python. We
32+ recommend using the [ Anaconda] ( https://www.anaconda.com/ ) distribution of
33+ Python. Anaconda includes standard numerical and scientific Python packages
34+ which are optimally compiled for your machine. Follow the [ Anaconda
35+ Installation] ( https://docs.anaconda.com/anaconda/install/ ) instructions and
36+ consult the [ Anaconda User
37+ guide] ( https://docs.anaconda.com/anaconda/user-guide/ ) to get started.
3738
38- We use interactive jupyter notebooks for our usage examples. The Anaconda python
39- distribution comes with editors for these files, or you can [ install the jupyter
40- notebook editor] ( https://jupyter.org/install ) on its own.
39+ We use interactive jupyter notebooks for our usage examples. The Anaconda
40+ python distribution comes with editors for these files, or you can [ install the
41+ jupyter notebook editor] ( https://jupyter.org/install ) on its own.
4142
4243### Using PyPi
4344
@@ -49,8 +50,9 @@ pip install qctrl-open-controls
4950
5051### From Source
5152
52- The source code is hosted on [ Github] ( https://github.com/qctrl/python-open-controls ) .
53- The repository can be cloned using
53+ The source code is hosted on
54+ [ Github] ( https://github.com/qctrl/python-open-controls ) . The repository can be
55+ cloned using
5456
5557``` shell
5658git clone
[email protected] :qctrl/python-open-controls.git
@@ -65,8 +67,8 @@ Once the clone is complete, you have two options:
6567 python setup.py develop
6668 ```
6769
68- ** Note:** We recommend installing using ` develop ` to point your installation at
69- the source code in the directory where you cloned the repository.
70+ ** Note:** We recommend installing using ` develop ` to point your installation
71+ at the source code in the directory where you cloned the repository.
7072
71731 . Using Poetry
7274
@@ -75,15 +77,16 @@ Once the clone is complete, you have two options:
7577 ./setup-poetry.sh
7678 ```
7779
78- ** Note:** if you are on Windows, you'll need to install [ Poetry ] ( https://poetry.eustace.io )
79- manually, and use:
80+ ** Note:** if you are on Windows, you'll need to install
81+ [ Poetry ] ( https://poetry.eustace.io ) manually, and use:
8082
8183 ``` cmd
8284 cd python-open-controls
8385 poetry install
8486 ```
8587
86- Once installed via one of the above methods, test your installation by running ` pytest `
88+ Once installed via one of the above methods, test your installation by running
89+ ` pytest `
8790in the ` python-open-controls ` directory.
8891
8992``` shell
@@ -92,46 +95,48 @@ pytest
9295
9396## Usage
9497
95- Usage depends on the application. We've provided a set of [ example Jupyter notebooks ] ( examples )
96- addressing a variety of quantum control problems. Below is a short description
97- of each notebook grouped by application. For further details on usage, use the
98- inline documentation in the source code.
98+ Usage depends on the application. We've provided a set of [ example Jupyter
99+ notebooks ] ( examples ) addressing a variety of quantum control problems. Below is
100+ a short description of each notebook grouped by application. For further
101+ details on usage, use the inline documentation in the source code.
99102
100103### Dynamical Decoupling Sequences (DDS)
101104
102- Q-CTRL Open Controls can create a large library of standard DDS which can be exported
103- in a variety of formats.
105+ Q-CTRL Open Controls can create a large library of standard DDS which can be
106+ exported in a variety of formats.
104107
105108#### Create a DDS
106109
107110[ ` examples/creating_a_dds.ipynb ` ] ( examples/creating_a_dds.ipynb ) demonstrates
108- how to use Q-CTRL Open Controls to create a DDS from a large library of published
109- dynamical decoupling protocols. It also shows how to make Custom DDS with timings,
110- offsets and unitaries defined by the user. The notebook shows how to export a
111- DDS for deployment in the [ Q-CTRL products ] ( https://q-ctrl.com/products/ ) or your
112- quantum hardware.
111+ how to use Q-CTRL Open Controls to create a DDS from a large library of
112+ published dynamical decoupling protocols. It also shows how to make Custom DDS
113+ with timings, offsets and unitaries defined by the user. The notebook shows how
114+ to export a DDS for deployment in the [ Q-CTRL
115+ products ] ( https://q-ctrl.com/products/ ) or your quantum hardware.
113116
114117#### Export a DDS to Qiskit
115118
116119[ ` examples/export_a_dds_to_qiskit.ipynb ` ] ( examples/export_a_dds_to_qiskit.ipynb )
117120demonstrates how to take a DDS and convert it to a Qiskit circuit so it can be
118121run on IBM's quantum computers. It also demonstrates using a DDS to improve the
119- performance of a quantum circuit execution by extending the coherence time of
120- a qubit.
122+ performance of a quantum circuit execution by extending the coherence time of a
123+ qubit.
121124
122125#### Export a DDS to Cirq
123126
124- [ ` examples/export_a_dds_to_cirq.ipynb ` ] ( examples/export_a_dds_to_cirq.ipynb ) demonstrates
125- how to take a DDS and convert it to a Cirq circuit or schdule. It also shows how
126- to run a circuit or schedule in a Cirq simulator.
127+ [ ` examples/export_a_dds_to_cirq.ipynb ` ] ( examples/export_a_dds_to_cirq.ipynb )
128+ demonstrates how to take a DDS and convert it to a Cirq circuit or schdule. It
129+ also shows how to run a circuit or schedule in a Cirq simulator.
127130
128131## Contributing
129132
130- See [ Contributing] ( https://github.com/qctrl/.github/blob/master/CONTRIBUTING.md ) .
133+ See
134+ [ Contributing] ( https://github.com/qctrl/.github/blob/master/CONTRIBUTING.md ) .
131135
132136## Credits
133137
134- See [ Contributors] ( https://github.com/qctrl/python-open-controls/graphs/contributors ) .
138+ See
139+ [ Contributors] ( https://github.com/qctrl/python-open-controls/graphs/contributors ) .
135140
136141## License
137142
0 commit comments