오류 수정을 위해 QDK를 설치하는 방법

qdk.ec Python 모듈을 Microsoft 퀀텀 개발 키트(QDK)에서 설치하여 QEC(양자 오류 수정) 코드 및 프로토콜을 개발하고 테스트합니다. 모듈은 프로토콜 모델 및 지속성을 위해 qodec 패키지를 사용합니다.

Prerequisites

시작하기 전에 다음 도구를 설치합니다.

  • Python 3.11 이상
  • pip 또는 다른 Python 패키지 관리자

기본 qdk 패키지는 Python 3.10 이상을 지원합니다. 이 모듈은 qodec 종속성 때문에 Python 3.11 이상이 필요합니다.

(선택 사항) 가상 환경 만들기

가상 환경을 사용하여 Python 종속성을 다른 qdk.ec 프로젝트와 분리된 상태로 유지합니다.

  1. 가상 환경을 만듭니다. 예를 들어 .venv.

    python -m venv .venv
    
  2. 환경을 활성화합니다.

    Windows에서 다음을 수행합니다.

    .venv\Scripts\Activate.ps1
    

    Linux 또는 macOS 켜기:

    source .venv/bin/activate
    
  3. 활성 환경에서 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 .

Note

qdk.ec 모듈은 를 통해 별도의 Python를 사용합니다. qdk.stim 모듈을 사용하지 않습니다.

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 프로토콜 개발 및 유효성 검사를 참조하세요.