GSJ24Factory Klasse
Implementiert die magische Zustandsanbaufabrik von Gidney, Shutty und Jones (2024) zur Herstellung logischer >>|<<T⟩Zustände aus Vorgängen auf physischer Ebene.
Der Magische Zustandsanbau wächst allmählich die Größe und Zuverlässigkeit eines magischen Zustands innerhalb eines Oberflächencodepatches, wobei ungefähr die gleiche Anzahl physischer Tore wie eine Gitteroperation CNOT Gate mit entsprechender Zuverlässigkeit verwendet wird. Der Ansatz verfeinert Ideen von Knill (1996), Jones (2016), Chamberland (2020), Gidney (2023/2024), Bombin (2024) und Hirano (2024).
Im Vergleich zu früheren Ansätzen der Magischen Zustandsdestillation verwendet der Anbau eine Größenordnung weniger Qubit-Runden, um logische Fehlerraten so niedrig wie 2·10⁻⁹ unter 10⁻¹ uniform depolarisierender Schaltkreisgeräusche zu erreichen. Durch die Halbierung des Schaltkreisrauschens auf 5·10⁻⁴ wird die erreichbare logische Fehlerrate auf 4·10⁻¹¹ verbessert.
Die Factory wird durch vorrechente Simulationsdaten (von Monte Carlo Sampling at https://doi.org/10.5281/zenodo.13777072) parametrisiert, die physische Fehlerraten (logical_error, num_qubits, Volume, Schritte) für unterstützte Entfernungspaare zugeordnet.
Hyperparameter: Abstand: Tupel (d_color, d_surface) zur Angabe des Farbcodeabstands und des Oberflächencodeabstands, der im Anbauprotokoll verwendet wird. Unterstützte Werte sind (3, 15) und (5, 15). Größerer Farbcodeabstand (5 vs. 3) führt zu niedrigeren logischen Fehlerraten zu Kosten einer höheren Qubitanzahl und mehr Zeitschritten.
Referenz:
C. Gidney, C. Shutty, C. Jones, "Magischer Zustand Anbau: wachsende T-Staaten mit 78% reduzierter Overhead", arXiv:2409.17595 (2024). https://arxiv.org/abs/2409.17595
Simulationsdaten: https://doi.org/10.5281/zenodo.13777072
Konstruktor
GSJ24Factory(syndrome_extraction_depth: int = 4, passthrough: bool = False, *, distance: tuple[int, int] = (3, 15))
Parameter
| Name | Beschreibung |
|---|---|
|
syndrome_extraction_depth
|
Standardwert: 4
|
|
passthrough
|
Standardwert: False
|
Nur Schlüsselwortparameter
| Name | Beschreibung |
|---|---|
|
distance
|
Standardwert: (3, 15)
|
Methoden
| provided_isa | |
| required_isa |
provided_isa
provided_isa(impl_isa: ISA, ctx: ISAContext) -> Generator[ISA, None, None]
Parameter
| Name | Beschreibung |
|---|---|
|
impl_isa
Erforderlich
|
|
|
ctx
Erforderlich
|
|
required_isa
static required_isa() -> ISARequirements
Attribute
syndrome_extraction_depth
Anzahl der pro Syndromextraktion benötigten Oberflächencodezyklen. Standardwert: 4.
syndrome_extraction_depth: int = 4
passthrough
Wenn True, enthält die Ausgabe-ISA die Eingabeanweisungen (physische) ISA-Anweisungen zusammen mit den erzeugten logischen T-Zuständen. Wenn False (Standard) nur die logischen T-Zustände bereitgestellt werden.
passthrough: bool = False
distance
distance: tuple[int, int] = (3, 15)