Hoe QDK te installeren voor foutcorrectie

Installeer de qdk.ecPython module vanuit de Microsoft Quantum Development-kit (QDK) om QEC-codes en -protocollen (Quantum Error Correction) te ontwikkelen en te testen. De module maakt gebruik van het qodec pakket voor protocolmodellen en persistentie.

Prerequisites

Installeer deze hulpprogramma's voordat u begint:

  • Python 3.11 of hoger
  • pip of een ander Python pakketbeheerprogramma

Het basispakket qdk ondersteunt Python 3.10 of hoger. Voor de qdk.ec module is Python 3.11 of hoger vereist vanwege de qodec afhankelijkheid.

(Optioneel) Een virtuele omgeving maken

Gebruik een virtuele omgeving om de qdk.ec afhankelijkheden gescheiden te houden van andere Python projecten.

  1. Maak bijvoorbeeld .venvde virtuele omgeving.

    python -m venv .venv
    
  2. Activeer de omgeving.

    Op Windows:

    .venv\Scripts\Activate.ps1
    

    Op Linux of macOS:

    source .venv/bin/activate
    
  3. Pip bijwerken in de actieve omgeving.

    python -m pip install --upgrade pip
    

Installeer QDK voor foutcorrectie

Installeer het qdkPython pakket met de ec extra.

python -m pip install --upgrade "qdk[ec]"

Om Jupyter Notebook- en QDK-widgets te gebruiken, installeert u ook de jupyter-extra.

python -m pip install --upgrade "qdk[ec,jupyter]" ipykernel

De ec extra installeert Stim, de qodec-parser op ondersteunde platforms en de algebra- en oplosserpakketten die qdk.ec gebruikt. Het bevat ook HiGHS voor afstandszoekopdrachten.

Notitie

De qdk.ec module maakt gebruik van het afzonderlijke StimPython pakket via qodec. Het gebruikt de module qdk.stim niet.

Installeren op LinuxArm64 of WindowsArm64

Stim publiceert geen wheels voor LinuxArm64 of WindowsArm64. Op die platforms installeert qodecqdk[ec] zonder zijn Stim-parser.

U kunt YAML qodecs laden en opslaan en een aangepaste circuitparser gebruiken. Functies die format="stim" circuits parseren, werken niet op deze platforms. Deze beperking omvat qdk.ec.build_qodec.

Als u de parser wilt inschakelen, installeert u Stim afzonderlijk. Om Stim te installeren, heeft uw systeem een C++20-compiler nodig.

python -m pip install --upgrade stim

Optionele afstands- en decoderpakketten installeren

De standaardafstandslosser gebruikt HiGHS, dat de module qdk.ec bevat. Als u de optionele MWPF solver wilt selecteren, installeert u mwpf afzonderlijk.

python -m pip install mwpf

Als u de deq decoder op circuitniveau wilt gebruiken met qdk.simulation.run_qir, installeert deq en deq-runtime.

python -m pip install deq deq-runtime

De QDK test de deq adapter met versie 0.5.7 van deq en deq-runtime.

Notitie

Het deq-runtime pakket publiceert WindowsArm64 geen wheels. De deq adapter vereist ook Stim, dat geen LinuxArm64- of WindowsArm64-wheels publiceert.

De installatie controleren

Maak een Python bestand of Jupyter Notebook cel met de volgende code. In het voorbeeld wordt de vier qubitcode C4 gedefinieerd en wordt de afstand gecontroleerd.

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

Het programma drukt dit resultaat af:

Code distance: 2

Als het importeren en het zoeken op afstand slagen, zijn de belangrijkste qdk.ec afhankelijkheden gereed.

Ondersteuning verifiëren Stim

Voer deze controle uit op een platform dat ondersteuning biedt voor de Stim parser.

from qdk import ec

protocol = ec.build_qodec(c4, strategy="bare-css/v1", strict=False)
print(ec.audit(protocol))

Een correct gegenereerd protocol genereert een auditoverzicht. Een protocol dat alle controles doorstaat, print:

audit: ok

Als build_qodec meldt dat er geen parser bestaat voor de indeling stim, controleert u of u qdk[ec] in de actieve omgeving hebt geïnstalleerd. Op WindowsArm64 of LinuxArm64 installeer Stim vanuit de bron en start Python of de Jupyter-kernel opnieuw op.

Doorgaan met protocolontwikkeling

Als u een code wilt definiëren, een qodec wilt bouwen en de gadgets ervan wilt valideren, raadpleegt u Een QEC-protocol ontwikkelen en valideren.