SurfaceCode Класс

Этот класс моделирует вращаемый код поверхности на основе шлюза.

Гиперпараметров: расстояние: вт. Расстояние кода поверхностного кода.

Ссылки:

  • Доминик Хорсман, Остин Г. Фаулер, Саймон Девитт, Родни Ван Метр: Surface квантовых вычислений кода путем операции латтиса, arXiv:1111.4022

  • Остин Г. Фаулер, Маттео Мариантони, Джон М. Мартинис, Эндрю N. Клиленд: Surface коды: К практическим крупномасштабным квантовым вычислениям, arXiv:1208.0928

  • Дэвид С. Ван, Остин Г. Фаулер, Ллойд C. L. Холленберг: квантовые вычисления с ближайшими соседними взаимодействиями и скоростью ошибок более 1%, arXiv:1009.3686

Конструктор

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)

Параметры

Имя Описание
crossing_prefactor
Default value: 0.03
error_correction_threshold
Default value: 0.01
one_qubit_gate_depth
Default value: 1
two_qubit_gate_depth
Default value: 4
code_cycle_override
Default value: None
code_cycle_offset
Default value: 0

Параметры Keyword-Only

Имя Описание
distance
Default value: 3

Методы

provided_isa
required_isa

provided_isa

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

Параметры

Имя Описание
impl_isa
Обязательно
ctx
Обязательно

required_isa

static required_isa() -> ISARequirements

Атрибуты

crossing_prefactor

плавает префакторинг для логической частоты ошибок из-за пересечений исправлений ошибок. (Значение по умолчанию — 0.03, см. в разделе Eq. ( 11) в arXiv:1208.0928)

crossing_prefactor: float = 0.03

error_correction_threshold

с плавающей запятой порог исправления ошибок для кода surface. (Значение по умолчанию — 0.01 (1%), см. arXiv:1009.3686)

error_correction_threshold: float = 0.01

one_qubit_gate_depth

Int Глубина однокубитных ворот в каждом цикле извлечения синдрома. (Значение по умолчанию — 1, см. рис. 2 в arXiv:1009.3686)

one_qubit_gate_depth: int = 1

two_qubit_gate_depth

Int Глубина двух кубитов ворот в каждом цикле извлечения синдрома. (Значение по умолчанию — 4, см. рис. 2 в arXiv:1009.3686)

two_qubit_gate_depth: int = 4

code_cycle_override

Необязательно[int] Если указано, это значение будет использоваться в качестве времени для каждого цикла извлечения синдрома вместо вычисления по умолчанию на основе времени и глубины ворот. (Значение по умолчанию — Нет)

code_cycle_override: int | None = None

code_cycle_offset

Int Дополнительное смещение времени для добавления к времени извлечения синдрома. (Значение по умолчанию — 0)

code_cycle_offset: int = 0

distance

distance: int = 3