Dans Improved Simulation of Stabilizer Circuits par Aaronson et Gottesman, il est expliqué comment calculer un tableau décrivant les produits de tenseur de Pauli auxquels les X et Z observables de chaque qubit sont mappés lorsqu'un circuit de Clifford agit sur eux.
Voici un exemple de circuit de Clifford:
0: -------@-----------X---
| |
1: ---@---|---@---@---@---
| | | |
2: ---|---|---@---|-------
| | |
3: ---@---@-------Y-------
Et le tableau décrivant comment il agit sur les observables X et Z de chaque qubit:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ X_ __ Z_ |
| 1 | ZZ YZ Z_ ZZ |
| 2 | __ Z_ XZ __ |
| 3 | Z_ X_ __ XZ |
+------+---------------------+-
| sign | ++ ++ ++ ++ |
+------+---------------------+-
Chaque colonne du tableau décrit comment le circuit agit sur l'observable X (moitié gauche de la colonne) et Z observable (la moitié droite de la colonne) de chaque qubit. Par exemple, le côté gauche de la colonne 3 est Z, Z, _, X, ce qui signifie qu'une opération X3 (Pauli X sur le qubit 3) sur le côté droit du circuit équivaut à une opération Z1 * Z2 * X4 sur la main gauche côté du circuit. La ligne «signe» indique le signe du produit, ce qui est important si vous allez simuler une mesure (il vous indique si vous souhaitez inverser le résultat).
Vous pouvez également calculer le tableau pour l'inverse d'un circuit. Dans l'exemple de cas que j'ai donné, le tableau inverse est le suivant:
+---------------------+-
| 0 1 2 3 |
+------+---------------------+-
| 0 | XZ Y_ __ Z_ |
| 1 | _Z YZ Z_ _Z |
| 2 | __ Z_ XZ __ |
| 3 | Z_ Y_ __ XZ |
+------+---------------------+-
| sign | ++ -+ ++ ++ |
+------+---------------------+-
Les tableaux se ressemblent presque si vous transposez leurs lignes et colonnes. Mais les entrées ne sont pas exactement identiques. En plus de la transposition, vous devez encoder les lettres en bits ( _
= 00, X
= 01, Z
= 10, Y
= 11) puis échanger les bits du milieu puis décoder. Par exemple, ZZ code en 1010 qui passe en 1100 qui décode en Y_.
Ma question est la suivante: existe-t-il également une règle simple pour calculer les signes du tableau inverse?
Actuellement, j'inverse ces tableaux en les décomposant en circuits, en inversant les circuits, puis en les multipliant. C'est extrêmement inefficace par rapport à transposer + remplacer, mais si je veux utiliser transposer + remplacer, j'ai besoin d'une règle de signe.
la source
Réponses:
Il y a une représentation très proche de la représentation du tableau d'Aaronson (et Gottesman) , qui fonctionne non seulement pour les qubits mais pour les qudits de dimension finie arbitraire, qui fonctionne particulièrement bien pour les circuits purement Clifford ( c'est- à- dire au plus une mesure terminale).
Dans cette représentation alternative, on a des tableaux décrivant comment les opérateurs X et Z à qubit unique se transforment, avec des informations de phase, comme dans la représentation habituelle. Les colonnes décrivent spécifiquement les opérateurs Weyl multi-qubit, qui sont un sous-ensemble spécial des opérateurs Pauli. L'avantage de le faire est que le tableau n'est pas seulement un tableau de coefficients, mais un opérateur linéaire réel sur les vecteurs qui représentent les opérateurs et les phases de Weyl.
Il y a un petit hic. Pour les qubits, ces vecteurs ont des coefficients qui sont des entiers modulo 4 (correspondant à une double couverture des opérateurs Pauli à un seul qubit non triviaux par les opérateurs Weyl), plutôt que modulo 2. Je pense que c'est un petit prix à payer - bien que je peut être légèrement biaisé, car c'est mon propre résultat [ arXiv: 1102.3354 ]. Cependant, cela semble être une représentation quelque peu «naturelle»: Appleby a développé le cas spécial single-qubit ou qudit un peu plus tôt [ arXiv: quant-ph / 0412001 ] (quelque chose que j'aurais vraiment aimé savoir avant de passer deux ans recréant inutilement essentiellement les mêmes conventions).
En utilisant une telle représentation, du fait que le «tableau»MC d'un circuit de Clifford C est désormais une matrice réelle (et inversible) qui transforme des vecteurs, le tableau du circuit inverse C† est alors l'inverse M−1C du tableau. Ainsi, pour cette représentation étroitement liée au moins, la règle de calcul du tableau pour le circuit inverse est facile.
la source
Le désordre, bien sûr, vient du suivi des phases. Je suppose que les signes seront liés à un changement du nombre d'opérateurs Y dans chaque stabilisateur, mais je n'ai pas réussi à un traitement unifié. La réponse de Niel réussit probablement mieux à s'en occuper automatiquement.
la source