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