В « Улучшенном моделировании цепей стабилизатора » Ааронсоном и Готтсманом объясняется, как вычислить таблицу, описывающую, на какие тензорные произведения Паули отображаются X и Z, наблюдаемые для каждого кубита, как на них действует схема Клиффорда.
Вот в качестве примера схема Клиффорда:
0: -------@-----------X---
| |
1: ---@---|---@---@---@---
| | | |
2: ---|---|---@---|-------
| | |
3: ---@---@-------Y-------
И таблица, описывающая, как она действует на наблюдаемые X и Z каждого кубита:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ X_ __ Z_ |
| 1 | ZZ YZ Z_ ZZ |
| 2 | __ Z_ XZ __ |
| 3 | Z_ X_ __ XZ |
+------+---------------------+-
| sign | ++ ++ ++ ++ |
+------+---------------------+-
Каждый столбец таблицы описывает, как схема действует на X, наблюдаемый (левая половина столбца) и Z, наблюдаемый (правая половина столбца) каждого кубита. Например, левая часть столбца 3 - это Z, Z, _, X, означающая операцию X3 (Паули X на кубите 3) в правой части схемы, эквивалентную операции Z1 * Z2 * X4 в левой части. сторона схемы. Строка «знак» указывает знак продукта, который важен, если вы собираетесь смоделировать измерение (оно говорит вам, нужно ли инвертировать результат).
Вы также можете вычислить таблицу для обратной схемы. В приведенном мной примере обратная таблица выглядит так:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ Y_ __ Z_ |
| 1 | _Z YZ Z_ _Z |
| 2 | __ Z_ XZ __ |
| 3 | Z_ Y_ __ XZ |
+------+---------------------+-
| sign | ++ -+ ++ ++ |
+------+---------------------+-
Таблицы выглядят почти одинаково, если вы транспонируете их строки и столбцы. Но записи не совсем идентичны. В дополнение к транспонированию, вы должны кодировать буквы в биты ( _
= 00, X
= 01, Z
= 10, Y
= 11), затем менять средние биты и затем декодировать. Например, ZZ кодирует в 1010, который переходит в 1100, который декодирует в Y_.
У меня вопрос: есть ли простое правило для вычисления знаков обратной таблицы?
В настоящее время я инвертирую эти таблицы, разбивая их на схемы, инвертируя схемы, а затем умножая их вместе. Это крайне неэффективно по сравнению с transpose + replace, но если я собираюсь использовать transpose + replace, мне нужно правило знака.