Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
-
pipof 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.
Maak bijvoorbeeld
.venvde virtuele omgeving.python -m venv .venvActiveer de omgeving.
Op Windows:
.venv\Scripts\Activate.ps1Op Linux of macOS:
source .venv/bin/activatePip 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.