Come installare QDK per la correzione degli errori

Installare il qdk.ecPython modulo dal Microsoft Quantum Development Kit (QDK) per sviluppare e testare i codici e i protocolli di correzione degli errori quantistici (QEC). Il modulo usa il qodec pacchetto per i modelli di protocollo e la persistenza.

Prerequisites

Installare questi strumenti prima di iniziare:

  • Python 3.11 o versione successiva
  • pip o un altro Python gestore pacchetti

Il pacchetto di base qdk supporta Python la versione 3.10 o successiva. Il qdk.ec modulo richiede Python la versione 3.11 o successiva a causa della dipendenza qodec.

(Facoltativo) Creare un ambiente virtuale

Usare un ambiente virtuale per mantenere le qdk.ec dipendenze separate da altri Python progetti.

  1. Crea l'ambiente virtuale, ad esempio .venv.

    python -m venv .venv
    
  2. Attivare l'ambiente.

    In Windows:

    .venv\Scripts\Activate.ps1
    

    Su Linux o macOS:

    source .venv/bin/activate
    
  3. Aggiornare pip nell'ambiente attivo.

    python -m pip install --upgrade pip
    

Installare QDK per la correzione degli errori

Installare il qdkPython pacchetto con l'aggiunta ec .

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

Per usare Jupyter Notebook e QDK widget, installare anche jupyter extra.

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

Il ec componente aggiuntivo qodecinstalla, il Stim parser sulle piattaforme supportate e i pacchetti di algebra e del risolutore usati qdk.ec. Include anche HiGHS per le ricerche sulla distanza.

Note

Il qdk.ec modulo usa il pacchetto separato StimPython tramite qodec. Non usa il qdk.stim modulo.

Installare su LinuxArm64 o WindowsArm64

Stim non pubblica wheel per LinuxArm64 o WindowsArm64. Su queste piattaforme viene qdk[ec] installato qodec senza il parser Stim.

È possibile caricare e salvare YAML qodecs e usare un parser di circuito personalizzato. Le funzionalità che interpretano format="stim" i circuiti non funzionano su queste piattaforme. Questa limitazione include qdk.ec.build_qodec.

Per abilitare il parser, installare Stim separatamente. Il sistema necessita di un compilatore C++20 per installare Stim.

python -m pip install --upgrade stim

Installare pacchetti di distanza e decodificatore facoltativi

Il risolutore di distanze predefinito usa HiGHS, incluso nel qdk.ec modulo . Per selezionare il risolutore facoltativo MWPF , installare mwpf separatamente.

python -m pip install mwpf

Per usare il deq decodificatore a livello di circuito con qdk.simulation.run_qir, installare deq e deq-runtime.

python -m pip install deq deq-runtime

QDK verifica l'adattatore deq con la versione 0.5.7 di deq e deq-runtime.

Note

Il pacchetto deq-runtime non pubblica WindowsArm64 wheel. L'adattatore deq richiede anche Stim, che non pubblica wheel LinuxArm64 o WindowsArm64.

Verificare l'installazione

Creare un file Jupyter Notebook o una cella Python con il codice seguente. L'esempio definisce il codice a quattro qubit C4 e ne controlla la distanza.

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

Il programma stampa questo risultato:

Code distance: 2

Se l'importazione e la ricerca della distanza hanno esito positivo, le dipendenze principali qdk.ec sono pronte.

Verifica il Stim supporto

Eseguire questo controllo su una piattaforma che supporta il Stim parser.

from qdk import ec

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

Un protocollo generato correttamente stampa un riepilogo di audit. Protocollo che supera tutti i controlli stampa:

audit: ok

Se build_qodec segnala che non esiste alcun parser per il stim formato, verificare che sia stato installato qdk[ec] nell'ambiente attivo. In LinuxArm64 o WindowsArm64, installare Stim dal codice sorgente e riavviare Python o il kernel Jupyter.

Continua con lo sviluppo del protocollo

Per definire un codice, compilare un qodece convalidare i relativi gadget, vedere Sviluppare e convalidare un protocollo QEC.