GSJ24Factory Classe
Implementa la fabbrica di coltivazione dello stato magico di Gidney, Shutty e Jones (2024) per la produzione logica >>|<<T⟩ stati delle operazioni a livello fisico.
La coltivazione dello stato magico aumenta gradualmente le dimensioni e l'affidabilità di uno stato magico all'interno di una patch di codice di superficie, usando approssimativamente lo stesso numero di cancelli fisici come un gate CNOT di chirurgia reticolare di affidabilità equivalente. L'approccio affina le idee di Knill (1996), Jones (2016), Chamberland (2020), Gidney (2023/2024), Bombin (2024) e Hirano (2024).
Rispetto agli approcci precedenti alla modernizzazione dello stato magico, la coltivazione usa un ordine di grandezza inferiore ai qubit-round per raggiungere i tassi di errore logici fino a 2·10⁻⁹ sotto 10⁻rumore di circuito depolarizzato uniforme. Metà del rumore del circuito a 5·10⁻⁴ migliora la velocità di errore logica ottenibile a 4·10⁻¹¹.
La factory è parametrizzata dai dati di simulazione pre-calcolati (dal campionamento Monte Carlo in https://doi.org/10.5281/zenodo.13777072) che esegue il mapping delle percentuali di errore fisiche a (logical_error, num_qubits, volume, passaggi) per le coppie di distanze supportate.
Parametri Hyper: distanza: tupla (d_color, d_surface) specificando la distanza del codice colore e la distanza del codice di superficie usata nel protocollo di coltivazione. I valori supportati sono (3, 15) e (5, 15). La distanza del codice colore più grande (5 vs 3) produce tassi di errore logici inferiori al costo del numero di qubit più elevati e più passaggi temporali.
Riferimento:
C. Gidney, C. Shutty, C. Jones, "Coltivazione dello stato magico: stati T in crescita con 78% riduzione del sovraccarico", arXiv:2409.17595 (2024). https://arxiv.org/abs/2409.17595
Dati di simulazione: https://doi.org/10.5281/zenodo.13777072
Costruttore
GSJ24Factory(syndrome_extraction_depth: int = 4, passthrough: bool = False, *, distance: tuple[int, int] = (3, 15))
Parametri
| Nome | Descrizione |
|---|---|
|
syndrome_extraction_depth
|
Valore predefinito: 4
|
|
passthrough
|
Valore predefinito: False
|
Parametri di sole parole chiave
| Nome | Descrizione |
|---|---|
|
distance
|
Valore predefinito: (3, 15)
|
Metodi
| provided_isa | |
| required_isa |
provided_isa
provided_isa(impl_isa: ISA, ctx: ISAContext) -> Generator[ISA, None, None]
Parametri
| Nome | Descrizione |
|---|---|
|
impl_isa
Necessario
|
|
|
ctx
Necessario
|
|
required_isa
static required_isa() -> ISARequirements
Attributi
syndrome_extraction_depth
Numero di cicli di codice di superficie necessari per ciclo di estrazione della sindrome. Il valore predefinito è 4.
syndrome_extraction_depth: int = 4
passthrough
Se True, l'ISA di output include le istruzioni ISA di input (fisiche) insieme agli stati T logici prodotti. Se False (impostazione predefinita), vengono forniti solo gli stati T logici.
passthrough: bool = False
distance
distance: tuple[int, int] = (3, 15)