10 个版本
0.2.5 | 2024年5月28日 |
---|---|
0.2.4 | 2023年10月16日 |
0.2.2 | 2023年4月30日 |
0.1.9 | 2022年11月9日 |
0.1.6 | 2022年6月22日 |
#116 in 科学
在 fusion-blossom 中使用
1MB
22K SLoC
QEC-Playground
探索量子纠错(QEC),主要针对表面码的研究工具。
[错误] 我们正在编写此项目的文档,请在正式发布(1.0.0)之前等待。
安装
有关详细说明,请参阅QEC-Playground 文档:安装。以下是一个简短的示例。
# 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 ../../
命令行界面
有关详细说明,请参阅QEC-Playground 文档:CLI。以下是一个简短的示例用例。
在 backend/rust/
文件夹下运行 cargo run --release -- --help
以获取后端程序提供的所有命令。选项 --help
打印出此命令的信息,这有助于查找子命令以及了解每个选项的目的。以下是一个示例输出。
QECPlayground 0.1.6
Yue Wu <yue.wu@yale.edu>, Namitha Liyanage (namitha.liyanage@yale.edu)
Quantum Error Correction Playground
USAGE:
qecp <SUBCOMMAND>
OPTIONS:
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
fpga_generator fpga_generator
help Print this message or the help of the given subcommand(s)
server HTTP server for decoding information
test testing features
tool tools
要运行模拟以基准测试解码器的逻辑错误率,请运行 cargo run --release -- tool benchmark --help
。以下是一个示例输出。
qecp-tool-benchmark 0.1.6
benchmark surface code decoders
USAGE:
qecp tool benchmark [OPTIONS] <dis> <nms> <ps>
ARGS:
<dis> [di1,di2,di3,...,din] code distance of vertical axis
<nms> [nm1,nm2,nm3,...,nmn] number of noisy measurement rounds, must have exactly the
same length as `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
<ps> [p1,p2,p3,...,pm] p = px + py + pz unless noise model has special interpretation of
this value
OPTIONS:
--bias_eta <bias_eta>
bias_eta = pz / (px + py) and px = py, px + py + pz = p. default to 1/2, which means px
= pz = py [default: 0.5]
......
例如,要测试代码距离为3的标准CSS表面码,使用默认解码器(MWPM解码器),仅在数据量子位上(即完美的稳定器测量)使用退极化物理错误率3%、2%和1%,请运行
cargo run --release -- tool benchmark [3] [0] [3e-2,2e-2,1e-2]
以下是一个示例结果。
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
变更日志
请参阅CHANGELOG.md
贡献者
Yue Wu ([email protected]): 实现3D GUI。设计和实现交互式教程。提出并实现朴素解码器。实现MWPM解码器。实现表面码的不同变体和不同的解码器(请参阅2020.11.8 - 2022.3.20的变更日志)。此存储库的主要开发者和维护者。
陈国军:CPSC 559课程项目合作者:设计GUI。设计和实现基于机器学习的权重优化MWPM解码器。
Liyanage Namitha Godawatte:实现近似MWPM解码器和FPGA相关功能。
何尼尔:将库绑定到Python。
归属
在研究中使用QEC-Playground时,请引用
TODO: arXiv link for related papers (probably the fusion blossom paper)
依赖项
~20–33MB
~578K SLoC