SurfaceCode Classe

Essa classe modela o código de superfície girado baseado em porta.

Hipermetrâmetros: distância: int A distância de código do código de superfície.

Referências:

  • Dominic Horsman, Austin G. Fowler, Simon Devitt, Rodney Van Meter: Surface computação quântica de código por cirurgia de rede, arXiv:1111.4022

  • Austin G. Fowler, Matteo Mariantoni, John M. Martinis, Andrew N. Cleland: Surface códigos: Para computação quântica prática em larga escala, arXiv:1208.0928

  • David S. Wang, Austin G. Fowler, Lloyd C. L. Hollenberg: Computação quântica com interações vizinhas mais próximas e taxas de erro ao longo de 1%, arXiv:1009.3686

Construtor

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

Nome Description
crossing_prefactor
Valor padrão: 0.03
error_correction_threshold
Valor padrão: 0.01
one_qubit_gate_depth
Valor padrão: 1
two_qubit_gate_depth
Valor padrão: 4
code_cycle_override
Valor padrão: None
code_cycle_offset
Valor padrão: 0

Parâmetros somente de palavra-chave

Nome Description
distance
Valor padrão: 3

Métodos

provided_isa
required_isa

provided_isa

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

Parâmetros

Nome Description
impl_isa
Obrigatório
ctx
Obrigatório

required_isa

static required_isa() -> ISARequirements

Atributos

crossing_prefactor

float O prefactor para a taxa de erro lógica devido a cruzamentos de correção de erro. (O padrão é 0,03, consulte Eq. (11) em arXiv:1208.0928)

crossing_prefactor: float = 0.03

error_correction_threshold

float O limite de correção de erro para o código de superfície. (O padrão é 0,01 (1%), consulte arXiv:1009.3686)

error_correction_threshold: float = 0.01

one_qubit_gate_depth

int A profundidade das portas de um qubit em cada ciclo de extração de síndrome. (O padrão é 1, consulte Fig. 2 em arXiv:1009.3686)

one_qubit_gate_depth: int = 1

two_qubit_gate_depth

int A profundidade das portas de dois qubits em cada ciclo de extração de síndrome. (O padrão é 4, consulte Fig. 2 em arXiv:1009.3686)

two_qubit_gate_depth: int = 4

code_cycle_override

Opcional[int] Se fornecido, esse valor será usado como o tempo para cada ciclo de extração de síndrome, em vez do cálculo padrão com base em tempos e profundidades de porta. (O padrão é Nenhum)

code_cycle_override: int | None = None

code_cycle_offset

int Um deslocamento de tempo adicional para adicionar ao tempo do ciclo de extração da síndrome. (O padrão é 0)

code_cycle_offset: int = 0

distance

distance: int = 3