From 12ba057924e0f1f1b962c8a4313823f984d18c3f Mon Sep 17 00:00:00 2001 From: Phionx Date: Tue, 24 Aug 2021 01:49:09 -0400 Subject: [PATCH] Fixing #45 as well as removing extra files from source dist --- README.md | 8 ++++---- dependencies/requirements.yml | 17 ----------------- qtcodes/VERSION.txt | 2 +- setup.py | 2 +- 4 files changed, 6 insertions(+), 23 deletions(-) delete mode 100644 dependencies/requirements.yml diff --git a/README.md b/README.md index b053464..83b735d 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Quantum computation is an inherently noisy process. Scalable quantum computers w Currently, the [`qiskit.ignis.verification.topological_codes`](https://qiskit.org/documentation/apidoc/verification.html#topological-codes) module provides a general framework for QEC and implements one specific example, the *repetition code*. Qiskit Topological Codes builds out the `qtcodes` module into a diverse family of QEC encoders and decoders, supporting the repetition code, XXXX/ZZZZ (XXZZ) rotated surface code, and the XZZX rotated surface code. -Inspired by the [Qiskit Textbook](https://qiskit.org/textbook/ch-quantum-hardware/error-correction-repetition-code.html), we've written a full set of [jupyter notebook tutorials](./tutorials) to demonstrate the [circuit encoders](./qtcodes/circuits), [graph decoders](./qtcodes/fitters), and [benchmarking tools](./qtcodes/tools/benchmarking.py) that compose Qiskit Topological Codes. These tutorials both demonstrate the elegance of QEC codes as well as the utility of this package -- please check them out! +Inspired by the [Qiskit Textbook](https://qiskit.org/textbook/ch-quantum-hardware/error-correction-repetition-code.html), we've written a full set of [jupyter notebook tutorials](https://github.com/yaleqc/qtcodes/tree/master/tutorials) to demonstrate the [circuit encoders](https://github.com/yaleqc/qtcodes/tree/master/qtcodes/circuits), [graph decoders](https://github.com/yaleqc/qtcodes/tree/master/qtcodes/fitters), and [benchmarking tools](https://github.com/yaleqc/qtcodes/tree/master/qtcodes/tools/benchmarking.py) that compose Qiskit Topological Codes. These tutorials both demonstrate the elegance of QEC codes as well as the utility of this package -- please check them out! ## Codebase @@ -90,7 +90,7 @@ circ.draw(output='mpl', fold=500) ![Repetition Code TCirc](https://user-images.githubusercontent.com/10100490/130364537-473de90a-6ed2-48a7-924f-00dd1fbce3e4.png) -Learn more about circuits through encoder tutorials such as this [one](./tutorials/xxzz/1-circuits.ipynb) for the XXXX/ZZZZ rotated surface code. +Learn more about circuits through encoder tutorials such as this [one](https://github.com/yaleqc/qtcodes/tree/master/tutorials/xxzz/1-circuits.ipynb) for the XXXX/ZZZZ rotated surface code. ### Fitters @@ -126,7 +126,7 @@ for syndrome_key, syndromes in all_syndromes.items(): In this way, Qiskit Topological Codes uses graph decoding to find and correct for the most probable set of errors (error chains). -The careful reader will notice that connecting syndrome hits in the most probable set of "error chains" does not uniquely specify the underlying physical qubits that underwent physical errors (i.e. there are multiple shortest paths between two syndrome hits). It turns out, by the nuances of how topological codes store logical information (i.e. codespace), in most cases the exact path across physical qubits doesn't matter when correcting for an error chain. Read more about this in this [tutorial](./tutorials/xxzz/2-fitters.ipynb) on Decoding for XXZZ Qubits! +The careful reader will notice that connecting syndrome hits in the most probable set of "error chains" does not uniquely specify the underlying physical qubits that underwent physical errors (i.e. there are multiple shortest paths between two syndrome hits). It turns out, by the nuances of how topological codes store logical information (i.e. codespace), in most cases the exact path across physical qubits doesn't matter when correcting for an error chain. Read more about this in this [tutorial](https://github.com/yaleqc/qtcodes/tree/master/tutorials/xxzz/2-fitters.ipynb) on Decoding for XXZZ Qubits! ### Benchmarking @@ -140,7 +140,7 @@ Finally, the efficiency and efficacy of the Qiskit Topological Codes package is Fig. 2 By simulating circuits with errors inserted between two rounds of stabilizing measurements, we are able to extract a logical error rate for each code for a given physical error rate (quality of physical qubit) and surface code size. In particular, threshold is shown for the repetition code (left), XXZZ code (center), and XZZX code (right).

-Explore the benchmarking [tools](./qtcodes/tools/benchmarking.py) and [simulations](./data/) to see how the graphs in Fig. 2 were created. +Explore the benchmarking [tools](https://github.com/yaleqc/qtcodes/tree/master/qtcodes/tools/benchmarking.py) and [simulations](https://github.com/yaleqc/qtcodes/tree/master/data/) to see how the graphs in Fig. 2 were created. ## Future Directions diff --git a/dependencies/requirements.yml b/dependencies/requirements.yml deleted file mode 100644 index b638585..0000000 --- a/dependencies/requirements.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: qiskit-topological-codes-env -channels: - - defaults - - conda-forge -dependencies: - - python=3 - - pip - - numpy - - pydot - - matplotlib - - tqdm #required for benchmarking - - notebook #not required - - jupyter #not required - - pip: - - qiskit - - retworkx - - pylatexenc diff --git a/qtcodes/VERSION.txt b/qtcodes/VERSION.txt index 6c6aa7c..6da28dd 100644 --- a/qtcodes/VERSION.txt +++ b/qtcodes/VERSION.txt @@ -1 +1 @@ -0.1.0 \ No newline at end of file +0.1.1 \ No newline at end of file diff --git a/setup.py b/setup.py index 7902514..6381507 100644 --- a/setup.py +++ b/setup.py @@ -38,7 +38,7 @@ author="Shantanu Jha", author_email="shantanu.rajesh.jha@gmail.com", license="Apache 2.0", - packages=find_namespace_packages(exclude=["test*"]), + packages=find_namespace_packages(exclude=["test*", "tutorials*", "data*"]), install_requires=REQUIREMENTS, classifiers=[ "Environment :: Console",