C++ implemenation of UnionFind with a python binding
Project description
Introduction
C++ implementation of the Union-Find decoder arXiv:1709:06218. Python interface is also implemented using pybind11.
Based on a Python implementation by Kai Meinerz.
Under the LGPL lisence.
This repository includes codes for arXiv:2101.07285 which explores a machine learning assisted preprocessing combined with conventional decoders such as minimum-weight perfect matching (MWPM) and the Union-Find decoder.
Installation
Currently, you can install this project by cloning the source code tree and compiling it. To clone the source tree, use git clone as
git clone https://github.com/chaeyeunpark/UnionFind.git && cd UnionFind
git submodule update --init --recursive
Then you can compile the code using
pip install -r requirements.txt
python3 setup.py install
Note that a compiler with some C++20 supports (e.g. GCC version => 10 or Clang++ version => 12) is required. For example, if you are using Ubuntu
apt install -y g++-10
CXX=g++-10 python3 setup.py install
will work.
PyPI support will be available soon.
Basic Usage
from UnionFindPy import Decoder
decoder = Decoder(parity_matrix)
decoder.decode(syndromes) # syndromes is a list of measurment outcomes of each parity operator
Notes
This repository does not contain an implementation of weighted Union-Find decoder.
Reference
When you cite this repository, please use the following:
@misc{UnionFindCPP,
author = {Chae-Yeun Park and Kai Meinerz},
title = {Open-source C++ implementation of the Union-Find decoder},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/chaeyeunpark/UnionFind}}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file UnionFindPy-0.2.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 102.9 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b1ad9223b0d4f3408fe5cbed1385e81496fb597d6c7ab219576da5a9e7ccf1b
|
|
| MD5 |
4f9d207a841d01b3d75c4b41a818c4ef
|
|
| BLAKE2b-256 |
170b8388a2bdd10d49fbb81fde33e9f5f42dd3d5bf1590aa874c4e8ad956b449
|
File details
Details for the file UnionFindPy-0.2.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.0 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9479bac2f1100471b2d9ab1d90581206aa876d32a3b75470437d8138cf02290
|
|
| MD5 |
370a6e1fb97b35d0316a5df69d10d914
|
|
| BLAKE2b-256 |
573138997db522b73f4b507e83e30cafa014c5ef3420862b63339b44ec83a1ef
|
File details
Details for the file UnionFindPy-0.2.1-cp310-cp310-macosx_10_14_x86_64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp310-cp310-macosx_10_14_x86_64.whl
- Upload date:
- Size: 97.0 kB
- Tags: CPython 3.10, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52152f2652c54a1739f93a7e11e9f72965c4a59aa1b16c5cee59c596bfbe8e6b
|
|
| MD5 |
e03595ea697353ec8a3a9b995c6b8898
|
|
| BLAKE2b-256 |
f1ddd2a82636dcf20127ef4737a837de40c3d9cccc8b546c37478052cebde510
|
File details
Details for the file UnionFindPy-0.2.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 102.5 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d94862f6b6a982f4f21b357a055e71416dda82652e4c621afd7e65727bdff45
|
|
| MD5 |
3d02b8c93c694afd92e5d0de7acf060f
|
|
| BLAKE2b-256 |
c2c26c69e657430332488a314d402547377ebb9add3e1386ed7a7fcecdedc223
|
File details
Details for the file UnionFindPy-0.2.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 97.0 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07b1c73eed76f4cb05882b7c68e534c1212e8b8ebaab4c5c487c4ff8d640a418
|
|
| MD5 |
17b1d856be7c3c40d77bd91fb4b45dea
|
|
| BLAKE2b-256 |
bbd0f795f1e70e99faec55c8e9823fd2fb22e8e93b457d8266275a5a74d3c350
|
File details
Details for the file UnionFindPy-0.2.1-cp39-cp39-macosx_10_14_x86_64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp39-cp39-macosx_10_14_x86_64.whl
- Upload date:
- Size: 97.0 kB
- Tags: CPython 3.9, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2b52dd60cb7a3ef0a1e3a3d99f57f478b4e24bc13220cc6db9bdead1810d074
|
|
| MD5 |
f52ac869b97cfd73b65806045f1bddd7
|
|
| BLAKE2b-256 |
dbe6f86f88c06cbea7885b49b5100444f64db9a9b7857fd63130772647040fdb
|
File details
Details for the file UnionFindPy-0.2.1-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 102.9 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c041b1d6198542a74f45d592b8a61c12ee39356779501855c461d0d2edc37778
|
|
| MD5 |
c7d06ad5575276dc6d17d3bb217eac59
|
|
| BLAKE2b-256 |
9f4ae15a161300e18e02d99a2af0002824c6ce4f4d7c92bf3b245f013d9df476
|
File details
Details for the file UnionFindPy-0.2.1-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 96.9 kB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59e0cbb4fb0c6c87776d5d7a30c1c3c76a321494e9b3fc13904d5873882f5cb4
|
|
| MD5 |
baf84aae10fda303fbe485bb10cdea64
|
|
| BLAKE2b-256 |
48f65395bbe9abb780f5d5ab31c0fe4004f60250d036879cf887885966957c25
|
File details
Details for the file UnionFindPy-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl
- Upload date:
- Size: 96.9 kB
- Tags: CPython 3.8, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ab35c7b5eb2cc7cb3212896600d5bf76abfab0fcb7a9791f7871e0a9a7a8210
|
|
| MD5 |
a4fcc2a3d336987f2d07ecfa457779f0
|
|
| BLAKE2b-256 |
85de7a66296c6286209c47f8d1aebb8357cfa24e87e5653f9f3f0f57f756fb8f
|
File details
Details for the file UnionFindPy-0.2.1-cp37-cp37m-win_amd64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 103.3 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77118004de0f3448fe8b3e148bd68d9fbf46533d48b004d0b5aa0d266e0dd41e
|
|
| MD5 |
c74ac78889d798f320ebd015b8935fd7
|
|
| BLAKE2b-256 |
17f200f75ec456d67b3c5ee12be7d094e3f38ea774db3ce7d404c8fadc93405c
|
File details
Details for the file UnionFindPy-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl.
File metadata
- Download URL: UnionFindPy-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl
- Upload date:
- Size: 96.6 kB
- Tags: CPython 3.7m, macOS 10.14+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f81168206bd567d712f4737bdd03dfe093761f435217a47e62eee69f6e0e9b4
|
|
| MD5 |
d3b806f9c1e0361c6e8f2cb9b5eb622a
|
|
| BLAKE2b-256 |
cd90f6e3836b27b18e33e139d1eb64708d7018c42d79878e5b3ecf96dd338529
|