Skip to main content
1 of 2
Adam Zalcman
  • 24.8k
  • 3
  • 38
  • 92

Phase damping channel is implemented in stim as Z_ERROR, see here. Amplitude damping is not supported in stim as explicitly stated in limitations

stim.Circuit only supports Pauli noise channels (eg. no amplitude decay). For more complex noise you must manually drive a stim.TableauSimulator.

In fact, all noise channels currently supported by stim are Pauli channels. In particular, they are all unital$^1$ channels. Moreover, unitary gates are unital and the composition (and tensor product) of unital channels is a unital channel. On the other hand, amplitude damping is not, so no combination of unitary gates and stim noise channels can be used to implement the amplitude damping channel. However, we can exploit a collapsing gate such as reset.

Decay with $T_1=T_2$ is probabilistic reset

Let $\mathcal{A}_\gamma$ and $\mathcal{F}_\lambda$ denote the amplitude and phase damping channels, respectively $$ \begin{align} \mathcal{A}_\gamma(\rho)=E_\gamma\rho E_\gamma^\dagger+F_\gamma\rho F_\gamma^\dagger\tag1\\ \mathcal{F}_\lambda(\rho)=E_\lambda\rho E_\lambda^\dagger+G_\lambda\rho G_\lambda^\dagger\tag2 \end{align} $$ where $$ E_\alpha=\begin{bmatrix}1&0\\0&\sqrt{1-\alpha}\end{bmatrix}\quad F_\alpha=\begin{bmatrix}0&\sqrt{\alpha}\\0&0\end{bmatrix}\quad G_\alpha=\begin{bmatrix}0&0\\0&\sqrt{\alpha}\end{bmatrix}\tag3 $$ and $\gamma=1-e^{-t/T_1}$ and $\lambda=1-e^{-t/T_2}$ with $t>0$. Setting $\rho:=\begin{bmatrix}a&b\\b^*&c\end{bmatrix}$, we have $$ \begin{align} \mathcal{A}_\gamma(\rho)&=\begin{bmatrix}a+\gamma c&\sqrt{1-\gamma}b\\\sqrt{1-\gamma}b^*&(1-\gamma)c\end{bmatrix}\tag4\\ \mathcal{F}_\lambda(\rho)&=\begin{bmatrix}a&\sqrt{1-\lambda}b\\\sqrt{1-\lambda}b^*&c\end{bmatrix}\tag5 \end{align} $$ so $\mathcal{A}_\gamma$ and $\mathcal{F}_\lambda$ commute and $$ \begin{align} \mathcal{A}_\gamma(\mathcal{F}_\lambda(\rho))&=\begin{bmatrix}a+\gamma c&\sqrt{(1-\gamma)(1-\lambda)}b\\\sqrt{(1-\gamma)(1-\lambda)}b^*&(1-\gamma)c\end{bmatrix}.\tag6 \end{align} $$ Now, assume for a moment that $T_1=T_2$. Then $\gamma=\lambda=:p$ and $$ \begin{align} \mathcal{A}_p(\mathcal{F}_p(\rho))&=\begin{bmatrix}a+pc&(1-p)b\\(1-p)b^*&(1-p)c\end{bmatrix},\tag7 \end{align} $$ which is the probabilistic reset channel $$ \mathcal{R}_p(\rho)=(1-p)\rho+p\mathcal{A}_1(\rho).\tag8 $$ Stim doesn't currently support it directly, but it should be doable with small code changes to the reset gate or by manually driving stim.TableauSimulator (if the circuit is very tiny or if the reset probability $p$ is small and an approximate solution up to a fixed order in $p$ is acceptable then one could even try generating a bunch of randomized stim files with and without reset and combining simulation results, but I recommend against this). With luck the extra gate might even be supported in a future stim release.

General case

Returning to the general case $T_1\ne T_2$, set $\kappa:=1-\frac{1-\lambda}{1-\gamma}=1-\exp\left(\frac{t}{T_1}-\frac{t}{T_2}\right)$. One might hope that $$ \mathcal{A}_\gamma\circ\mathcal{F}_\lambda=\mathcal{A}_\gamma\circ\mathcal{F}_\gamma\circ\mathcal{F}_\kappa=\mathcal{R}_\gamma\circ\mathcal{F}_\kappa\tag9 $$ but $\mathcal{F}_\kappa$ is not a quantum channel if $\kappa<0$. However, in practice $T_1$ is often greater than $T_2$. For example, according to this post on IBM Research Blog

$$ \begin{array}{c|c|c|c} & \text{Tenerife} & \text{Tokyo} & \text{Poughkeepsie} & \text{IBM Q System One}\\ \hline \text{mean}\,\,T_1 & 51.1\mu s & 84.3\mu s & 73.2\mu s & 73.9\mu s\\ \text{mean}\,\,T_2 & 25.9\mu s & 49.6\mu s & 66.2\mu s & 69.1\mu s \end{array} $$ Similarly, Rigetti's Aspen-M-2 shows $T_1=26\mu s$ and $T_2=18\mu s$ right now. And if $T_1>T_2$, then $\gamma<\lambda$ and $\kappa>0$, so $\mathcal{F}_\kappa$ is in fact a quantum channel.

We conclude that if $T_1\geqslant T_2$ then the combined amplitude and phase damping channel can be realized in stim using probabilistic reset and Z_ERROR.

We leave the exact construction for the case $T_1<T_2$ unresolved for now. An approximate way of dealing with this case is to use a Pauli channel that yields the same gate error rate as the decay.


$^1$ A quantum channel is called unital if it sends identity to identity.

Adam Zalcman
  • 24.8k
  • 3
  • 38
  • 92