Gelen Sabitleyici Devrelerin Geliştirilmiş Simülasyon Aaronson ve Gottesman göre, bir tablo bir Clifford devresi bunların üzerine etki eden şekilde eşleştirilmemektedir olan Pauli tensör ürünleri X ve her QuBit gözlenebilir Z tarif hesaplamak nasıl açıklanmaktadır.
İşte bir Clifford devresi örneği:
0: -------@-----------X---
| |
1: ---@---|---@---@---@---
| | | |
2: ---|---|---@---|-------
| | |
3: ---@---@-------Y-------
Ve her bir kubitin X ve Z gözlemlenebilirlerine nasıl etki ettiğini açıklayan tablo:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ X_ __ Z_ |
| 1 | ZZ YZ Z_ ZZ |
| 2 | __ Z_ XZ __ |
| 3 | Z_ X_ __ XZ |
+------+---------------------+-
| sign | ++ ++ ++ ++ |
+------+---------------------+-
Tablonun her sütunu, devrenin her bir kubitin X gözlemlenebilir (sütunun sol yarısı) ve Z gözlemlenebilir (sütunun sağ yarısı) üzerinde nasıl hareket ettiğini açıklar. Örneğin, sütun 3'ün sol tarafı Z, Z, _, X olup, devrenin sağ tarafındaki bir X3 işlemi (qubit 3'te Pauli X), soldaki Z1 * Z2 * X4 işlemine eşdeğerdir devrenin tarafı. 'İşaret' satırı ürünün işaretini gösterir; bu, bir ölçümü simüle edecekseniz önemlidir (sonucu tersine çevirip çevirmeyeceğinizi söyler).
Bir devrenin tersi için de tabloyu hesaplayabilirsiniz. Verdiğim örnek durumda, ters tablo şudur:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ Y_ __ Z_ |
| 1 | _Z YZ Z_ _Z |
| 2 | __ Z_ XZ __ |
| 3 | Z_ Y_ __ XZ |
+------+---------------------+-
| sign | ++ -+ ++ ++ |
+------+---------------------+-
Satırlarını ve sütunlarını aktarırsanız tablolar hemen hemen aynı görünür . Ancak girişler tam olarak aynı değildir. Transpozisyona ek olarak, harfleri bitlere kodlamanız ( _
= 00, X
= 01, Z
= 10, Y
= 11) sonra orta bitleri değiştirip kodunu çözmeniz gerekir. Örneğin, ZZ 1010'a kodlar ve bu kod Y_ olarak kodlanan 1100'e geçer.
Benim sorum şu: Ters tablonun işaretlerini hesaplamak için de basit bir kural var mı?
Şu anda bu tabloları devrelere ayırarak, devreleri tersine çevirip, sonra tekrar bir araya getirerek tersine çeviriyorum. Transpose + replace'e kıyasla son derece verimsiz, ancak transpose + replace kullanacaksam bir işaret kuralına ihtiyacım var.