在Aaronson和Gottesman 的“稳定器电路的改进仿真”中,解释了如何计算一个表,该表描述了当Clifford电路作用于每个Pauli张量积时,每个量子位的X和Z可观察到的映射到哪个Pauli张量。
这里以Clifford电路为例:
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操作(量子位3上的Pauli X)等效于左侧的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,则需要一个符号规则。