I was thinking about this problem of identifying a set of unitary operations (other than the identity operation) that commute with local pauli $\sigma_X$ and $\sigma_Z$ matrices, i.e. find $U$ such that $[U, \sigma_{X, i}] = [U, \sigma_{Z, i}] = 0 ~ \forall i \in [1, n]$. When considering only $\sigma_{X, i}$ or $\sigma_{Z, i}$, the problem is easy. However, when considering both operators, the problem gets increasingly hard, and I'm even wondering if that $U$ ever exists. If anyone could point me to right references or give me any insights, I'd be much appreciated!
2 Answers
TL;DR: The only $U$ that commutes with all $\sigma_{X,i}$ and all $\sigma_{Z,i}$ is a scalar multiple of identity. This follows from the Schur's lemma, but can also be shown using elementary linear algebra.
The set of $n$-fold tensor products of Pauli operators $\sigma_{P_1,1}\otimes\dots\otimes\sigma_{P_n,n}$ forms a basis $\mathcal{P}_n$ of the vector space of $2^n\times 2^n$ complex matrices, so any $n$-qubit unitary may be written as $$ U=\sum_{\sigma_k\in\mathcal{P}_n}a_k\sigma_k.\tag1 $$ We can use fact that the basis is orthogonal with respect to the Hilbert-Schmidt inner product to compute the coefficients in $(1)$ using $$ a_k=\frac{\mathrm{tr}(\sigma_kU)}{2^n}\tag2 $$ which can be checked by hitting $(1)$ with $\sigma_k$ and taking the trace.
Now, suppose that $\sigma_k$ anticommutes with $\sigma_{X,i}$ for some $i\in[1,n]$. Then $$ \begin{align} a_k&=\frac{\mathrm{tr}(\sigma_kU)}{2^n}\tag3\\ &=\frac{\mathrm{tr}(\sigma_k\sigma_{X,i}U\sigma_{X,i})}{2^n}\tag4\\ &=-\frac{\mathrm{tr}(\sigma_{X,i}\sigma_kU\sigma_{X,i})}{2^n}\tag5\\ &=-\frac{\mathrm{tr}(\sigma_kU)}{2^n}\tag6\\ &=-a_k\tag7 \end{align} $$ which means that $a_k=0$. The same is true for $\sigma_{Z,i}$. However, every non-identity Pauli operator $\sigma_k$ anticommutes with at least one operator of the form $\sigma_{X,i}$ or $\sigma_{Z,i}$. Therefore, all coefficients $a_k$ in $(1)$ other than the one corresponding to identity are zero and we conclude that $U=aI$ for some $a\in\mathbb{C}$ which by unitarity has $|a|=1$.
- 25,770
- 3
- 43
- 95
If $P$ commutes with $U$, that means $U$ conjugates $P$ into $P$.
$$ \begin{aligned} &([P, U] = 0) \\\equiv& (P U = U P) \\\equiv& (U^\dagger P U = P) \end{aligned}$$
In the stabilizer formalism, operations are defined by how they conjugate generators of the Pauli group. Typically these generators are chosen to be $X_q$ and $Z_q$ for each $q$ the operator acts on:
import stim
t = stim.Tableau.from_named_gate("CZ")
print(repr(t))
# stim.Tableau.from_conjugated_generators(
# xs=[
# stim.PauliString("+XZ"),
# stim.PauliString("+ZX"),
# ],
# zs=[
# stim.PauliString("+Z_"),
# stim.PauliString("+_Z"),
# ],
# )
The fact operations are defined this way betrays the answer to your question. If you tell me how $U$ conjugates $X_q$ and $Z_q$ for each $q$, you've told me the exact operation (up to global phase). The operation that conjugates every $X_q$ into $X_q$, and every $Z_q$ into $Z_q$, is the identity operation:
import stim
t = stim.Tableau.from_conjugated_generators(
xs=[
stim.PauliString("+X_"),
stim.PauliString("+_X"),
],
zs=[
stim.PauliString("+Z_"),
stim.PauliString("+_Z"),
],
)
print(t.to_unitary_matrix(endian='little'))
# [[1.+0.j 0.+0.j 0.+0.j 0.+0.j]
# [0.+0.j 1.+0.j 0.+0.j 0.+0.j]
# [0.+0.j 0.+0.j 1.+0.j 0.+0.j]
# [0.+0.j 0.+0.j 0.+0.j 1.+0.j]]
If you want a "proper" proof, I'd start by proving it for the single qubit case. Knowing $UX = XU$ and $UZ = ZU$ forces $U = \begin{bmatrix}a&0\\0&a\end{bmatrix}$. In the multi-qubit case this constraint broadcasts over the tensor product structure of the matrix; for example in the two qubit case you get this constraint:
$$\begin{bmatrix} a_1&0&\ast&\ast\\ 0&a_1&\ast&\ast\\ \ast&\ast&\ast&\ast\\ \ast&\ast&\ast&\ast\\ \end{bmatrix}$$
as well as this one:
$$\begin{bmatrix} \ast&\ast&\ast&\ast\\ \ast&\ast&\ast&\ast\\ \ast&\ast&a_2&0\\ \ast&\ast&0&a_2\\ \end{bmatrix}$$
and this one:
$$\begin{bmatrix} a_3&\ast&0&\ast\\ \ast&\ast&\ast&\ast\\ 0&\ast&a_3&\ast\\ \ast&\ast&\ast&\ast\\ \end{bmatrix}$$
and even ones like this one:
$$\begin{bmatrix} a_4&\ast&\ast&0\\ \ast&\ast&\ast&\ast\\ \ast&\ast&\ast&\ast\\ 0&\ast&\ast&a_4\\ \end{bmatrix}$$
The combination of all the constraints you can derive by broadcasting will force the whole operation to be the identity up to a scalar factor.
- 47,099
- 1
- 44
- 119