qecp
An educational tool to the introduction of Quantum Error Correction (QEC)
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
3 of 9 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.6%) to scientific vocabulary
Repository
An educational tool to the introduction of Quantum Error Correction (QEC)
Basic Info
- Host: GitHub
- Owner: yuewuo
- License: mit
- Language: Python
- Default Branch: main
- Size: 35.3 MB
Statistics
- Stars: 25
- Watchers: 3
- Forks: 4
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
QEC-Playground
A research tool to explore Quantum Error Correction (QEC), primarily surface codes.

[Error] we're working on the documentation of this project, please wait for a formal release (1.0.0) before you want to use this project.
Installation
See the QEC-Playground Documentation: Installation for the detailed instructions. A brief example is below.
```bash
Download the Blossom V Library [Optional]
wget -c https://pub.ist.ac.at/~vnk/software/blossom5-v2.05.src.tar.gz -O - | tar -xz cp -r blossom5-v2.05.src/* backend/blossomV/ rm -r blossom5-v2.05.src
Install the Python Dependencies [Optional]
sudo apt install python3 python3-pip pip3 install networkx
Install the Rust Toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.bashrc # this will add ~/.cargo/bin to path
cd backend/rust/
cargo build --release
cd ../../
```
Command-line Interface
See the QEC-Playground Documentation: CLI for the detailed instructions. A brief example use case is below.
Run cargo run --release -- --help under backend/rust/ folder to get all provided commands of backend program.
The option --help prints out the information of this command, which can be helpful to find subcommands as well as to understand the purpose of each option.
An example output is below.
```init QECPlayground 0.1.6 Yue Wu yue.wu@yale.edu, Namitha Liyanage (namitha.liyanage@yale.edu) Quantum Error Correction Playground
USAGE:
qecp
OPTIONS: -h, --help Print help information -V, --version Print version information
SUBCOMMANDS: fpgagenerator fpgagenerator help Print this message or the help of the given subcommand(s) server HTTP server for decoding information test testing features tool tools ```
To run a simulation to benchmark the logical error rate of decoder, run cargo run --release -- tool benchmark --help. An example output is below.
```bash qecp-tool-benchmark 0.1.6 benchmark surface code decoders
USAGE:
qecp tool benchmark [OPTIONS]
ARGS:
dis; note that a perfect measurement is always capped at the end,
so to simulate a single round of perfect measurement you should set this to 0
OPTIONS: --biaseta <biaseta> bias_eta = pz / (px + py) and px = py, px + py + pz = p. default to 1/2, which means px = pz = py [default: 0.5] ...... ```
For example, to test code-distance-3 standard CSS surface code with depolarizing physical error rates 3%, 2% and 1% only on data qubits (i.e. perfect stabilizer measurements) using the default decoder (MWPM decoder), run:
bash
cargo run --release -- tool benchmark [3] [0] [3e-2,2e-2,1e-2]
An example result is below.
init
format: <p> <di> <nm> <total_repeats> <qec_failed> <error_rate> <dj> <confidence_interval_95_percent> <pe>
0.03 3 0 567712 10000 0.01761456513161603 3 1.9e-2 0
0.02 3 0 1255440 10000 0.007965334862677627 3 2.0e-2 0
0.01 3 0 4705331 10000 0.002125248999485902 3 2.0e-2 0
Change Log
See CHANGELOG.md
Contributions
Yue Wu (yue.wu@yale.edu): implement 3D GUI. design and implement interactive tutorial. propose and implement naïve decoder. implement MWPM decoder. Implement different variants of surface code and different decoders (see change log 2020.11.8 - 2022.3.20). The major developer and maintainer of this repository.
Guojun Chen: collaborator of CPSC 559 course project: design GUI. design and implement machine learning based weight optimized MWPM decoder.
Namitha Godawatte Liyanage: implement approximate MWPM decoder and FPGA related functionalities.
Neil He: bind library to Python.
Attribution
When using QEC-Playground for research, please cite:
TODO: arXiv link for related papers (probably the fusion blossom paper)
Owner
- Name: Yue Wu
- Login: yuewuo
- Kind: user
- Website: https://wuyue98.cn
- Repositories: 5
- Profile: https://github.com/yuewuo
Computer Science Ph.D. student at Yale
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Wu" given-names: "Yue" orcid: "https://orcid.org/0000-0002-1400-0402" - family-names: "Liyanage" given-names: "Namitha" - family-names: "Liyanage" given-names: "Namitha" title: "QEC-Playground" version: 0.1.9 date-released: 2023-02-10 url: "https://github.com/yuewuo/QEC-Playground"
GitHub Events
Total
- Watch event: 6
- Member event: 2
- Push event: 20
- Create event: 3
Last Year
- Watch event: 6
- Member event: 2
- Push event: 20
- Create event: 3
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 739
- Total Committers: 9
- Avg Commits per committer: 82.111
- Development Distribution Score (DDS): 0.314
Top Committers
| Name | Commits | |
|---|---|---|
| Yue | y****u@y****u | 507 |
| Yue | w****6@p****n | 169 |
| leonana69 | g****n@y****u | 18 |
| Neil He | 9****4@u****m | 17 |
| NamiLiy | n****e@g****m | 11 |
| Neil He | n****5@g****m | 8 |
| m24639297 | m****7@g****m | 6 |
| NamiLiy | 3****y@u****m | 2 |
| Yue Wu | y****9@g****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 27
- Average time to close issues: N/A
- Average time to close pull requests: 5 days
- Total issue authors: 0
- Total pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.11
- Merged pull requests: 23
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- yuewuo (21)
- 784956494 (3)
- YangLiuWillow (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 60 last-month
- cargo 16,151 total
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 15
- Total maintainers: 2
pypi.org: qecp
Quantum Error Correction Playground for Surface Code Research
- Homepage: https://yuewuo.github.io/QEC-Playground/
- Documentation: https://qecp.readthedocs.io/
- License: MIT
-
Latest release: 0.2.3
published almost 3 years ago
Rankings
Maintainers (1)
crates.io: qecp
Quantum Error Correction Playground for Surface Code Research
- Homepage: https://yuewuo.github.io/QEC-Playground/
- Documentation: https://docs.rs/qecp/
- License: MIT
-
Latest release: 0.2.7
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- canvas ^2.9.1
- gl ^5.0.0
- jimp ^0.16.1
- jsdom ^19.0.0
- three ^0.139.2
- vue ^3.2.33
- actions-rs/toolchain v1 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/upload-artifact v3 composite
- 189 dependencies
- 339 dependencies