SurfaceCode Klasse

Diese Klasse modelliert den torbasierten gedrehten Oberflächencode.

Hyperparameter: Abstand: int Der Codeabstand des Oberflächencodes.

Referenzen:

  • Dominic Horsman, Austin G. Fowler, Simon Devitt, Rodney Van Meter: Surface Code Quantum Computing durch Gitterchirurgie, arXiv:1111.4022

  • Austin G. Fowler, Matteo Mariantoni, John M. Martinis, Andrew N. Cleland: Surface Codes: Hin zur praktischen großflächigen Quantenberechnung, arXiv:1208.0928

  • David S. Wang, Austin G. Fowler, Lloyd C. L. Hollenberg: Quantum Computing mit nächstgelegenen Nachbarinteraktionen und Fehlerraten über 1%, arXiv:1009.3686

Konstruktor

SurfaceCode(crossing_prefactor: float = 0.03, error_correction_threshold: float = 0.01, one_qubit_gate_depth: int = 1, two_qubit_gate_depth: int = 4, code_cycle_override: int | None = None, code_cycle_offset: int = 0, *, distance: int = 3)

Parameter

Name Beschreibung
crossing_prefactor
Standardwert: 0.03
error_correction_threshold
Standardwert: 0.01
one_qubit_gate_depth
Standardwert: 1
two_qubit_gate_depth
Standardwert: 4
code_cycle_override
Standardwert: None
code_cycle_offset
Standardwert: 0

Nur Schlüsselwortparameter

Name Beschreibung
distance
Standardwert: 3

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

crossing_prefactor

float Der Vorfaktor für die logische Fehlerrate aufgrund von Fehlerkorrekturübergängen. (Standardwert ist 0.03, siehe Eq. (11) in arXiv:1208.0928)

crossing_prefactor: float = 0.03

error_correction_threshold

float Der Fehlerkorrekturschwellenwert für den Oberflächencode. (Der Standardwert ist 0,01 (1%), siehe arXiv:1009.3686)

error_correction_threshold: float = 0.01

one_qubit_gate_depth

int Die Tiefe von Ein-Qubit-Toren in jedem Syndrom-Extraktionszyklus. (Standardwert ist 1, siehe Abb. 2 in arXiv:1009.3686)

one_qubit_gate_depth: int = 1

two_qubit_gate_depth

int Die Tiefe von zwei Qubit-Toren in jedem Syndrom-Extraktionszyklus. (Standardwert ist 4, siehe Abb. 2 in arXiv:1009.3686)

two_qubit_gate_depth: int = 4

code_cycle_override

Optional[int] Wenn angegeben, wird dieser Wert als Zeit für jeden Syndrom-Extraktionszyklus anstelle der Standardberechnung basierend auf Gate-Zeiten und Tiefen verwendet. (Standard ist Keine)

code_cycle_override: int | None = None

code_cycle_offset

int Ein zusätzlicher Zeitversatz, um die Zykluszeit der Syndromextraktion hinzuzufügen. (Der Standardwert ist 0)

code_cycle_offset: int = 0

distance

distance: int = 3