qdk.ec
Python 모듈을 Microsoft 퀀텀 개발 키트(QDK)에서 설치하여 QEC(양자 오류 수정) 코드 및 프로토콜을 개발하고 테스트합니다. 모듈은 프로토콜 모델 및 지속성을 위해 qodec 패키지를 사용합니다.
Prerequisites
시작하기 전에 다음 도구를 설치합니다.
- Python 3.11 이상
-
pip또는 다른 Python 패키지 관리자
기본 qdk 패키지는 Python 3.10 이상을 지원합니다. 이 모듈은 qodec 종속성 때문에 Python 3.11 이상이 필요합니다.
(선택 사항) 가상 환경 만들기
가상 환경을 사용하여 Python 종속성을 다른 qdk.ec 프로젝트와 분리된 상태로 유지합니다.
가상 환경을 만듭니다. 예를 들어
.venv.python -m venv .venv환경을 활성화합니다.
Windows에서 다음을 수행합니다.
.venv\Scripts\Activate.ps1Linux 또는 macOS 켜기:
source .venv/bin/activate활성 환경에서 pip를 업데이트합니다.
python -m pip install --upgrade pip
오류 수정을 위해 QDK를 설치
ec extra와 함께 qdkPython 패키지를 설치합니다.
python -m pip install --upgrade "qdk[ec]"
QDK 및 Jupyter Notebook 위젯을 사용하려면 jupyter 추가 항목도 설치하세요.
python -m pip install --upgrade "qdk[ec,jupyter]" ipykernel
ec 추가 설치는 지원되는 플랫폼에서 qodec, Stim 파서, 그리고 qdk.ec가 사용하는 대수 및 솔버 패키지를 설치합니다. 거리 검색도 포함됩니다 HiGHS .
Linux Arm64 또는 WindowsArm64에 설치
Stim는 LinuxArm64 또는 WindowsArm64에 대한 휠을 게시하지 않습니다. 해당 플랫폼에서 qdk[ec]는 qodec 파서 없이 Stim를 설치합니다.
YAML qodecs를 로드 및 저장하고 사용자 지정 회로 파서를 사용할 수 있습니다.
format="stim" 회로를 구문 분석하는 기능은 이러한 플랫폼에서 작동하지 않습니다. 이 제한에는 qdk.ec.build_qodec가 포함됩니다.
파서를 사용하도록 설정하려면 Stim를 별도로 설치합니다. C++를 설치하려면 시스템에 Stim20 컴파일러가 필요합니다.
python -m pip install --upgrade stim
선택적 distance 및 decoder 패키지 설치
기본 거리 솔버는 qdk.ec를 사용하며, 이는 HiGHS 모듈에 포함되어 있습니다.
MWPF 선택적 솔버를 선택하려면 mwpf를 별도로 설치합니다.
python -m pip install mwpf
deq와 함께 회로 수준 디코더qdk.simulation.run_qir를 사용하려면 deq 및 deq-runtime를 설치하세요.
python -m pip install deq deq-runtime
QDK
deq 및 deq의 버전 0.5.7로 deq-runtime 어댑터를 테스트합니다.
Note
deq-runtime 패키지는 WindowsArm64 휠을 게시하지 않습니다.
deq 어댑터에는 LinuxArm64 또는 WindowsArm64 휠을 게시하지 않는 Stim도 필요합니다.
설치 확인
다음 코드를 사용하여 Python 파일 또는 Jupyter Notebook 셀을 만듭니다. 이 예제에서는 4큐비트 C4 코드를 정의하고 해당 거리를 확인합니다.
import qodec
from qdk import ec
c4 = qodec.Code(
"C4",
stabilizers=["X_0 X_1 X_2 X_3", "Z_0 Z_1 Z_2 Z_3"],
x=["X_0 X_1", "X_0 X_2"],
z=["Z_0 Z_2", "Z_0 Z_1"],
)
distance = ec.CodeProfile(c4).distance()
print("Code distance:", distance)
assert distance.value == 2
프로그램에서 다음 결과를 출력합니다.
Code distance: 2
가져오기 및 거리 검색에 성공하면 핵심 qdk.ec 종속성이 준비됩니다.
지원 여부 확인 Stim
파서를 지원하는 플랫폼에서 이 검사를 실행합니다.
from qdk import ec
protocol = ec.build_qodec(c4, strategy="bare-css/v1", strict=False)
print(ec.audit(protocol))
올바르게 생성된 프로토콜은 감사 요약을 출력합니다. 모든 검사를 통과한 프로토콜은 다음을 출력합니다:
audit: ok
stim에서 build_qodec 형식에 대한 파서가 없다고 보고하면, qdk[ec]가 활성 환경에 설치되어 있는지 확인합니다.
Linux
Arm64 또는 WindowsArm64에서 Stim를 소스에서 설치한 후 Python 또는 Jupyter 커널을 다시 시작합니다.
프로토콜 개발 계속하기
코드를 정의하고, qodec을 빌드하고, 가젯의 유효성을 검사하려면 QEC 프로토콜 개발 및 유효성 검사를 참조하세요.