GSJ24Factory Classe
Implementa a fábrica de cultivo de estado mágico de Gidney, Shutty e Jones (2024) para produzir lógica >>|<<T⟩ estados de operações de nível físico.
O cultivo de estado mágico aumenta gradualmente o tamanho e a confiabilidade de um estado mágico dentro de um patch de código de superfície, usando aproximadamente o mesmo número de portões físicos que um portão CNOT de cirurgia de rede de confiabilidade equivalente. A abordagem refina ideias de Knill (1996), Jones (2016), Chamberland (2020), Gidney (2023/2024), Bombin (2024) e Hirano (2024).
Em comparação com as abordagens de destilação de estado mágico anteriores, o cultivo usa uma ordem de magnitude menor que as rodadas de qubit para atingir taxas de erro lógicas tão baixas quanto 2>10⁻⁹ abaixo de 10⁻ruído de circuito de despolarização uniforme de UTIL. Reduzir pela metade o ruído do circuito para 5>10⁻⁴ melhora a taxa de erros lógicos alcançáveis para 4>10⁻¹¹.
A fábrica é parametrizada por dados de simulação pré-computados (da amostragem de Monte Carlo em https://doi.org/10.5281/zenodo.13777072) que mapeia as taxas de erro físicas para tuplas (logical_error, num_qubits, volume, etapas) para pares de distância com suporte.
Hiperparâmetros: distância: Tupla (d_color, d_surface) especificando a distância do código de cor e a distância do código de superfície usada no protocolo de cultivo. Os valores com suporte são (3, 15) e (5, 15). A distância de código de cor maior (5 vs 3) produz taxas de erro lógicas mais baixas ao custo de maior contagem de qubits e mais etapas de tempo.
Referência:
C. Gidney, C. Shutty, C. Jones, "Magic state cultivation: growing T states with 78% reduced overhead", arXiv:2409.17595 (2024). https://arxiv.org/abs/2409.17595
Dados de simulação: https://doi.org/10.5281/zenodo.13777072
Construtor
GSJ24Factory(syndrome_extraction_depth: int = 4, passthrough: bool = False, *, distance: tuple[int, int] = (3, 15))
Parâmetros
| Nome | Description |
|---|---|
|
syndrome_extraction_depth
|
Valor padrão: 4
|
|
passthrough
|
Valor padrão: False
|
Parâmetros somente de palavra-chave
| Nome | Description |
|---|---|
|
distance
|
Valor padrão: (3, 15)
|
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
syndrome_extraction_depth
Número de ciclos de código de superfície necessários por rodada de extração de síndrome. O valor padrão é 4.
syndrome_extraction_depth: int = 4
passthrough
Se true, o ISA de saída inclui as instruções ISA de entrada (físicas) juntamente com os estados T lógicos produzidos. Se False (padrão), somente os estados T lógicos serão fornecidos.
passthrough: bool = False
distance
distance: tuple[int, int] = (3, 15)