SurfaceCode Clase

Esta clase modela el código de superficie girado basado en puertas.

Hiperparámetres: distancia: int La distancia de código del código de la superficie.

Referencias:

  • Dominic Horsman, Austin G. Fowler, Simon Devitt, Rodney Van Meter: Surface computación cuántica de código por cirugía de lattice, arXiv:1111.4022

  • Austin G. Fowler, Mateo Mariantoni, John M. Martinis, Andrew N. Cleland: Surface códigos: Hacia el cálculo cuántico a gran escala, arXiv:1208.0928

  • David S. Wang, Austin G. Fowler, Lloyd C. L. Hollenberg: Computación cuántica con interacciones de vecinos más cercanas y tasas de error más de 1%, arXiv:1009.3686

Constructor

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)

Parámetros

Nombre Description
crossing_prefactor
Valor predeterminado: 0.03
error_correction_threshold
Valor predeterminado: 0.01
one_qubit_gate_depth
Valor predeterminado: 1
two_qubit_gate_depth
Valor predeterminado: 4
code_cycle_override
Valor predeterminado: None
code_cycle_offset
Valor predeterminado: 0

Parámetros de palabra clave únicamente

Nombre Description
distance
Valor predeterminado: 3

Métodos

provided_isa
required_isa

provided_isa

provided_isa(impl_isa: ISA, ctx: ISAContext) -> Generator[ISA, None, None]

Parámetros

Nombre Description
impl_isa
Requerido
ctx
Requerido

required_isa

static required_isa() -> ISARequirements

Atributos

crossing_prefactor

float El prefactor para la tasa de errores lógicos debido a los cruces de corrección de errores. (El valor predeterminado es 0.03, consulte Eq. (11) en arXiv:1208.0928)

crossing_prefactor: float = 0.03

error_correction_threshold

float El umbral de corrección de errores para el código de superficie. (El valor predeterminado es 0.01 (1%), vea arXiv:1009.3686)

error_correction_threshold: float = 0.01

one_qubit_gate_depth

int La profundidad de las puertas de un cúbit en cada ciclo de extracción de síndrome. (El valor predeterminado es 1, vea fig. 2 en arXiv:1009.3686)

one_qubit_gate_depth: int = 1

two_qubit_gate_depth

int La profundidad de las puertas de dos cúbits en cada ciclo de extracción de síndrome. (El valor predeterminado es 4, vea fig. 2 en arXiv:1009.3686)

two_qubit_gate_depth: int = 4

code_cycle_override

Opcional[int] Si se proporciona, este valor se usará como el tiempo para cada ciclo de extracción de síndrome en lugar del cálculo predeterminado en función de las profundidades y los tiempos de la puerta. (El valor predeterminado es Ninguno)

code_cycle_override: int | None = None

code_cycle_offset

int Un desplazamiento de tiempo adicional para agregar al tiempo del ciclo de extracción del síndrome. (El valor predeterminado es 0)

code_cycle_offset: int = 0

distance

distance: int = 3