Finding the Clifford circuit that implement a particular mapping of Paulis strings

Denote $$P_N=\{\tau \}$$ the set of Pauli strings, composed out of tensor products of Pauli matrices $$\sigma_i^\alpha$$ acting on $$N$$ qubits, e.g. $$\tau=\sigma^x_1 \otimes \mathbb{1}_2 \otimes \sigma^y_3 \otimes \cdots \otimes \mathbb{1}_N$$.

Consider a mapping from a subset of $$P_N$$ to another subset of $$P_N$$. eg :

$$11 \rightarrow 11 \\ XX \rightarrow ZY\\ YY \rightarrow YX\\ ZZ \rightarrow XZ$$

Is there a systematic way to construct the Clifford circuit that implements a mapping between Pauli strings ? (Assuming this mapping is unitary)

The example above is implemented by a Hadamard gate on the first qubit and a S gate on the second one.

• As you said you can transform $X \to Z$ and $Z \to X$ with a Hadamard gate. For $X \to Y$ use $S$ for $Y \to X$ use $S^†$. Finally we can do $Z \to Y$ and $Y \to Z$ with $V$ and $V^†$ gates. Commented Jun 20, 2023 at 18:43
• @Callum ok this works for single qubit gates. But some mappings are impossible to realize with single qubit gates. Consider X1 -> XX. This cannot be implemented with single qubit gates since 1->X is not trace preserving. A CNOT can do X1 -> XX. Commented Jun 20, 2023 at 18:50

Tableaus use a mapping where the inputs are the generators $$X_q$$ and $$Z_q$$ for each qubit $$q$$. To turn an arbitrary mapping that doesn't use these generators into a tableau, you can take one of the flows like $$A \rightarrow B$$ and add an intermediate step that is one of the generators like $$A \rightarrow X_0 \rightarrow B$$. When picking these intermediate states you must pick intermediates with the same commutation relationships between each other as the inputs (and also outputs) have between each other. This basically comes down to identifying the anticommuting pairs. If there aren't anticommuting pairs, it's not immediately clear to me how to get them into a standard form but should be doable... somhow... Anyways, once you've picked intermediates you can split each step into like $$(X_0 \rightarrow A)^{-1}$$ and $$X_0 \rightarrow B$$, which are both of the "coming from the usual generators" form. So you can make one tableau $$T_{in}$$ that sends $$X_q$$, $$Z_q$$ to your inputs, and another tableau $$T_{out}$$ that sends $$X_q$$, $$Z_q$$ to your outputs, then get your mapping as a tableau by computing $$T = T_{out} \cdot T_{in}^{-1}$$.