QuantumCore

Lesson 51 · 90 min · advanced

Noise, Decoherence, $T_1$ and $T_2$

Loading progress…

A real qubit is never isolated: it exchanges energy and information with its surroundings, and its state evolves by a quantum channel rather than a unitary. This lesson derives the Kraus representation E(ρ)=∑kKkρKk†\mathcal E(\rho)=\sum_kK_k\rho K_k^\dagger from a unitary interaction with an environment (Stinespring dilation), proves that every Kraus map is completely positive and trace preserving, and derives from explicit environment models the three channels that dominate NISQ hardware: amplitude damping (energy relaxation, T1T_1), phase damping (pure dephasing) and the depolarizing channel. It turns them into Bloch-vector dynamics, rz(t)=1−(1−rz(0))e−t/T1r_z(t)=1-(1-r_z(0))e^{-t/T_1} and rx,y(t)=rx,y(0)e−t/T2r_{x,y}(t)=r_{x,y}(0)e^{-t/T_2} with 1T2=12T1+1Tφ\frac1{T_2}=\frac1{2T_1}+\frac1{T_\varphi}, which forces T2≤2T1T_2\le2T_1, and it computes exactly how local depolarizing noise degrades a Bell pair, F=14(1+3f2)F=\tfrac14(1+3f^2) with f=1−4p3f=1-\tfrac{4p}3.

Prerequisites: Density Operators: Pure vs Mixed, The Bloch Sphere

Objectives and key results
  • Derive the Kraus form E(ρ)=∑kKkρKk†\mathcal E(\rho)=\sum_kK_k\rho K_k^\dagger, Kk=⟨k∣EU∣0⟩EK_k=\langle k\rvert_EU\lvert0\rangle_E, of a system that interacts unitarily with an environment, prove ∑kKk†Kk=I\sum_kK_k^\dagger K_k=I from U†U=IU^\dagger U=I, and prove that every Kraus map with this completeness relation is completely positive and trace preserving.

  • Derive the amplitude-damping channel from an excitation-exchanging interaction, compute its action on an arbitrary ρ\rho, and connect it to the decay law ρ11(t)=e−t/T1ρ11(0)\rho_{11}(t)=e^{-t/T_1}\rho_{11}(0) through γ(t)=1−e−t/T1\gamma(t)=1-e^{-t/T_1} and the semigroup law 1−γ=(1−γ1)(1−γ2)1-\gamma=(1-\gamma_1)(1-\gamma_2).

  • Derive phase damping from a controlled rotation of the environment, show that it only multiplies coherences by 1−λ\sqrt{1-\lambda}, and prove its equivalence with the phase-flip channel by the unitary freedom of Kraus operators.

  • Translate the channels into Bloch-vector dynamics, define T1T_1, T2T_2 and TφT_\varphi, prove T2≤2T1T_2\le2T_1, and construct the thermal-relaxation channel used by the simulator.

  • Derive the depolarizing channel E(ρ)=(1−4p3)ρ+4p3I2\mathcal E(\rho)=\big(1-\tfrac{4p}3\big)\rho+\tfrac{4p}3\tfrac I2 from the identity ∑PPAP=2 Tr(A) I\sum_PPAP=2\,\mathrm{Tr}(A)\,I, convert between the PennyLane and Qiskit parametrisations, and recognise that different channels can agree on one input state.

  • Compute the fidelity and the entanglement of a Bell pair after local depolarizing noise exactly, and simulate noisy circuits with the density-matrix backend.

theorem · Stinespring dilation and Kraus operators
E(ρ)=TrE[U(ρ⊗∣0⟩⟨0∣E)U†]=∑kKkρKk†,Kk=⟨k∣EU∣0⟩E,∑kKk†Kk=I\mathcal E(\rho)=\mathrm{Tr}_E\big[U(\rho\otimes\lvert0\rangle\langle0\rvert_E)U^\dagger\big]=\sum_kK_k\rho K_k^\dagger,\qquad K_k=\langle k\rvert_EU\lvert0\rangle_E,\qquad\sum_kK_k^\dagger K_k=I
formula · Amplitude damping
ρ↦(ρ00+γρ111−γ ρ011−γ ρ10(1−γ)ρ11),γ(t)=1−e−t/T1\rho\mapsto\begin{pmatrix}\rho_{00}+\gamma\rho_{11}&\sqrt{1-\gamma}\,\rho_{01}\\\sqrt{1-\gamma}\,\rho_{10}&(1-\gamma)\rho_{11}\end{pmatrix},\qquad\gamma(t)=1-e^{-t/T_1}
formula · Bloch-vector relaxation
rz(t)=1−(1−rz(0))e−t/T1,rx,y(t)=rx,y(0) e−t/T2,1T2=12T1+1Tφ ⇒ T2≤2T1r_z(t)=1-\big(1-r_z(0)\big)e^{-t/T_1},\qquad r_{x,y}(t)=r_{x,y}(0)\,e^{-t/T_2},\qquad\frac1{T_2}=\frac1{2T_1}+\frac1{T_\varphi}\ \Rightarrow\ T_2\le2T_1
identity · Pauli twirl and the depolarizing channel
∑P∈{I,X,Y,Z}PAP=2 Tr(A) I,Dp(ρ)=(1−4p3)ρ+4p3 I2\sum_{P\in\{I,X,Y,Z\}}PAP=2\,\mathrm{Tr}(A)\,I,\qquad\mathcal D_p(\rho)=\Big(1-\frac{4p}3\Big)\rho+\frac{4p}3\,\frac I2
formula · Bell pair under local depolarizing noise
(Dp⊗Dp)(∣Φ+⟩⟨Φ+∣)=14(II+f2(XX−YY+ZZ)),F=1+3f24,f=1−4p3(\mathcal D_p\otimes\mathcal D_p)\big(\lvert\Phi^+\rangle\langle\Phi^+\rvert\big)=\tfrac14\big(II+f^2(XX-YY+ZZ)\big),\qquad F=\frac{1+3f^2}4,\qquad f=1-\frac{4p}3

Open systems and quantum channels#

Every circuit so far was a sequence of unitaries acting on an isolated register. Physical qubits are not isolated. A superconducting transmon couples to the electromagnetic modes of its readout resonator and to two-level defects in its substrate, and a trapped ion scatters photons from stray light. Each such coupling correlates the qubit with degrees of freedom that we neither control nor measure. Once the qubit is entangled with them, its own state is the reduced density matrix obtained by tracing them out, and it is in general mixed, even if the joint evolution is unitary. This loss of coherence to an unobserved environment is decoherence. On noisy intermediate-scale (NISQ) hardware it limits the depth of every circuit, including the variational circuits of the previous modules. A model whose expressive layers need more time than the coherence time of the device produces outputs close to the maximally mixed state, whatever its parameters.

The mathematical object that replaces the unitary is the quantum channel. We first characterise channels abstractly, then derive their Kraus form from a unitary model of system plus environment, and finally build the three channels that describe most hardware noise.

Definition

Quantum channel (CPTP map) and Kraus representation

A linear map E\mathcal E from operators on Cd\mathbb C^{d} to operators on Cd′\mathbb C^{d'} is a quantum channel if it is

  • trace preserving: Tr E(A)=Tr A\mathrm{Tr}\,\mathcal E(A)=\mathrm{Tr}\,A for every operator AA, and
  • completely positive: for every ancilla dimension mm the extended map E⊗idm\mathcal E\otimes\mathrm{id}_m sends positive semidefinite operators on Cd⊗Cm\mathbb C^d\otimes\mathbb C^m to positive semidefinite operators.

A channel in Kraus form is E(ρ)=∑k=0r−1KkρKk†\mathcal E(\rho)=\sum_{k=0}^{r-1}K_k\rho K_k^\dagger with d′×dd'\times d matrices KkK_k, the Kraus operators, satisfying the completeness relation ∑kKk†Kk=Id\sum_kK_k^\dagger K_k=I_d. A unitary gate is the special case of a single Kraus operator K0=UK_0=U. Complete positivity, rather than positivity alone, is required because the qubit may be entangled with other qubits that the channel does not touch: the joint state must remain a valid density matrix.

Theorem

From a unitary on system and environment to Kraus operators

Let a system SS with Hilbert space Cd\mathbb C^d interact with an environment EE with orthonormal basis {∣k⟩E}k=0r−1\{\lvert k\rangle_E\}_{k=0}^{r-1} through a unitary UU on Cd⊗Cr\mathbb C^d\otimes\mathbb C^r, with the environment initially in ∣0⟩E\lvert0\rangle_E. Then the reduced evolution of the system is

E(ρ)=TrE[U(ρ⊗∣0⟩⟨0∣E)U†]=∑k=0r−1KkρKk†,Kk=(I⊗⟨k∣E) U (I⊗∣0⟩E),\mathcal E(\rho)=\mathrm{Tr}_E\big[U(\rho\otimes\lvert0\rangle\langle0\rvert_E)U^\dagger\big]=\sum_{k=0}^{r-1}K_k\rho K_k^\dagger,\qquad K_k=\big(I\otimes\langle k\rvert_E\big)\,U\,\big(I\otimes\lvert0\rangle_E\big),

the matrix elements of the Kraus operators are (Kk)ij=⟨i,k∣U∣j,0⟩(K_k)_{ij}=\langle i,k\vert U\vert j,0\rangle, and they satisfy ∑kKk†Kk=I\sum_kK_k^\dagger K_k=I.

Proof (7 steps)
  1. Step 1:
    TrE[M]=∑k=0r−1(I⊗⟨k∣E) M (I⊗∣k⟩E)\mathrm{Tr}_E[M]=\sum_{k=0}^{r-1}\big(I\otimes\langle k\rvert_E\big)\,M\,\big(I\otimes\lvert k\rangle_E\big)
    Definition of the partial trace over EE in the orthonormal basis {∣k⟩E}\{\lvert k\rangle_E\}; here I⊗∣k⟩EI\otimes\lvert k\rangle_E is the isometry ∣v⟩↦∣v⟩⊗∣k⟩E\lvert v\rangle\mapsto\lvert v\rangle\otimes\lvert k\rangle_E from Cd\mathbb C^d to Cd⊗Cr\mathbb C^d\otimes\mathbb C^r.
  2. Step 2:
    ρ⊗∣0⟩⟨0∣E=(I⊗∣0⟩E) ρ (I⊗⟨0∣E)\rho\otimes\lvert0\rangle\langle0\rvert_E=\big(I\otimes\lvert0\rangle_E\big)\,\rho\,\big(I\otimes\langle0\rvert_E\big)
    Both sides send ∣v⟩⊗∣e⟩\lvert v\rangle\otimes\lvert e\rangle to ρ∣v⟩⊗∣0⟩⟨0∣e⟩\rho\lvert v\rangle\otimes\lvert0\rangle\langle0\vert e\rangle, and product vectors span the space.
  3. Step 3:
    E(ρ)=∑k(I⊗⟨k∣)U(I⊗∣0⟩) ρ (I⊗⟨0∣)U†(I⊗∣k⟩)=∑kKk ρ Kk†\mathcal E(\rho)=\sum_k\big(I\otimes\langle k\rvert\big)U\big(I\otimes\lvert0\rangle\big)\,\rho\,\big(I\otimes\langle0\rvert\big)U^\dagger\big(I\otimes\lvert k\rangle\big)=\sum_kK_k\,\rho\,K_k^\dagger
    Insert the second line into the first; the right factor is the adjoint of KkK_k because [(I⊗⟨k∣)U(I⊗∣0⟩)]†=(I⊗⟨0∣)U†(I⊗∣k⟩)\big[(I\otimes\langle k\rvert)U(I\otimes\lvert0\rangle)\big]^\dagger=(I\otimes\langle0\rvert)U^\dagger(I\otimes\lvert k\rangle).
  4. Step 4:
    (Kk)ij=⟨i∣Kk∣j⟩=(⟨i∣⊗⟨k∣) U (∣j⟩⊗∣0⟩)=U(i,k),(j,0)(K_k)_{ij}=\langle i\rvert K_k\lvert j\rangle=\big(\langle i\rvert\otimes\langle k\rvert\big)\,U\,\big(\lvert j\rangle\otimes\lvert0\rangle\big)=U_{(i,k),(j,0)}
    Matrix elements in the product basis ∣i,k⟩=∣i⟩S⊗∣k⟩E\lvert i,k\rangle=\lvert i\rangle_S\otimes\lvert k\rangle_E: the Kraus operator KkK_k is the d×dd\times d block of UU with environment output kk and environment input 00.
  5. Step 5:
    (∑kKk†Kk)jj′=∑k∑i(Kk)ij‾ (Kk)ij′=∑(i,k)U(i,k),(j,0)‾ U(i,k),(j′,0)\Big(\sum_kK_k^\dagger K_k\Big)_{jj'}=\sum_k\sum_{i}\overline{(K_k)_{ij}}\,(K_k)_{ij'}=\sum_{(i,k)}\overline{U_{(i,k),(j,0)}}\,U_{(i,k),(j',0)}
    Matrix product (K†K)jj′=∑iKij‾Kij′(K^\dagger K)_{jj'}=\sum_i\overline{K_{ij}}K_{ij'}, then the previous line; the double sum over ii and kk runs over all rows (i,k)(i,k) of UU.
  6. Step 6:
    =∑(i,k)(U†)(j,0),(i,k) U(i,k),(j′,0)=(U†U)(j,0),(j′,0)=δjj′=\sum_{(i,k)}\big(U^\dagger\big)_{(j,0),(i,k)}\,U_{(i,k),(j',0)}=\big(U^\dagger U\big)_{(j,0),(j',0)}=\delta_{jj'}
    Uab‾=(U†)ba\overline{U_{ab}}=(U^\dagger)_{ba}, the sum is the matrix product of U†U^\dagger and UU, and U†U=IU^\dagger U=I.
  7. Step 7:
    ∑kKk†Kk=Id⟹Tr E(ρ)=Tr(∑kKk†Kk ρ)=Tr ρ\sum_kK_k^\dagger K_k=I_d\quad\Longrightarrow\quad\mathrm{Tr}\,\mathcal E(\rho)=\mathrm{Tr}\Big(\sum_kK_k^\dagger K_k\,\rho\Big)=\mathrm{Tr}\,\rho
    The previous line holds for all j,j′j,j'; trace preservation then follows from the cyclicity of the trace.

∎

Theorem

Every Kraus map is completely positive and trace preserving

If ∑kKk†Kk=I\sum_kK_k^\dagger K_k=I, then E(ρ)=∑kKkρKk†\mathcal E(\rho)=\sum_kK_k\rho K_k^\dagger is trace preserving and completely positive. Consequently it maps density matrices to density matrices, also when it acts on one part of an entangled state.

Proof (5 steps)
  1. Step 1:
    Tr E(A)=∑kTr(KkAKk†)=∑kTr(Kk†KkA)=Tr((∑kKk†Kk)A)=Tr A\mathrm{Tr}\,\mathcal E(A)=\sum_k\mathrm{Tr}\big(K_kAK_k^\dagger\big)=\sum_k\mathrm{Tr}\big(K_k^\dagger K_kA\big)=\mathrm{Tr}\Big(\big(\textstyle\sum_kK_k^\dagger K_k\big)A\Big)=\mathrm{Tr}\,A
    Linearity and cyclicity of the trace, then the completeness relation; this holds for every operator AA, not only for density matrices.
  2. Step 2:
    (E⊗idm)(A⊗B)=E(A)⊗B=∑k(Kk⊗Im)(A⊗B)(Kk⊗Im)†(\mathcal E\otimes\mathrm{id}_m)(A\otimes B)=\mathcal E(A)\otimes B=\sum_k(K_k\otimes I_m)(A\otimes B)(K_k\otimes I_m)^\dagger
    Definition of the extended map on product operators, and (K⊗I)(A⊗B)(K†⊗I)=KAK†⊗B(K\otimes I)(A\otimes B)(K^\dagger\otimes I)=KAK^\dagger\otimes B.
  3. Step 3:
    (E⊗idm)(Ω)=∑k(Kk⊗Im) Ω (Kk⊗Im)†for every operator Ω(\mathcal E\otimes\mathrm{id}_m)(\Omega)=\sum_k(K_k\otimes I_m)\,\Omega\,(K_k\otimes I_m)^\dagger\quad\text{for every operator }\Omega
    Product operators span all operators on Cd⊗Cm\mathbb C^d\otimes\mathbb C^m and both sides are linear in Ω\Omega.
  4. Step 4:
    ⟨v∣(Kk⊗I) Ω (Kk⊗I)†∣v⟩=⟨wk∣Ω∣wk⟩≥0,∣wk⟩=(Kk⊗I)†∣v⟩\langle v\rvert(K_k\otimes I)\,\Omega\,(K_k\otimes I)^\dagger\lvert v\rangle=\langle w_k\vert\Omega\vert w_k\rangle\ge0,\qquad\lvert w_k\rangle=(K_k\otimes I)^\dagger\lvert v\rangle
    For Ω⪰0\Omega\succeq0 each term is positive semidefinite: its expectation value in any vector ∣v⟩\lvert v\rangle is an expectation value of Ω\Omega.
  5. Step 5:
    Ω⪰0 ⟹ (E⊗idm)(Ω)=∑k(⋯ )⪰0for all m\Omega\succeq0\ \Longrightarrow\ (\mathcal E\otimes\mathrm{id}_m)(\Omega)=\sum_k(\cdots)\succeq0\qquad\text{for all }m
    A sum of positive semidefinite operators is positive semidefinite, and mm was arbitrary: E\mathcal E is completely positive.

∎

Quick check

Which of these sets of single-qubit operators is a valid Kraus set of a quantum channel?

Select one answer

Amplitude damping and energy relaxation#

The excited state ∣1⟩\lvert1\rangle of a qubit has a higher energy than the ground state ∣0⟩\lvert0\rangle. At low temperature the qubit can lose this energy to its environment (by emitting a photon into a transmission line, or a phonon into the substrate) but practically never gains it back. Model the environment as a second two-level system that starts in its ground state ∣0⟩E\lvert0\rangle_E. The interaction conserves the total number of excitations: ∣0⟩∣0⟩E\lvert0\rangle\lvert0\rangle_E has none and stays unchanged, while the one excitation of ∣1⟩∣0⟩E\lvert1\rangle\lvert0\rangle_E is transferred to the environment with probability γ\gamma,

U∣0⟩∣0⟩E=∣0⟩∣0⟩E,U∣1⟩∣0⟩E=1−γ ∣1⟩∣0⟩E+γ ∣0⟩∣1⟩E.U\lvert0\rangle\lvert0\rangle_E=\lvert0\rangle\lvert0\rangle_E,\qquad U\lvert1\rangle\lvert0\rangle_E=\sqrt{1-\gamma}\,\lvert1\rangle\lvert0\rangle_E+\sqrt\gamma\,\lvert0\rangle\lvert1\rangle_E .

These two columns extend to a unitary by rotating the one-excitation subspace {∣01⟩,∣10⟩}\{\lvert01\rangle,\lvert10\rangle\} by the angle ϑ\vartheta with cos⁡ϑ=1−γ\cos\vartheta=\sqrt{1-\gamma}, like a beam splitter of transmissivity 1−γ1-\gamma. The matrix below is this UU for γ=0.36\gamma=0.36, in the basis ∣00⟩,∣01⟩,∣10⟩,∣11⟩\lvert00\rangle,\lvert01\rangle,\lvert10\rangle,\lvert11\rangle with the system first. The two columns we fixed are the first and the third.

U=(100001−γγ00−γ1−γ00001)=(100000.80.600−0.60.800001)U=\begin{pmatrix}1&0&0&0\\0&\sqrt{1-\gamma}&\sqrt\gamma&0\\0&-\sqrt\gamma&\sqrt{1-\gamma}&0\\0&0&0&1\end{pmatrix}=\begin{pmatrix}1&0&0&0\\0&0.8&0.6&0\\0&-0.6&0.8&0\\0&0&0&1\end{pmatrix}
Excitation-exchanging dilation of amplitude damping, γ = 0.364×4

Unitary verified: U†U=IU^\dagger U = I (max deviation 0.0e+0)

Derivation

Kraus operators and action of amplitude damping

  1. Step 1:
    K0∣0⟩=⟨0∣EU∣0⟩∣0⟩E=∣0⟩,K0∣1⟩=⟨0∣EU∣1⟩∣0⟩E=1−γ ∣1⟩K_0\lvert0\rangle=\langle0\rvert_EU\lvert0\rangle\lvert0\rangle_E=\lvert0\rangle,\qquad K_0\lvert1\rangle=\langle0\rvert_EU\lvert1\rangle\lvert0\rangle_E=\sqrt{1-\gamma}\,\lvert1\rangle
    Kraus operator K0=⟨0∣EU∣0⟩EK_0=\langle0\rvert_EU\lvert0\rangle_E of the dilation theorem, evaluated on the two basis states with the defining columns of UU.
  2. Step 2:
    K0=∣0⟩⟨0∣+1−γ ∣1⟩⟨1∣=(1001−γ)K_0=\lvert0\rangle\langle0\rvert+\sqrt{1-\gamma}\,\lvert1\rangle\langle1\rvert=\begin{pmatrix}1&0\\0&\sqrt{1-\gamma}\end{pmatrix}
    A linear map is determined by its action on a basis.
  3. Step 3:
    K1∣0⟩=⟨1∣EU∣0⟩∣0⟩E=0,K1∣1⟩=⟨1∣EU∣1⟩∣0⟩E=γ ∣0⟩ ⇒ K1=γ ∣0⟩⟨1∣=(0γ00)K_1\lvert0\rangle=\langle1\rvert_EU\lvert0\rangle\lvert0\rangle_E=0,\quad K_1\lvert1\rangle=\langle1\rvert_EU\lvert1\rangle\lvert0\rangle_E=\sqrt\gamma\,\lvert0\rangle\ \Rightarrow\ K_1=\sqrt\gamma\,\lvert0\rangle\langle1\rvert=\begin{pmatrix}0&\sqrt\gamma\\0&0\end{pmatrix}
    Same computation for environment outcome k=1k=1: only the decay branch leaves an excitation in the environment.
  4. Step 4:
    K0†K0+K1†K1=(1001−γ)+γ ∣1⟩⟨0∣0⟩⟨1∣=(1001−γ)+(000γ)=IK_0^\dagger K_0+K_1^\dagger K_1=\begin{pmatrix}1&0\\0&1-\gamma\end{pmatrix}+\gamma\,\lvert1\rangle\langle0\vert0\rangle\langle1\rvert=\begin{pmatrix}1&0\\0&1-\gamma\end{pmatrix}+\begin{pmatrix}0&0\\0&\gamma\end{pmatrix}=I
    Completeness, as guaranteed by the dilation theorem: K1†=γ∣1⟩⟨0∣K_1^\dagger=\sqrt\gamma\lvert1\rangle\langle0\rvert.
  5. Step 5:
    K0ρK0†=(ρ001−γ ρ011−γ ρ10(1−γ)ρ11),K1ρK1†=γ ∣0⟩⟨1∣ρ∣1⟩⟨0∣=(γρ11000)K_0\rho K_0^\dagger=\begin{pmatrix}\rho_{00}&\sqrt{1-\gamma}\,\rho_{01}\\\sqrt{1-\gamma}\,\rho_{10}&(1-\gamma)\rho_{11}\end{pmatrix},\qquad K_1\rho K_1^\dagger=\gamma\,\lvert0\rangle\langle1\rvert\rho\lvert1\rangle\langle0\rvert=\begin{pmatrix}\gamma\rho_{11}&0\\0&0\end{pmatrix}
    For a diagonal K0=diag(1,a)K_0=\mathrm{diag}(1,a) the entries are (K0ρK0†)ij=aiajρij(K_0\rho K_0^\dagger)_{ij}=a_ia_j\rho_{ij} with a0=1a_0=1, a1=1−γa_1=\sqrt{1-\gamma}; and ⟨1∣ρ∣1⟩=ρ11\langle1\rvert\rho\lvert1\rangle=\rho_{11}.
  6. Step 6:
    Aγ(ρ)=(ρ00+γρ111−γ ρ011−γ ρ10(1−γ)ρ11)\mathcal A_\gamma(\rho)=\begin{pmatrix}\rho_{00}+\gamma\rho_{11}&\sqrt{1-\gamma}\,\rho_{01}\\\sqrt{1-\gamma}\,\rho_{10}&(1-\gamma)\rho_{11}\end{pmatrix}
    Sum of the two terms. The fraction γ\gamma of the excited population moves to ∣0⟩\lvert0\rangle; the coherence shrinks by 1−γ\sqrt{1-\gamma}, not by 1−γ1-\gamma.

Result

Aγ:ρ11↦(1−γ)ρ11,ρ01↦1−γ ρ01,Aγ(∣1⟩⟨1∣)=γ∣0⟩⟨0∣+(1−γ)∣1⟩⟨1∣\boxed{\mathcal A_\gamma:\quad\rho_{11}\mapsto(1-\gamma)\rho_{11},\qquad\rho_{01}\mapsto\sqrt{1-\gamma}\,\rho_{01},\qquad\mathcal A_\gamma(\lvert1\rangle\langle1\rvert)=\gamma\lvert0\rangle\langle0\rvert+(1-\gamma)\lvert1\rangle\langle1\rvert}

The parameter γ\gamma is a probability per idle period. Experiments instead report a rate. If the qubit is prepared in ∣1⟩\lvert1\rangle and left alone, the probability of still finding it excited decays exponentially, P1(t)=e−t/T1P_1(t)=e^{-t/T_1}, where T1T_1 is the energy-relaxation time. Microscopically the exponential law follows from a weak, memoryless (Markovian) coupling to a broadband environment: in every short interval dt\mathrm dt the excited population decays with probability dt/T1\mathrm dt/T_1, independently of the past. The next theorem shows that this is exactly what a family of amplitude-damping channels with a time-dependent γ(t)\gamma(t) describes.

Theorem

Energy relaxation: γ(t) = 1 − e^{−t/T₁} and the semigroup law

Suppose the excited population of an idling qubit obeys ρ˙11=−ρ11/T1\dot\rho_{11}=-\rho_{11}/T_1. Then idling for a time tt is the amplitude-damping channel Aγ(t)\mathcal A_{\gamma(t)} with γ(t)=1−e−t/T1\gamma(t)=1-e^{-t/T_1}. Moreover Aγ2∘Aγ1=Aγ\mathcal A_{\gamma_2}\circ\mathcal A_{\gamma_1}=\mathcal A_\gamma with 1−γ=(1−γ1)(1−γ2)1-\gamma=(1-\gamma_1)(1-\gamma_2), so that Aγ(t2)∘Aγ(t1)=Aγ(t1+t2)\mathcal A_{\gamma(t_2)}\circ\mathcal A_{\gamma(t_1)}=\mathcal A_{\gamma(t_1+t_2)}, and coherences decay as ρ01(t)=e−t/(2T1)ρ01(0)\rho_{01}(t)=e^{-t/(2T_1)}\rho_{01}(0).

Proof (7 steps)
  1. Step 1:
    ddt(et/T1ρ11(t))=et/T1(ρ˙11+ρ11T1)=0 ⟹ ρ11(t)=e−t/T1ρ11(0)\frac{\mathrm d}{\mathrm dt}\Big(e^{t/T_1}\rho_{11}(t)\Big)=e^{t/T_1}\Big(\dot\rho_{11}+\frac{\rho_{11}}{T_1}\Big)=0\ \Longrightarrow\ \rho_{11}(t)=e^{-t/T_1}\rho_{11}(0)
    Integrating factor for the linear equation ρ˙11=−ρ11/T1\dot\rho_{11}=-\rho_{11}/T_1.
  2. Step 2:
    Aγ: ρ11↦(1−γ)ρ11⟹1−γ(t)=e−t/T1,γ(t)=1−e−t/T1\mathcal A_\gamma:\ \rho_{11}\mapsto(1-\gamma)\rho_{11}\quad\Longrightarrow\quad1-\gamma(t)=e^{-t/T_1},\qquad\gamma(t)=1-e^{-t/T_1}
    Match the channel's action on the excited population with the solution of the rate equation for every initial ρ11(0)\rho_{11}(0).
  3. Step 3:
    ρ11→Aγ1(1−γ1)ρ11→Aγ2(1−γ2)(1−γ1)ρ11,ρ01↦1−γ21−γ1 ρ01\rho_{11}\xrightarrow{\mathcal A_{\gamma_1}}(1-\gamma_1)\rho_{11}\xrightarrow{\mathcal A_{\gamma_2}}(1-\gamma_2)(1-\gamma_1)\rho_{11},\qquad\rho_{01}\mapsto\sqrt{1-\gamma_2}\sqrt{1-\gamma_1}\,\rho_{01}
    Apply the action of amplitude damping twice; each step multiplies the excited population by 1−γi1-\gamma_i and the coherence by 1−γi\sqrt{1-\gamma_i}.
  4. Step 4:
    ρ00↦ρ00+γ1ρ11+γ2(1−γ1)ρ11=ρ00+(1−(1−γ1)(1−γ2))ρ11\rho_{00}\mapsto\rho_{00}+\gamma_1\rho_{11}+\gamma_2(1-\gamma_1)\rho_{11}=\rho_{00}+\big(1-(1-\gamma_1)(1-\gamma_2)\big)\rho_{11}
    The second channel adds γ2\gamma_2 times the excited population left by the first; expand γ1+γ2−γ1γ2=1−(1−γ1)(1−γ2)\gamma_1+\gamma_2-\gamma_1\gamma_2=1-(1-\gamma_1)(1-\gamma_2).
  5. Step 5:
    Aγ2∘Aγ1=Aγ,1−γ=(1−γ1)(1−γ2)\mathcal A_{\gamma_2}\circ\mathcal A_{\gamma_1}=\mathcal A_\gamma,\qquad1-\gamma=(1-\gamma_1)(1-\gamma_2)
    The three entries are those of Aγ\mathcal A_\gamma, since 1−γ21−γ1=(1−γ1)(1−γ2)\sqrt{1-\gamma_2}\sqrt{1-\gamma_1}=\sqrt{(1-\gamma_1)(1-\gamma_2)} for nonnegative factors.
  6. Step 6:
    (1−γ(t1))(1−γ(t2))=e−t1/T1e−t2/T1=e−(t1+t2)/T1=1−γ(t1+t2)\big(1-\gamma(t_1)\big)\big(1-\gamma(t_2)\big)=e^{-t_1/T_1}e^{-t_2/T_1}=e^{-(t_1+t_2)/T_1}=1-\gamma(t_1+t_2)
    Insert γ(t)\gamma(t): two idle periods compose to one idle period of the total length, the semigroup property of a Markovian process.
  7. Step 7:
    ρ01(t)=1−γ(t) ρ01(0)=e−t/(2T1)ρ01(0)\rho_{01}(t)=\sqrt{1-\gamma(t)}\,\rho_{01}(0)=e^{-t/(2T_1)}\rho_{01}(0)
    Coherence factor of the channel with γ(t)\gamma(t) inserted: energy relaxation alone destroys coherence at half the population rate.

∎

For example, a qubit with T1=80 μsT_1=80\,\mu\mathrm s prepared in ∣1⟩\lvert1\rangle and left idle for 20 μs20\,\mu\mathrm s undergoes amplitude damping with γ=1−e−0.25≈0.2212\gamma=1-e^{-0.25}\approx0.2212. It is found in ∣1⟩\lvert1\rangle with probability e−0.25≈0.7788e^{-0.25}\approx0.7788, and a superposition prepared at the start would keep the fraction e−0.125≈0.8825e^{-0.125}\approx0.8825 of its coherence. The semigroup law also shows that the order of slicing does not matter: a circuit that idles in two pieces of 10 μs10\,\mu\mathrm s suffers exactly the damping of one idle period of 20 μs20\,\mu\mathrm s.

Quick check

A qubit with T1=100 μsT_1=100\,\mu\mathrm s is prepared in ∣1⟩\lvert1\rangle. After how many microseconds of idling has the probability of measuring 11 dropped to 12\tfrac12?

tolerance ±0.1

Pure dephasing and phase flips#

Energy exchange is not the only way to lose coherence. Suppose the qubit scatters an environmental particle elastically, without exchanging energy, but the scattered particle ends up in a state that depends on whether the qubit was in ∣0⟩\lvert0\rangle or in ∣1⟩\lvert1\rangle. The populations then stay the same, but the environment now carries partial which-state information, and the superposition between ∣0⟩\lvert0\rangle and ∣1⟩\lvert1\rangle decays. The simplest model is a controlled rotation of an environment qubit:

U=∣0⟩⟨0∣⊗IE+∣1⟩⟨1∣⊗RY(ϑ)E,U∣1⟩∣0⟩E=∣1⟩(1−λ ∣0⟩E+λ ∣1⟩E),U=\lvert0\rangle\langle0\rvert\otimes I_E+\lvert1\rangle\langle1\rvert\otimes R_Y(\vartheta)_E,\qquad U\lvert1\rangle\lvert0\rangle_E=\lvert1\rangle\big(\sqrt{1-\lambda}\,\lvert0\rangle_E+\sqrt\lambda\,\lvert1\rangle_E\big),

with cos⁡ϑ2=1−λ\cos\frac\vartheta2=\sqrt{1-\lambda} and sin⁡ϑ2=λ\sin\frac\vartheta2=\sqrt\lambda. On the platform this is the gate CRY(0,1,ϑ)\mathrm{CRY}(0,1,\vartheta) with the system on qubit 00 and the environment on qubit 11. Fluctuations of the qubit frequency, for instance from flux noise in a transmon, have the same effect: they add a random phase to ∣1⟩\lvert1\rangle relative to ∣0⟩\lvert0\rangle, and averaging over the unknown phase damps the off-diagonal entries.

Derivation

Kraus operators and action of phase damping

  1. Step 1:
    U†U=∣0⟩⟨0∣⊗I+∣1⟩⟨1∣⊗RY(ϑ)†RY(ϑ)=IU^\dagger U=\lvert0\rangle\langle0\rvert\otimes I+\lvert1\rangle\langle1\rvert\otimes R_Y(\vartheta)^\dagger R_Y(\vartheta)=I
    UU is block diagonal in the system basis with unitary blocks II and RY(ϑ)R_Y(\vartheta), and the cross terms vanish because ⟨0∣1⟩=0\langle0\vert1\rangle=0.
  2. Step 2:
    K0=⟨0∣EU∣0⟩E=∣0⟩⟨0∣ ⟨0∣0⟩+∣1⟩⟨1∣ ⟨0∣RY(ϑ)∣0⟩=(100cos⁡ϑ2)=(1001−λ)K_0=\langle0\rvert_EU\lvert0\rangle_E=\lvert0\rangle\langle0\rvert\,\langle0\vert0\rangle+\lvert1\rangle\langle1\rvert\,\langle0\rvert R_Y(\vartheta)\lvert0\rangle=\begin{pmatrix}1&0\\0&\cos\frac\vartheta2\end{pmatrix}=\begin{pmatrix}1&0\\0&\sqrt{1-\lambda}\end{pmatrix}
    Kraus operator for environment outcome 00, with RY(ϑ)∣0⟩=cos⁡ϑ2∣0⟩+sin⁡ϑ2∣1⟩R_Y(\vartheta)\lvert0\rangle=\cos\frac\vartheta2\lvert0\rangle+\sin\frac\vartheta2\lvert1\rangle.
  3. Step 3:
    K1=⟨1∣EU∣0⟩E=∣1⟩⟨1∣ ⟨1∣RY(ϑ)∣0⟩=(000sin⁡ϑ2)=(000λ)K_1=\langle1\rvert_EU\lvert0\rangle_E=\lvert1\rangle\langle1\rvert\,\langle1\rvert R_Y(\vartheta)\lvert0\rangle=\begin{pmatrix}0&0\\0&\sin\frac\vartheta2\end{pmatrix}=\begin{pmatrix}0&0\\0&\sqrt\lambda\end{pmatrix}
    Environment outcome 11: only the branch in which the system is ∣1⟩\lvert1\rangle rotates the environment.
  4. Step 4:
    K0†K0+K1†K1=diag(1,1−λ)+diag(0,λ)=IK_0^\dagger K_0+K_1^\dagger K_1=\mathrm{diag}(1,1-\lambda)+\mathrm{diag}(0,\lambda)=I
    Completeness, as required by the dilation theorem.
  5. Step 5:
    K0ρK0†=(ρ001−λ ρ011−λ ρ10(1−λ)ρ11),K1ρK1†=(000λρ11)K_0\rho K_0^\dagger=\begin{pmatrix}\rho_{00}&\sqrt{1-\lambda}\,\rho_{01}\\\sqrt{1-\lambda}\,\rho_{10}&(1-\lambda)\rho_{11}\end{pmatrix},\qquad K_1\rho K_1^\dagger=\begin{pmatrix}0&0\\0&\lambda\rho_{11}\end{pmatrix}
    Both Kraus operators are diagonal, so (KρK†)ij=kikjρij(K\rho K^\dagger)_{ij}=k_ik_j\rho_{ij} with k=(1,1−λ)k=(1,\sqrt{1-\lambda}) and k=(0,λ)k=(0,\sqrt\lambda).
  6. Step 6:
    Pλ(ρ)=(ρ001−λ ρ011−λ ρ10ρ11)\mathcal P_\lambda(\rho)=\begin{pmatrix}\rho_{00}&\sqrt{1-\lambda}\,\rho_{01}\\\sqrt{1-\lambda}\,\rho_{10}&\rho_{11}\end{pmatrix}
    Sum of the two terms: (1−λ)ρ11+λρ11=ρ11(1-\lambda)\rho_{11}+\lambda\rho_{11}=\rho_{11}, so the populations are unchanged and only the coherence is multiplied by 1−λ\sqrt{1-\lambda}.
  7. Step 7:
    1−λ=⟨e1∣e0⟩,∣e0⟩=∣0⟩E,∣e1⟩=RY(ϑ)∣0⟩E\sqrt{1-\lambda}=\langle e_1\vert e_0\rangle,\qquad\lvert e_0\rangle=\lvert0\rangle_E,\quad\lvert e_1\rangle=R_Y(\vartheta)\lvert0\rangle_E
    Interpretation: U(α∣0⟩+β∣1⟩)∣0⟩E=α∣0⟩∣e0⟩+β∣1⟩∣e1⟩U(\alpha\lvert0\rangle+\beta\lvert1\rangle)\lvert0\rangle_E=\alpha\lvert0\rangle\lvert e_0\rangle+\beta\lvert1\rangle\lvert e_1\rangle, whose reduced coherence is αβˉ ⟨e1∣e0⟩\alpha\bar\beta\,\langle e_1\vert e_0\rangle. The more distinguishable the environment states, the smaller the coherence; orthogonal states (λ=1\lambda=1) erase it.

Result

Pλ:ρ00,ρ11 unchanged,ρ01↦1−λ ρ01\boxed{\mathcal P_\lambda:\quad\rho_{00},\rho_{11}\ \text{unchanged},\qquad\rho_{01}\mapsto\sqrt{1-\lambda}\,\rho_{01}}

Circuit · 2 qubits

Quantum circuit on 2 qubitsH on q0; RY(1.85) on q1 controlled by q0q0q1HRY(1.85)

The dilation of phase damping with λ=0.64\lambda=0.64: the system qubit 00 is put into ∣+⟩\lvert+\rangle by HH, and CRY(0,1,ϑ)\mathrm{CRY}(0,1,\vartheta) with ϑ=2arcsin⁡0.8≈1.854590\vartheta=2\arcsin0.8\approx1.854590 rotates the environment qubit 11 only in the branch ∣1⟩\lvert1\rangle. The joint state is pure, 12(∣00⟩+0.6∣10⟩+0.8∣11⟩)\tfrac1{\sqrt2}\big(\lvert00\rangle+0.6\lvert10\rangle+0.8\lvert11\rangle\big), but tracing out qubit 11 leaves the system in (0.50.30.30.5)\begin{pmatrix}0.5&0.3\\0.3&0.5\end{pmatrix}, exactly the output of P0.64\mathcal P_{0.64} on ∣+⟩\lvert+\rangle and the target of the lab.

∣ψ⟩=12∣00⟩+0.4243∣10⟩+0.5657∣11⟩\lvert\psi\rangle = \tfrac{1}{\sqrt{2}}\lvert 00\rangle + 0.4243\lvert 10\rangle + 0.5657\lvert 11\rangle
Theorem

Phase flip = phase damping (unitary freedom of Kraus operators)

(i) If two Kraus sets are related by a unitary matrix uu, Lj=∑kujkKkL_j=\sum_ku_{jk}K_k, they define the same channel. (ii) For 0≤p≤120\le p\le\tfrac12 the phase-flip channel ρ↦(1−p)ρ+pZρZ\rho\mapsto(1-p)\rho+pZ\rho Z, with Kraus operators {1−p I,p Z}\{\sqrt{1-p}\,I,\sqrt p\,Z\}, equals phase damping Pλ\mathcal P_\lambda with 1−λ=1−2p\sqrt{1-\lambda}=1-2p, i.e. λ=4p(1−p)\lambda=4p(1-p), and the two Kraus sets are related by the real orthogonal matrix u=(1−ppp−1−p)u=\begin{pmatrix}\sqrt{1-p}&\sqrt p\\\sqrt p&-\sqrt{1-p}\end{pmatrix}.

Proof (5 steps)
  1. Step 1:
    ∑jLjρLj†=∑j∑k,lujk ujl‾ KkρKl†=∑k,l(u†u)lk KkρKl†=∑kKkρKk†\sum_jL_j\rho L_j^\dagger=\sum_j\sum_{k,l}u_{jk}\,\overline{u_{jl}}\,K_k\rho K_l^\dagger=\sum_{k,l}\big(u^\dagger u\big)_{lk}\,K_k\rho K_l^\dagger=\sum_kK_k\rho K_k^\dagger
    Expand LjL_j and Lj†=∑lujl‾Kl†L_j^\dagger=\sum_l\overline{u_{jl}}K_l^\dagger; ∑jujl‾ujk=(u†u)lk=δlk\sum_j\overline{u_{jl}}u_{jk}=(u^\dagger u)_{lk}=\delta_{lk} because uu is unitary. This proves (i).
  2. Step 2:
    ZρZ=(ρ00−ρ01−ρ10ρ11) ⟹ (1−p)ρ+pZρZ=(ρ00(1−2p)ρ01(1−2p)ρ10ρ11)Z\rho Z=\begin{pmatrix}\rho_{00}&-\rho_{01}\\-\rho_{10}&\rho_{11}\end{pmatrix}\ \Longrightarrow\ (1-p)\rho+pZ\rho Z=\begin{pmatrix}\rho_{00}&(1-2p)\rho_{01}\\(1-2p)\rho_{10}&\rho_{11}\end{pmatrix}
    Conjugation by Z=diag(1,−1)Z=\mathrm{diag}(1,-1) flips the sign of the off-diagonal entries; then add the two terms.
  3. Step 3:
    1−λ=1−2p  (0≤p≤12)⟺λ=1−(1−2p)2=4p(1−p)\sqrt{1-\lambda}=1-2p\ \ (0\le p\le\tfrac12)\quad\Longleftrightarrow\quad\lambda=1-(1-2p)^2=4p(1-p)
    Comparison with the action of Pλ\mathcal P_\lambda: both channels fix the populations and multiply the coherence by the same factor. The square root is nonnegative, which requires p≤12p\le\tfrac12.
  4. Step 4:
    1−p K0+p K1=diag(1−p, 1−p (1−2p)+p⋅2p(1−p))=1−p I\sqrt{1-p}\,K_0+\sqrt p\,K_1=\mathrm{diag}\Big(\sqrt{1-p},\ \sqrt{1-p}\,(1-2p)+\sqrt p\cdot2\sqrt{p(1-p)}\Big)=\sqrt{1-p}\,I
    First row of uu applied to K0=diag(1,1−2p)K_0=\mathrm{diag}(1,1-2p), K1=diag(0,2p(1−p))K_1=\mathrm{diag}\big(0,2\sqrt{p(1-p)}\big) (phase damping with λ=2p(1−p)\sqrt\lambda=2\sqrt{p(1-p)}); the second entry is 1−p (1−2p+2p)\sqrt{1-p}\,(1-2p+2p).
  5. Step 5:
    p K0−1−p K1=diag(p, p (1−2p)−2(1−p)p)=diag(p,−p)=p Z\sqrt p\,K_0-\sqrt{1-p}\,K_1=\mathrm{diag}\Big(\sqrt p,\ \sqrt p\,(1-2p)-2(1-p)\sqrt p\Big)=\mathrm{diag}\big(\sqrt p,-\sqrt p\big)=\sqrt p\,Z
    Second row of uu; uu is real with orthonormal rows, so it is unitary, as (i) requires.

∎

Quick check

A phase-flip channel applies ZZ with probability p=0.1p=0.1. Which phase-damping parameter λ\lambda describes the same channel?

tolerance ±0.001

Bloch-vector relaxation: T₁, T₂ and T_φ#

A qubit state is a point of the Bloch ball, ρ=12(I+rxX+ryY+rzZ)\rho=\tfrac12\big(I+r_xX+r_yY+r_zZ\big) with ∥r⃗∥≤1\lVert\vec r\rVert\le1. In components, ρ00=12(1+rz)\rho_{00}=\tfrac12(1+r_z), ρ11=12(1−rz)\rho_{11}=\tfrac12(1-r_z) and ρ01=12(rx−iry)\rho_{01}=\tfrac12(r_x-ir_y). The populations therefore encode the longitudinal component rzr_z, and the coherence encodes the transverse components r⊥=(rx,ry)r_\perp=(r_x,r_y). Hardware characterisation uses exactly this split. An inversion-recovery experiment prepares ∣1⟩\lvert1\rangle, waits, and measures rz(t)r_z(t), which yields T1T_1. A Ramsey experiment prepares ∣+⟩\lvert+\rangle, waits, and measures the decay of the transverse component, which yields T2T_2. We now derive both laws from the channels and see why the two times cannot be chosen independently.

Theorem

Bloch-vector dynamics under amplitude and phase damping

Under Aγ\mathcal A_\gamma the Bloch vector transforms as rz↦1−(1−γ)(1−rz)r_z\mapsto1-(1-\gamma)(1-r_z) and rx,y↦1−γ rx,yr_{x,y}\mapsto\sqrt{1-\gamma}\,r_{x,y}; under Pλ\mathcal P_\lambda as rz↦rzr_z\mapsto r_z and rx,y↦1−λ rx,yr_{x,y}\mapsto\sqrt{1-\lambda}\,r_{x,y}. With γ(t)=1−e−t/T1\gamma(t)=1-e^{-t/T_1} and 1−λ(t)=e−t/Tφ\sqrt{1-\lambda(t)}=e^{-t/T_\varphi} the combined evolution is

rz(t)=1−(1−rz(0))e−t/T1,rx,y(t)=rx,y(0) e−t/T2,1T2=12T1+1Tφ.r_z(t)=1-\big(1-r_z(0)\big)e^{-t/T_1},\qquad r_{x,y}(t)=r_{x,y}(0)\,e^{-t/T_2},\qquad\frac1{T_2}=\frac1{2T_1}+\frac1{T_\varphi}.

Proof (6 steps)
  1. Step 1:
    ρ=12(1+rzrx−iryrx+iry1−rz)\rho=\frac12\begin{pmatrix}1+r_z&r_x-ir_y\\r_x+ir_y&1-r_z\end{pmatrix}
    The Pauli expansion of a qubit density matrix written out entry by entry.
  2. Step 2:
    1+rz′2=1+rz2+γ 1−rz2⟹rz′=rz+γ(1−rz)=1−(1−γ)(1−rz)\frac{1+r_z'}2=\frac{1+r_z}2+\gamma\,\frac{1-r_z}2\quad\Longrightarrow\quad r_z'=r_z+\gamma(1-r_z)=1-(1-\gamma)(1-r_z)
    Amplitude damping maps ρ00↦ρ00+γρ11\rho_{00}\mapsto\rho_{00}+\gamma\rho_{11}; solve for the new rzr_z and rearrange.
  3. Step 3:
    rx′−iry′2=1−γ rx−iry2⟹rx′=1−γ rx,ry′=1−γ ry\frac{r_x'-ir_y'}2=\sqrt{1-\gamma}\,\frac{r_x-ir_y}2\quad\Longrightarrow\quad r_x'=\sqrt{1-\gamma}\,r_x,\quad r_y'=\sqrt{1-\gamma}\,r_y
    Amplitude damping multiplies ρ01\rho_{01} by the real factor 1−γ\sqrt{1-\gamma}; compare real and imaginary parts.
  4. Step 4:
    Pλ: ρ00,ρ11 fixed⇒rz′=rz;ρ01↦1−λ ρ01⇒rx,y′=1−λ rx,y\mathcal P_\lambda:\ \rho_{00},\rho_{11}\ \text{fixed}\Rightarrow r_z'=r_z;\qquad\rho_{01}\mapsto\sqrt{1-\lambda}\,\rho_{01}\Rightarrow r_{x,y}'=\sqrt{1-\lambda}\,r_{x,y}
    Same reading of the phase-damping action.
  5. Step 5:
    rz(t)=1−e−t/T1(1−rz(0))r_z(t)=1-e^{-t/T_1}\big(1-r_z(0)\big)
    Insert 1−γ(t)=e−t/T11-\gamma(t)=e^{-t/T_1}; phase damping does not change rzr_z. The fixed point is rz=1r_z=1, the ground state ∣0⟩\lvert0\rangle.
  6. Step 6:
    rx,y(t)=e−t/(2T1) e−t/Tφ rx,y(0)=e−t(12T1+1Tφ)rx,y(0)=e−t/T2 rx,y(0)r_{x,y}(t)=e^{-t/(2T_1)}\,e^{-t/T_\varphi}\,r_{x,y}(0)=e^{-t\left(\frac1{2T_1}+\frac1{T_\varphi}\right)}r_{x,y}(0)=e^{-t/T_2}\,r_{x,y}(0)
    The transverse factors of the two channels multiply; 1−γ(t)=e−t/(2T1)\sqrt{1-\gamma(t)}=e^{-t/(2T_1)} by the semigroup theorem; the exponents add, which defines T2T_2.

∎

Theorem

Amplitude and phase damping commute, and T₂ ≤ 2T₁

Pλ∘Aγ=Aγ∘Pλ\mathcal P_\lambda\circ\mathcal A_\gamma=\mathcal A_\gamma\circ\mathcal P_\lambda for all γ,λ∈[0,1]\gamma,\lambda\in[0,1]. For any pure-dephasing time Tφ∈(0,∞]T_\varphi\in(0,\infty] the coherence time satisfies T2≤2T1T_2\le2T_1, with equality exactly when there is no pure dephasing (1/Tφ=01/T_\varphi=0). Conversely, measured T1T_1 and T2≤2T1T_2\le2T_1 determine the pure-dephasing rate 1Tφ=1T2−12T1\frac1{T_\varphi}=\frac1{T_2}-\frac1{2T_1}.

Proof (5 steps)
  1. Step 1:
    Pλ(Aγ(ρ))=(ρ00+γρ111−λ1−γ ρ011−λ1−γ ρ10(1−γ)ρ11)\mathcal P_\lambda\big(\mathcal A_\gamma(\rho)\big)=\begin{pmatrix}\rho_{00}+\gamma\rho_{11}&\sqrt{1-\lambda}\sqrt{1-\gamma}\,\rho_{01}\\\sqrt{1-\lambda}\sqrt{1-\gamma}\,\rho_{10}&(1-\gamma)\rho_{11}\end{pmatrix}
    Apply amplitude damping, then phase damping, which keeps the populations and rescales the coherence.
  2. Step 2:
    Aγ(Pλ(ρ))=(ρ00+γρ111−γ1−λ ρ011−γ1−λ ρ10(1−γ)ρ11)\mathcal A_\gamma\big(\mathcal P_\lambda(\rho)\big)=\begin{pmatrix}\rho_{00}+\gamma\rho_{11}&\sqrt{1-\gamma}\sqrt{1-\lambda}\,\rho_{01}\\\sqrt{1-\gamma}\sqrt{1-\lambda}\,\rho_{10}&(1-\gamma)\rho_{11}\end{pmatrix}
    Phase damping first leaves the populations unchanged, and amplitude damping acts on the populations through ρ11\rho_{11} alone; the coherence factors are the same numbers in the opposite order.
  3. Step 3:
    1T2=12T1+1Tφ,1Tφ≥0\frac1{T_2}=\frac1{2T_1}+\frac1{T_\varphi},\qquad\frac1{T_\varphi}\ge0
    Definition of T2T_2 from the Bloch theorem; a dephasing rate cannot be negative because 1−λ≤1\sqrt{1-\lambda}\le1.
  4. Step 4:
    1T2≥12T1⟺T2≤2T1,T2=2T1  ⟺  1Tφ=0\frac1{T_2}\ge\frac1{2T_1}\quad\Longleftrightarrow\quad T_2\le2T_1,\qquad T_2=2T_1\iff\frac1{T_\varphi}=0
    Take reciprocals of positive numbers, which reverses the inequality.
  5. Step 5:
    1Tφ=1T2−12T1=2T1−T22T1T2 ≥0iffT2≤2T1\frac1{T_\varphi}=\frac1{T_2}-\frac1{2T_1}=\frac{2T_1-T_2}{2T_1T_2}\ \ge0\quad\text{iff}\quad T_2\le2T_1
    Solve the defining relation for the pure-dephasing rate; a measurement with T2>2T1T_2>2T_1 would contradict the model and indicates a non-Markovian or miscalibrated experiment.

∎

Derivation

The thermal-relaxation channel of the simulator

  1. Step 1:
    γ=1−e−t/T1,λ=1−e−2t/Tφ=1−e−2t(1T2−12T1)⟹1−λ=e−t/Tφ\gamma=1-e^{-t/T_1},\qquad\lambda=1-e^{-2t/T_\varphi}=1-e^{-2t\left(\frac1{T_2}-\frac1{2T_1}\right)}\quad\Longrightarrow\quad\sqrt{1-\lambda}=e^{-t/T_\varphi}
    The engine's parameters for thermalRelaxation(T1,T2,t)(T_1,T_2,t) with 0<T2≤2T10<T_2\le2T_1: amplitude damping for the population decay, phase damping for the remaining coherence decay.
  2. Step 2:
    P0A0=(1001−λ1−γ)=(100e−t/T2),P0A1=(1001−λ)(0γ00)=(0γ00)P_0A_0=\begin{pmatrix}1&0\\0&\sqrt{1-\lambda}\sqrt{1-\gamma}\end{pmatrix}=\begin{pmatrix}1&0\\0&e^{-t/T_2}\end{pmatrix},\qquad P_0A_1=\begin{pmatrix}1&0\\0&\sqrt{1-\lambda}\end{pmatrix}\begin{pmatrix}0&\sqrt\gamma\\0&0\end{pmatrix}=\begin{pmatrix}0&\sqrt\gamma\\0&0\end{pmatrix}
    Products of the phase-damping Kraus operators PiP_i and amplitude-damping Kraus operators AjA_j (the Kraus set of a composition); e−t/Tφe−t/(2T1)=e−t/T2e^{-t/T_\varphi}e^{-t/(2T_1)}=e^{-t/T_2}.
  3. Step 3:
    P1A0=(000λ(1−γ)),P1A1=(000λ)(0γ00)=0P_1A_0=\begin{pmatrix}0&0\\0&\sqrt{\lambda(1-\gamma)}\end{pmatrix},\qquad P_1A_1=\begin{pmatrix}0&0\\0&\sqrt\lambda\end{pmatrix}\begin{pmatrix}0&\sqrt\gamma\\0&0\end{pmatrix}=0
    The last product vanishes and is dropped, so the channel has three Kraus operators when λ>0\lambda>0 and two when T2=2T1T_2=2T_1 (then λ=0\lambda=0 and P1A0=0P_1A_0=0 too).
  4. Step 4:
    ∑K†K=diag(1,(1−λ)(1−γ))+diag(0,γ)+diag(0,λ(1−γ))=I\sum K^\dagger K=\mathrm{diag}\big(1,(1-\lambda)(1-\gamma)\big)+\mathrm{diag}(0,\gamma)+\mathrm{diag}\big(0,\lambda(1-\gamma)\big)=I
    Completeness: (1−γ)(1−λ+λ)+γ=1(1-\gamma)(1-\lambda+\lambda)+\gamma=1.
  5. Step 5:
    ρ↦(ρ00+γρ11e−t/T2ρ01e−t/T2ρ10e−t/T1ρ11)\rho\mapsto\begin{pmatrix}\rho_{00}+\gamma\rho_{11}&e^{-t/T_2}\rho_{01}\\e^{-t/T_2}\rho_{10}&e^{-t/T_1}\rho_{11}\end{pmatrix}
    Sum of the three conjugations: the excited population collects (1−λ)(1−γ)ρ11+λ(1−γ)ρ11=(1−γ)ρ11(1-\lambda)(1-\gamma)\rho_{11}+\lambda(1-\gamma)\rho_{11}=(1-\gamma)\rho_{11}, the ground population gains γρ11\gamma\rho_{11}, and the coherence decays with T2T_2, exactly the Bloch laws.

Result

thermalRelaxation(T1,T2,t)=Pλ(t)∘Aγ(t):ρ11(t)=e−t/T1ρ11(0),ρ01(t)=e−t/T2ρ01(0)\boxed{\text{thermalRelaxation}(T_1,T_2,t)=\mathcal P_{\lambda(t)}\circ\mathcal A_{\gamma(t)}:\qquad\rho_{11}(t)=e^{-t/T_1}\rho_{11}(0),\quad\rho_{01}(t)=e^{-t/T_2}\rho_{01}(0)}

The widget starts from the default T1=50 μsT_1=50\,\mu\mathrm s, T2=30 μsT_2=30\,\mu\mathrm s and the equatorial state θ=π/2\theta=\pi/2. Drag the time slider and watch the Bloch vector. It shrinks towards the zz-axis with the time constant T2T_2 and climbs towards the north pole ∣0⟩\lvert0\rangle with the time constant T1T_1. The trajectory is not a straight line, because the two components decay at different rates. The implied pure-dephasing time is Tφ=(130−1100)−1≈42.86 μsT_\varphi=\big(\tfrac1{30}-\tfrac1{100}\big)^{-1}\approx42.86\,\mu\mathrm s. The widget also applies the engine's thermal-relaxation Kraus set to ρ(0)\rho(0) and shows that it agrees with the formulas to machine precision. The next instance sets T2=2T1=100 μsT_2=2T_1=100\,\mu\mathrm s, the pure-T1T_1 limit, where no pure dephasing is left and the channel is plain amplitude damping.

In the last instance the coherence time is short, T2=20 μsT_2=20\,\mu\mathrm s, and the qubit is detuned from the frame of the control electronics by Δ=0.2\Delta=0.2 rad per microsecond. In the rotating frame the Bloch vector now precesses about the zz-axis, ϕ(t)=ϕ0+Δt\phi(t)=\phi_0+\Delta t, while it relaxes. The measured ⟨X⟩\langle X\rangle is a damped oscillation e−t/T2cos⁡(Δt)e^{-t/T_2}\cos(\Delta t): the Ramsey fringe from which experiments read off both the detuning and T2T_2.

Quick check

A qubit has T1=100 μsT_1=100\,\mu\mathrm s and T2=80 μsT_2=80\,\mu\mathrm s. What is its pure-dephasing time TφT_\varphi in microseconds?

tolerance ±0.1

The depolarizing channel#

Amplitude and phase damping have a preferred axis, set by the energy eigenbasis. Gate errors in a long, compiled circuit are often modelled with no preferred direction: after each gate one of the three Pauli errors XX, YY, ZZ occurs with probability p/3p/3 each. This is the depolarizing channel in the convention of PennyLane's DepolarizingChannel and of the platform's engine,

Dp(ρ)=(1−p) ρ+p3(XρX+YρY+ZρZ),K0=1−p I,K1,2,3=p3 X, p3 Y, p3 Z.\mathcal D_p(\rho)=(1-p)\,\rho+\frac p3\big(X\rho X+Y\rho Y+Z\rho Z\big),\qquad K_0=\sqrt{1-p}\,I,\quad K_{1,2,3}=\sqrt{\tfrac p3}\,X,\ \sqrt{\tfrac p3}\,Y,\ \sqrt{\tfrac p3}\,Z.

Completeness is immediate, since every Pauli matrix squares to the identity: (1−p)+3⋅p3=1(1-p)+3\cdot\tfrac p3=1. To see what the channel does geometrically, we need one identity about Pauli conjugations.

Lemma

Pauli twirl: Σ_P PAP = 2 Tr(A) I

For every complex 2×22\times2 matrix AA,   IAI+XAX+YAY+ZAZ=2 Tr(A) I\;IAI+XAX+YAY+ZAZ=2\,\mathrm{Tr}(A)\,I. Equivalently, averaging the conjugations of AA by the four Pauli matrices gives 12Tr(A) I\tfrac12\mathrm{Tr}(A)\,I.

Proof (5 steps)
  1. Step 1:
    A=(abcd),TrA=a+dA=\begin{pmatrix}a&b\\c&d\end{pmatrix},\qquad\mathrm{Tr}A=a+d
    An arbitrary complex 2×22\times2 matrix.
  2. Step 2:
    XAX=(0110)(abcd)(0110)=(dcba)XAX=\begin{pmatrix}0&1\\1&0\end{pmatrix}\begin{pmatrix}a&b\\c&d\end{pmatrix}\begin{pmatrix}0&1\\1&0\end{pmatrix}=\begin{pmatrix}d&c\\b&a\end{pmatrix}
    Left multiplication by XX swaps the rows, right multiplication swaps the columns.
  3. Step 3:
    YA=(−ic−idiaib),YAY=(−ic−idiaib)(0−ii0)=(d−c−ba)YA=\begin{pmatrix}-ic&-id\\ia&ib\end{pmatrix},\qquad YAY=\begin{pmatrix}-ic&-id\\ia&ib\end{pmatrix}\begin{pmatrix}0&-i\\i&0\end{pmatrix}=\begin{pmatrix}d&-c\\-b&a\end{pmatrix}
    Direct multiplication with Y=(0−ii0)Y=\begin{pmatrix}0&-i\\i&0\end{pmatrix}, using (−i)(i)=1(-i)(i)=1 and i⋅i=−1i\cdot i=-1.
  4. Step 4:
    ZAZ=(100−1)(abcd)(100−1)=(a−b−cd)ZAZ=\begin{pmatrix}1&0\\0&-1\end{pmatrix}\begin{pmatrix}a&b\\c&d\end{pmatrix}\begin{pmatrix}1&0\\0&-1\end{pmatrix}=\begin{pmatrix}a&-b\\-c&d\end{pmatrix}
    Conjugation by ZZ flips the sign of the off-diagonal entries.
  5. Step 5:
    A+XAX+YAY+ZAZ=(a+d+d+ab+c−c−bc+b−b−cd+a+a+d)=2(a+d) I=2 Tr(A) IA+XAX+YAY+ZAZ=\begin{pmatrix}a+d+d+a&b+c-c-b\\c+b-b-c&d+a+a+d\end{pmatrix}=2(a+d)\,I=2\,\mathrm{Tr}(A)\,I
    Add the four matrices entry by entry: the off-diagonal entries cancel in pairs.

∎

Derivation

The depolarizing channel shrinks the Bloch vector by 1 − 4p/3

  1. Step 1:
    XρX+YρY+ZρZ=2 Tr(ρ) I−ρ=2I−ρX\rho X+Y\rho Y+Z\rho Z=2\,\mathrm{Tr}(\rho)\,I-\rho=2I-\rho
    The Pauli-twirl lemma with A=ρA=\rho, minus the term IρII\rho I; Trρ=1\mathrm{Tr}\rho=1.
  2. Step 2:
    Dp(ρ)=(1−p)ρ+p3 (2I−ρ)=(1−4p3)ρ+2p3 I=(1−4p3)ρ+4p3 I2\mathcal D_p(\rho)=(1-p)\rho+\frac p3\,(2I-\rho)=\Big(1-\frac{4p}3\Big)\rho+\frac{2p}3\,I=\Big(1-\frac{4p}3\Big)\rho+\frac{4p}3\,\frac I2
    Substitute into the Kraus form and collect the terms in ρ\rho: 1−p−p3=1−4p31-p-\tfrac p3=1-\tfrac{4p}3.
  3. Step 3:
    Dp(12(I+r⃗⋅σ⃗))=12(I+(1−4p3) r⃗⋅σ⃗)⟹r⃗↦f r⃗,f=1−4p3\mathcal D_p\Big(\tfrac12(I+\vec r\cdot\vec\sigma)\Big)=\tfrac12\Big(I+\big(1-\tfrac{4p}3\big)\,\vec r\cdot\vec\sigma\Big)\quad\Longrightarrow\quad\vec r\mapsto f\,\vec r,\quad f=1-\frac{4p}3
    Insert the Bloch form: the identity part is preserved and every Bloch component is multiplied by the same factor, so the ball shrinks uniformly towards its centre.
  4. Step 4:
    Qiskit:  Eλ(ρ)=(1−λ)ρ+λ I2⟹λ=4p3\text{Qiskit: }\ \mathcal E_\lambda(\rho)=(1-\lambda)\rho+\lambda\,\frac I2\quad\Longrightarrow\quad\lambda=\frac{4p}3
    Qiskit's depolarizing_error with parameter λ\lambda mixes with the maximally mixed state with weight λ\lambda; equate the coefficients of ρ\rho. The same physical error has λ=43p\lambda=\tfrac43p, e.g. p=0.3p=0.3 is λ=0.4\lambda=0.4.
  5. Step 5:
    p=34 (λ=1): D3/4(ρ)=I2 for every ρ;p=1: r⃗↦−13r⃗p=\tfrac34\ (\lambda=1):\ \mathcal D_{3/4}(\rho)=\frac I2\ \text{for every }\rho;\qquad p=1:\ \vec r\mapsto-\tfrac13\vec r
    At p=34p=\tfrac34 the factor vanishes and every input is mapped to the maximally mixed state (complete depolarisation). For p>34p>\tfrac34 the factor is negative: the channel is still completely positive (it has a Kraus form), but it inverts the Bloch vector while shrinking it.

Result

Dp(A)=f A+(1−f) Tr(A) I2  for every operator A,f=1−4p3\boxed{\mathcal D_p(A)=f\,A+(1-f)\,\mathrm{Tr}(A)\,\frac I2\ \ \text{for every operator }A,\qquad f=1-\frac{4p}3}

Different channels, same output. Take the input ∣+⟩\lvert+\rangle, with r⃗=(1,0,0)\vec r=(1,0,0) and ρ01=12\rho_{01}=\tfrac12. Phase damping with λ=0.64\lambda=0.64 multiplies the coherence by 1−0.64=0.6\sqrt{1-0.64}=0.6. Depolarizing with p=0.3p=0.3 multiplies the whole Bloch vector by 1−0.4=0.61-0.4=0.6. Both therefore output the same state,

P0.64(∣+⟩⟨+∣)=D0.3(∣+⟩⟨+∣)=(0.50.30.30.5).\mathcal P_{0.64}\big(\lvert+\rangle\langle+\rvert\big)=\mathcal D_{0.3}\big(\lvert+\rangle\langle+\rvert\big)=\begin{pmatrix}0.5&0.3\\0.3&0.5\end{pmatrix}.

The two channels are nevertheless different, because they treat the zz-axis differently. On ∣0⟩\lvert0\rangle phase damping does nothing, P0.64(∣0⟩⟨0∣)=(1000)\mathcal P_{0.64}(\lvert0\rangle\langle0\rvert)=\begin{pmatrix}1&0\\0&0\end{pmatrix}, whereas depolarizing shrinks rzr_z from 11 to 0.60.6, D0.3(∣0⟩⟨0∣)=(0.8000.2)\mathcal D_{0.3}(\lvert0\rangle\langle0\rvert)=\begin{pmatrix}0.8&0\\0&0.2\end{pmatrix}. As maps of the Bloch ball, Pλ\mathcal P_\lambda scales the axes by (1−λ,1−λ,1)(\sqrt{1-\lambda},\sqrt{1-\lambda},1) and Dp\mathcal D_p by (f,f,f)(f,f,f), so they agree exactly on the equatorial plane. A channel on a qubit is a linear map on a four-dimensional space of operators. One input state fixes only part of it, and identifying a channel (process tomography) requires inputs whose density matrices span all operators, for instance ∣0⟩\lvert0\rangle, ∣1⟩\lvert1\rangle, ∣+⟩\lvert+\rangle and ∣+i⟩\lvert{+i}\rangle. The lab asks you to prepare this state, and both routes are accepted.

Quick check

Phase damping with λ=0.64\lambda=0.64 and depolarizing with p=0.3p=0.3 give the same output on ∣+⟩\lvert+\rangle. On which of these inputs do their outputs differ?

Select one answer

Noisy entanglement: the Bell-state fidelity#

Entangled states are the resource behind teleportation, superdense coding and the entangling layers of variational circuits, and they are especially fragile. We compute exactly what happens when both qubits of the Bell pair ∣Φ+⟩=12(∣00⟩+∣11⟩)\lvert\Phi^+\rangle=\tfrac1{\sqrt2}(\lvert00\rangle+\lvert11\rangle) independently undergo depolarizing noise of strength pp, for example while they wait for the next layer of a circuit. The computation is clean in the Pauli basis, because the depolarizing channel acts on Pauli operators by plain multiplication. The local channel Dp⊗Dp\mathcal D_p\otimes\mathcal D_p has the 1616 Kraus operators Ka⊗KbK_a\otimes K_b; on the platform it is the circuit H(0)H(0), CNOT(0,1)\mathrm{CNOT}(0,1) followed by depolarizing(0, p)\texttt{depolarizing(0, p)} and depolarizing(1, p)\texttt{depolarizing(1, p)}.

Lemma

Pauli expansion of the Bell projector

∣Φ+⟩⟨Φ+∣=14(I⊗I+X⊗X−Y⊗Y+Z⊗Z)\lvert\Phi^+\rangle\langle\Phi^+\rvert=\tfrac14\big(I\otimes I+X\otimes X-Y\otimes Y+Z\otimes Z\big).

Proof (5 steps)
  1. Step 1:
    ∣Φ+⟩⟨Φ+∣=12(∣00⟩⟨00∣+∣00⟩⟨11∣+∣11⟩⟨00∣+∣11⟩⟨11∣)=12(1001000000001001)\lvert\Phi^+\rangle\langle\Phi^+\rvert=\tfrac12\big(\lvert00\rangle\langle00\rvert+\lvert00\rangle\langle11\rvert+\lvert11\rangle\langle00\rvert+\lvert11\rangle\langle11\rvert\big)=\frac12\begin{pmatrix}1&0&0&1\\0&0&0&0\\0&0&0&0\\1&0&0&1\end{pmatrix}
    Expand the outer product in the basis ∣00⟩,∣01⟩,∣10⟩,∣11⟩\lvert00\rangle,\lvert01\rangle,\lvert10\rangle,\lvert11\rangle.
  2. Step 2:
    Z⊗Z=diag(1,−1,−1,1) ⟹ I⊗I+Z⊗Z=diag(2,0,0,2)Z\otimes Z=\mathrm{diag}(1,-1,-1,1)\ \Longrightarrow\ I\otimes I+Z\otimes Z=\mathrm{diag}(2,0,0,2)
    Z⊗Z∣ab⟩=(−1)a+b∣ab⟩Z\otimes Z\lvert ab\rangle=(-1)^{a+b}\lvert ab\rangle.
  3. Step 3:
    X⊗X∣ab⟩=∣aˉbˉ⟩,Y⊗Y∣00⟩=−∣11⟩,  Y⊗Y∣11⟩=−∣00⟩,  Y⊗Y∣01⟩=∣10⟩,  Y⊗Y∣10⟩=∣01⟩X\otimes X\lvert ab\rangle=\lvert\bar a\bar b\rangle,\qquad Y\otimes Y\lvert00\rangle=-\lvert11\rangle,\ \ Y\otimes Y\lvert11\rangle=-\lvert00\rangle,\ \ Y\otimes Y\lvert01\rangle=\lvert10\rangle,\ \ Y\otimes Y\lvert10\rangle=\lvert01\rangle
    Y∣0⟩=i∣1⟩Y\lvert0\rangle=i\lvert1\rangle and Y∣1⟩=−i∣0⟩Y\lvert1\rangle=-i\lvert0\rangle, so the phases are i⋅i=−1i\cdot i=-1, (−i)(−i)=−1(-i)(-i)=-1 and i(−i)=1i(-i)=1.
  4. Step 4:
    X⊗X−Y⊗Y=2(∣00⟩⟨11∣+∣11⟩⟨00∣)X\otimes X-Y\otimes Y=2\big(\lvert00\rangle\langle11\rvert+\lvert11\rangle\langle00\rvert\big)
    On the pair ∣00⟩,∣11⟩\lvert00\rangle,\lvert11\rangle the matrix elements are 1−(−1)=21-(-1)=2; on the pair ∣01⟩,∣10⟩\lvert01\rangle,\lvert10\rangle they are 1−1=01-1=0.
  5. Step 5:
    14(II+ZZ+XX−YY)=14(2∣00⟩⟨00∣+2∣11⟩⟨11∣+2∣00⟩⟨11∣+2∣11⟩⟨00∣)=∣Φ+⟩⟨Φ+∣\tfrac14\big(II+ZZ+XX-YY\big)=\tfrac14\Big(2\lvert00\rangle\langle00\rvert+2\lvert11\rangle\langle11\rvert+2\lvert00\rangle\langle11\rvert+2\lvert11\rangle\langle00\rvert\Big)=\lvert\Phi^+\rangle\langle\Phi^+\rvert
    Add the two previous results and compare with the first line.

∎

Theorem

Bell pair under local depolarizing noise

Let f=1−4p3f=1-\tfrac{4p}3. Then

ρ=(Dp⊗Dp)(∣Φ+⟩⟨Φ+∣)=14(II+f2(XX−YY+ZZ))=f2 ∣Φ+⟩⟨Φ+∣+(1−f2) I4,\rho=(\mathcal D_p\otimes\mathcal D_p)\big(\lvert\Phi^+\rangle\langle\Phi^+\rvert\big)=\tfrac14\big(II+f^2(XX-YY+ZZ)\big)=f^2\,\lvert\Phi^+\rangle\langle\Phi^+\rvert+(1-f^2)\,\frac I4,

with diagonal (1+f24,1−f24,1−f24,1+f24)\big(\tfrac{1+f^2}4,\tfrac{1-f^2}4,\tfrac{1-f^2}4,\tfrac{1+f^2}4\big) and corner entries ρ00,11=ρ11,00=f22\rho_{00,11}=\rho_{11,00}=\tfrac{f^2}2, and the fidelity with the ideal pair is F=⟨Φ+∣ρ∣Φ+⟩=14(1+3f2)F=\langle\Phi^+\vert\rho\vert\Phi^+\rangle=\tfrac14(1+3f^2). For p=0.1p=0.1: f=1315f=\tfrac{13}{15} and F=6175≈0.813333F=\tfrac{61}{75}\approx0.813333.

Proof (8 steps)
  1. Step 1:
    Dp(I)=f I+(1−f)⋅2⋅I2=I,Dp(σj)=f σj+(1−f) Tr(σj) I2=f σj\mathcal D_p(I)=f\,I+(1-f)\cdot2\cdot\frac I2=I,\qquad\mathcal D_p(\sigma_j)=f\,\sigma_j+(1-f)\,\mathrm{Tr}(\sigma_j)\,\frac I2=f\,\sigma_j
    The operator form Dp(A)=fA+(1−f)Tr(A)I2\mathcal D_p(A)=fA+(1-f)\mathrm{Tr}(A)\tfrac I2 of the depolarizing derivation, with Tr I=2\mathrm{Tr}\,I=2 and Tr σj=0\mathrm{Tr}\,\sigma_j=0.
  2. Step 2:
    (Dp⊗Dp)(A⊗B)=∑a,b(Ka⊗Kb)(A⊗B)(Ka⊗Kb)†=Dp(A)⊗Dp(B)(\mathcal D_p\otimes\mathcal D_p)(A\otimes B)=\sum_{a,b}(K_a\otimes K_b)(A\otimes B)(K_a\otimes K_b)^\dagger=\mathcal D_p(A)\otimes\mathcal D_p(B)
    The Kraus operators of the product channel are Ka⊗KbK_a\otimes K_b; the double sum factorises.
  3. Step 3:
    II↦II,XX↦f2XX,YY↦f2YY,ZZ↦f2ZZII\mapsto II,\qquad XX\mapsto f^2XX,\qquad YY\mapsto f^2YY,\qquad ZZ\mapsto f^2ZZ
    Each non-identity factor contributes one factor ff.
  4. Step 4:
    ρ=14(II+f2(XX−YY+ZZ))=f2⋅14(II+XX−YY+ZZ)+(1−f2)⋅14II\rho=\tfrac14\big(II+f^2(XX-YY+ZZ)\big)=f^2\cdot\tfrac14(II+XX-YY+ZZ)+(1-f^2)\cdot\tfrac14II
    Linearity applied to the Pauli expansion of the Bell projector; regroup the identity term.
  5. Step 5:
    ρ=f2 ∣Φ+⟩⟨Φ+∣+(1−f2) I4\rho=f^2\,\lvert\Phi^+\rangle\langle\Phi^+\rvert+(1-f^2)\,\frac I4
    The lemma again: the noisy pair is a mixture of the ideal pair and white noise, a Werner state with weight w=f2w=f^2.
  6. Step 6:
    ρ00,00=ρ11,11=f22+1−f24=1+f24,ρ01,01=ρ10,10=1−f24,ρ00,11=ρ11,00=f22\rho_{00,00}=\rho_{11,11}=\frac{f^2}2+\frac{1-f^2}4=\frac{1+f^2}4,\qquad\rho_{01,01}=\rho_{10,10}=\frac{1-f^2}4,\qquad\rho_{00,11}=\rho_{11,00}=\frac{f^2}2
    Read off the entries from f2f^2 times the Bell matrix plus 1−f24\tfrac{1-f^2}4 on the diagonal.
  7. Step 7:
    F=Tr(ρ ∣Φ+⟩⟨Φ+∣)=116 Tr[(II+f2(XX−YY+ZZ))(II+XX−YY+ZZ)]=4+12f216=1+3f24F=\mathrm{Tr}\big(\rho\,\lvert\Phi^+\rangle\langle\Phi^+\rvert\big)=\frac1{16}\,\mathrm{Tr}\Big[\big(II+f^2(XX-YY+ZZ)\big)\big(II+XX-YY+ZZ\big)\Big]=\frac{4+12f^2}{16}=\frac{1+3f^2}4
    Tr[(σa⊗σb)(σc⊗σd)]=Tr(σaσc) Tr(σbσd)=4 δacδbd\mathrm{Tr}\big[(\sigma_a\otimes\sigma_b)(\sigma_c\otimes\sigma_d)\big]=\mathrm{Tr}(\sigma_a\sigma_c)\,\mathrm{Tr}(\sigma_b\sigma_d)=4\,\delta_{ac}\delta_{bd}, so only the four diagonal pairs survive: 4+f2(4+4+4)4+f^2(4+4+4); note (−1)(−1)=1(-1)(-1)=1 for YYYY.
  8. Step 8:
    p=0.1: f=1−0.43=1315,f2=169225,F=14(1+507225)=732900=6175≈0.813333p=0.1:\ f=1-\tfrac{0.4}3=\tfrac{13}{15},\quad f^2=\tfrac{169}{225},\quad F=\tfrac14\Big(1+\tfrac{507}{225}\Big)=\tfrac{732}{900}=\tfrac{61}{75}\approx0.813333
    Exact arithmetic. Each qubit alone keeps the fidelity 12(1+f)≈0.9333\tfrac12(1+f)\approx0.9333 with its own pure input, but the pair loses more, because the correlations XX,YY,ZZXX,YY,ZZ decay with f2f^2.

∎

ρ=(1+f2400f2201−f2400001−f240f22001+f24)≈(0.437778000.37555600.06222200000.06222200.375556000.437778)\rho=\begin{pmatrix}\frac{1+f^2}4&0&0&\frac{f^2}2\\0&\frac{1-f^2}4&0&0\\0&0&\frac{1-f^2}4&0\\\frac{f^2}2&0&0&\frac{1+f^2}4\end{pmatrix}\approx\begin{pmatrix}0.437778&0&0&0.375556\\0&0.062222&0&0\\0&0&0.062222&0\\0.375556&0&0&0.437778\end{pmatrix}
Bell pair after local depolarizing noise, p = 0.14×4
Corollary

When does the noisy Bell pair stay entangled?

The Werner state ρw=w ∣Φ+⟩⟨Φ+∣+(1−w)I4\rho_w=w\,\lvert\Phi^+\rangle\langle\Phi^+\rvert+(1-w)\frac I4 is entangled if and only if w>13w>\tfrac13, equivalently F>12F>\tfrac12. Under local depolarizing noise w=f2w=f^2, so the pair stays entangled exactly for p<34(1−13)≈0.316987p<\tfrac34\big(1-\tfrac1{\sqrt3}\big)\approx0.316987.

Proof (7 steps)
  1. Step 1:
    (∣Φ+⟩⟨Φ+∣)TB=12∑i,j∣i⟩⟨j∣⊗(∣i⟩⟨j∣)T=12∑i,j∣i⟩⟨j∣⊗∣j⟩⟨i∣=12 SWAP\big(\lvert\Phi^+\rangle\langle\Phi^+\rvert\big)^{T_B}=\tfrac12\sum_{i,j}\lvert i\rangle\langle j\rvert\otimes\big(\lvert i\rangle\langle j\rvert\big)^{\mathsf T}=\tfrac12\sum_{i,j}\lvert i\rangle\langle j\rvert\otimes\lvert j\rangle\langle i\rvert=\tfrac12\,\mathrm{SWAP}
    Partial transpose on the second qubit; ∑ij∣i⟩⟨j∣⊗∣j⟩⟨i∣\sum_{ij}\lvert i\rangle\langle j\rvert\otimes\lvert j\rangle\langle i\rvert maps ∣ab⟩\lvert ab\rangle to ∣ba⟩\lvert ba\rangle.
  2. Step 2:
    ρwTB=w2 SWAP+1−w4 I,spec={1+w4 (×3), 1−3w4}\rho_w^{T_B}=\frac w2\,\mathrm{SWAP}+\frac{1-w}4\,I,\qquad\mathrm{spec}=\Big\{\tfrac{1+w}4\ (\times3),\ \tfrac{1-3w}4\Big\}
    SWAP\mathrm{SWAP} has eigenvalue +1+1 on the symmetric states ∣00⟩,∣11⟩,∣Ψ+⟩\lvert00\rangle,\lvert11\rangle,\lvert\Psi^+\rangle and −1-1 on the singlet ∣Ψ−⟩\lvert\Psi^-\rangle; ITB=II^{T_B}=I.
  3. Step 3:
    ρ=∑kqk αk⊗βk ⟹ ρTB=∑kqk αk⊗βkT⪰0\rho=\sum_kq_k\,\alpha_k\otimes\beta_k\ \Longrightarrow\ \rho^{T_B}=\sum_kq_k\,\alpha_k\otimes\beta_k^{\mathsf T}\succeq0
    Peres criterion: a separable state has a positive semidefinite partial transpose, since βkT\beta_k^{\mathsf T} is again a density matrix. Hence w>13w>\tfrac13, where 1−3w4<0\tfrac{1-3w}4<0, implies entanglement.
  4. Step 4:
    ρ1/3=14(II+13(XX−YY+ZZ))=13[14(II+XX)+14(II−YY)+14(II+ZZ)]\rho_{1/3}=\tfrac14\Big(II+\tfrac13(XX-YY+ZZ)\Big)=\tfrac13\Big[\tfrac14(II+XX)+\tfrac14(II-YY)+\tfrac14(II+ZZ)\Big]
    Converse at w=13w=\tfrac13: regroup the Pauli expansion into three terms.
  5. Step 5:
    14(II+XX)=12(∣++⟩⟨++∣+∣−−⟩⟨−−∣),  14(II−YY)=12(∣+i,−i⟩⟨⋅∣+∣−i,+i⟩⟨⋅∣),  14(II+ZZ)=12(∣00⟩⟨00∣+∣11⟩⟨11∣)\tfrac14(II+XX)=\tfrac12\big(\lvert{+}{+}\rangle\langle{+}{+}\rvert+\lvert{-}{-}\rangle\langle{-}{-}\rvert\big),\ \ \tfrac14(II-YY)=\tfrac12\big(\lvert{+i},{-i}\rangle\langle\cdot\rvert+\lvert{-i},{+i}\rangle\langle\cdot\rvert\big),\ \ \tfrac14(II+ZZ)=\tfrac12\big(\lvert00\rangle\langle00\rvert+\lvert11\rangle\langle11\rvert\big)
    Each term is a mixture of product states: e.g. ∣±±⟩⟨±±∣=14(I±X)⊗(I±X)\lvert{\pm}{\pm}\rangle\langle{\pm}{\pm}\rvert=\tfrac14(I\pm X)\otimes(I\pm X), and the cross terms ±(XI+IX)\pm(XI+IX) cancel in the average; likewise with the YY eigenstates ∣±i⟩\lvert{\pm i}\rangle, for which 14(I+Y)⊗(I−Y)\tfrac14(I+Y)\otimes(I-Y) and 14(I−Y)⊗(I+Y)\tfrac14(I-Y)\otimes(I+Y) average to 14(II−YY)\tfrac14(II-YY).
  6. Step 6:
    w≤13:ρw=3w ρ1/3+(1−3w) I4w\le\tfrac13:\quad\rho_w=3w\,\rho_{1/3}+(1-3w)\,\frac I4
    A convex combination of the separable ρ1/3\rho_{1/3} and the product state I2⊗I2\tfrac I2\otimes\tfrac I2 is separable: 3w(13Φ++23I4)+(1−3w)I4=wΦ++(1−w)I43w\big(\tfrac13\Phi^++\tfrac23\tfrac I4\big)+(1-3w)\tfrac I4=w\Phi^++(1-w)\tfrac I4.
  7. Step 7:
    F=1+3w4>12  ⟺  w>13  ⟺  f>13  ⟺  p<34(1−13)≈0.316987F=\frac{1+3w}4>\frac12\iff w>\frac13\iff f>\frac1{\sqrt3}\iff p<\frac34\Big(1-\frac1{\sqrt3}\Big)\approx0.316987
    Insert w=f2w=f^2, f=1−4p3f=1-\tfrac{4p}3, and solve; for p=0.1p=0.1, w=169225>13w=\tfrac{169}{225}>\tfrac13, so the pair is still entangled (the partial transpose has the eigenvalue 1−3w4≈−0.3133\tfrac{1-3w}4\approx-0.3133).

∎

The same Pauli-basis argument scales to deep circuits. If every layer is followed by depolarizing noise of strength pp on each qubit, a kk-local Pauli observable measured after LL layers is multiplied by roughly fkLf^{kL}. Expectation values, and with them the gradients of a variational circuit, are pulled towards zero exponentially in the depth: a noise-induced barren plateau, which no choice of initial parameters can avoid. The next lesson turns this predictable damping into a resource. Zero-noise extrapolation measures the damped values at amplified noise levels and extrapolates back to zero noise.

Noisy circuits on the platform#

In a platform circuit, noise channels are operations of their own. In the circuit IR a channel op is written {kind: channel, channel, targets, params}\{\text{kind: channel},\ \text{channel},\ \text{targets},\ \text{params}\}, with the channel names amplitudeDamping [γ][\gamma], phaseDamping [λ][\lambda], depolarizing [p][p], bitFlip [p][p], phaseFlip [p][p] and thermalRelaxation [T1,T2,t][T_1,T_2,t]. In the lab circuit script the same channels are statements with the qubit first, for example thermalRelaxation(0, 50, 30, 10)\texttt{thermalRelaxation(0, 50, 30, 10)}. Any circuit that contains a channel is simulated exactly on the density-matrix backend, which stores the full 2n×2n2^n\times2^n matrix and applies each Kraus set with ρ↦∑kKkρKk†\rho\mapsto\sum_kK_k\rho K_k^\dagger. This limits noisy simulation to 1010 qubits, against 2020 for pure statevectors.

The TypeScript cell below runs four experiments on the engine. (1) It shows that HH followed by phase damping 0.640.64 and HH followed by depolarizing 0.30.3 give the same state, and that the two channels differ on ∣0⟩\lvert0\rangle. (2) It checks the semigroup law: idling 10 μs10\,\mu\mathrm s and then 20 μs20\,\mu\mathrm s equals idling 30 μs30\,\mu\mathrm s. (3) It relaxes RY(2π/3)∣0⟩R_Y(2\pi/3)\lvert0\rangle, with r⃗(0)=(0.866,0,−0.5)\vec r(0)=(0.866,0,-0.5), under thermal relaxation with T1=50T_1=50, T2=30T_2=30, and compares the Bloch vector with the two exponential laws in parentheses. (4) It prepares the noisy Bell pair with p=0.1p=0.1 and prints its density matrix and fidelity.

TypeScriptrunnable
import { DensityMatrix, amplitudeDamping, blochVector, runCircuit } from '@/lib/quantum-simulator';

// Circuit-IR helpers: a gate op and a noise-channel op (channels run on the density-matrix backend).
const gate = (name: string, targets: number[], params?: number[]) => ({ kind: 'gate', gate: name, targets, ...(params ? { params } : {}) });
const channel = (name: string, target: number, params: number[]) => ({ kind: 'channel', channel: name, targets: [target], params });
const run = (numQubits: number, ops: object[]) =>
  new DensityMatrix(numQubits, runCircuit({ version: 1, numQubits, numClbits: 0, ops }, { backend: 'density', seed: 0 }).densityMatrix!);
const f6 = (v: number) => (Math.abs(v) < 5e-13 ? 0 : v).toFixed(6);
const show = (rho: DensityMatrix) =>
  '[' + Array.from({ length: rho.dim }, (_, r) => '[' + Array.from({ length: rho.dim }, (_, c) => f6(rho.get(r, c).re)).join(', ') + ']').join(', ') + ']';

// (1) Same output on |+>, different channels: phase damping 0.64 and depolarizing 0.3. On |0> they differ.
console.log('H; phaseDamping(0.64)  -> ' + show(run(1, [gate('H', [0]), channel('phaseDamping', 0, [0.64])])));
console.log('H; depolarizing(0.3)   -> ' + show(run(1, [gate('H', [0]), channel('depolarizing', 0, [0.3])])));
console.log('|0>: phaseDamping(0.64) -> ' + show(run(1, [channel('phaseDamping', 0, [0.64])])) + ', depolarizing(0.3) -> ' + show(run(1, [channel('depolarizing', 0, [0.3])])));

// (2) Amplitude damping is a semigroup: idling 10 us then 20 us equals idling 30 us (T1 = 50 us).
const T1 = 50, T2 = 30;
const gammaOf = (t: number) => 1 - Math.exp(-t / T1);
const excited = () => run(1, [gate('X', [0])]);
const twoSteps = excited().applyKraus(amplitudeDamping(gammaOf(10)), [0]).applyKraus(amplitudeDamping(gammaOf(20)), [0]);
const oneStep = excited().applyKraus(amplitudeDamping(gammaOf(30)), [0]);
console.log('P(1) after 10 + 20 us = ' + f6(twoSteps.get(1, 1).re) + ', after 30 us = ' + f6(oneStep.get(1, 1).re) + ', e^{-30/50} = ' + f6(Math.exp(-30 / T1)));

// (3) thermalRelaxation(T1, T2, t) on RY(2 pi/3)|0>: the Bloch vector follows the T1 / T2 formulas exactly.
const r0 = blochVector(run(1, [gate('RY', [0], [(2 * Math.PI) / 3])]));
for (const t of [0, 10, 30, 60, 150]) {
  const r = blochVector(run(1, [gate('RY', [0], [(2 * Math.PI) / 3]), channel('thermalRelaxation', 0, [T1, T2, t])]));
  const rx = r0.x * Math.exp(-t / T2);
  const rz = 1 - (1 - r0.z) * Math.exp(-t / T1);
  console.log('t = ' + String(t).padStart(3) + ': r_x = ' + f6(r.x) + ' (' + f6(rx) + '), r_z = ' + f6(r.z) + ' (' + f6(rz) + ')');
}

// (4) Bell state with local depolarizing noise p = 0.1 on both qubits: F = (1 + 3 f^2)/4 with f = 1 - 4p/3.
const p = 0.1, f = 1 - (4 * p) / 3;
const noisyBell = run(2, [gate('H', [0]), gate('CNOT', [0, 1]), channel('depolarizing', 0, [p]), channel('depolarizing', 1, [p])]);
const F = 0.5 * (noisyBell.get(0, 0).re + noisyBell.get(0, 3).re + noisyBell.get(3, 0).re + noisyBell.get(3, 3).re);
console.log('rho = ' + show(noisyBell));
console.log('F = <Phi+|rho|Phi+> = ' + F.toFixed(12) + ', (1 + 3 f^2)/4 = ' + ((1 + 3 * f * f) / 4).toFixed(12) + ', purity = ' + f6(noisyBell.purity()));

Expected output

H; phaseDamping(0.64)  -> [[0.500000, 0.300000], [0.300000, 0.500000]]
H; depolarizing(0.3)   -> [[0.500000, 0.300000], [0.300000, 0.500000]]
|0>: phaseDamping(0.64) -> [[1.000000, 0.000000], [0.000000, 0.000000]], depolarizing(0.3) -> [[0.800000, 0.000000], [0.000000, 0.200000]]
P(1) after 10 + 20 us = 0.548812, after 30 us = 0.548812, e^{-30/50} = 0.548812
t =   0: r_x = 0.866025 (0.866025), r_z = -0.500000 (-0.500000)
t =  10: r_x = 0.620534 (0.620534), r_z = -0.228096 (-0.228096)
t =  30: r_x = 0.318593 (0.318593), r_z = 0.176783 (0.176783)
t =  60: r_x = 0.117204 (0.117204), r_z = 0.548209 (0.548209)
t = 150: r_x = 0.005835 (0.005835), r_z = 0.925319 (0.925319)
rho = [[0.437778, 0.000000, 0.000000, 0.375556], [0.000000, 0.062222, 0.000000, 0.000000], [0.000000, 0.000000, 0.062222, 0.000000], [0.375556, 0.000000, 0.000000, 0.437778]]
F = <Phi+|rho|Phi+> = 0.813333333333, (1 + 3 f^2)/4 = 0.813333333333, purity = 0.673126

The table shows the two time scales. The transverse component has fallen to 0.00580.0058 after 150 μs=5T2150\,\mu\mathrm s=5T_2. The longitudinal component crosses zero when (1−rz(0))e−t/T1=1(1-r_z(0))e^{-t/T_1}=1, i.e. at t=T1ln⁡(1−rz(0))=50ln⁡1.5≈20.3 μst=T_1\ln\big(1-r_z(0)\big)=50\ln1.5\approx20.3\,\mu\mathrm s, and it is still 0.0750.075 below the ground state after 150 μs=3T1150\,\mu\mathrm s=3T_1. The NumPy cell below repeats the derivations of this lesson independently of the engine. It extracts the Kraus operators from the dilation UU by slicing its matrix, Kk[i,j]=⟨i,k∣U∣j,0⟩K_k[i,j]=\langle i,k\vert U\vert j,0\rangle, and checks the reduced evolution against ∑kKkρKk†\sum_kK_k\rho K_k^\dagger. It reproduces the relaxation table, checks the Pauli-twirl identity on a fixed non-Hermitian complex matrix and the shrink factors for p=0.3, 0.75, 1p=0.3,\ 0.75,\ 1, compares the two channels on ∣+⟩\lvert+\rangle and on ∣0⟩\lvert0\rangle, and evaluates the noisy Bell pair, including the negative eigenvalue of its partial transpose.

Pythonrunnable
import numpy as np

I2 = np.eye(2, dtype=complex)
X = np.array([[0, 1], [1, 0]], dtype=complex)
Y = np.array([[0, -1j], [1j, 0]])
Z = np.diag([1.0 + 0j, -1.0])

def apply(kraus, rho):
    return sum(K @ rho @ K.conj().T for K in kraus)

def complete(kraus):
    return np.allclose(sum(K.conj().T @ K for K in kraus), np.eye(kraus[0].shape[0]), atol=1e-12)

def amp_damp(g):
    return [np.diag([1, np.sqrt(1 - g)]).astype(complex), np.array([[0, np.sqrt(g)], [0, 0]], dtype=complex)]

def phase_damp(lam):
    return [np.diag([1, np.sqrt(1 - lam)]).astype(complex), np.diag([0, np.sqrt(lam)]).astype(complex)]

def depolarizing(p):
    return [np.sqrt(1 - p) * I2] + [np.sqrt(p / 3) * P for P in (X, Y, Z)]

def show(m):
    m = np.where(np.abs(m) < 5e-13, 0, m)
    cell = lambda z: f"{z.real:.6f}" if abs(z.imag) < 5e-13 else f"{z.real:.6f}{z.imag:+.6f}j"
    return "[[" + "], [".join(", ".join(cell(z) for z in row) for row in m) + "]]"

# (1) Stinespring -> Kraus: K_k = <k|_E U |0>_E for the amplitude-damping unitary on (system, environment).
g = 0.36
c, s = np.sqrt(1 - g), np.sqrt(g)
U = np.array([[1, 0, 0, 0], [0, c, s, 0], [0, -s, c, 0], [0, 0, 0, 1]], dtype=complex)  # basis |system env>
print("U unitary:", np.allclose(U.conj().T @ U, np.eye(4)))
K = [U.reshape(2, 2, 2, 2)[:, k, :, 0] for k in range(2)]  # K_k[i, j] = <i k| U |j 0>
print("K_0 =", show(K[0]), " K_1 =", show(K[1]), " complete:", complete(K))
rho = np.array([[0.3, 0.2 - 0.1j], [0.2 + 0.1j, 0.7]])
dilated = U @ np.kron(rho, np.diag([1, 0])) @ U.conj().T
reduced = np.einsum("iaja->ij", dilated.reshape(2, 2, 2, 2))  # partial trace over the environment
print("Tr_E[U(rho x |0><0|)U+] =", show(reduced), " = sum_k K rho K+:", np.allclose(reduced, apply(K, rho)))

# (2)-(4) T1 / T2 relaxation of the Bloch vector of RY(2 pi / 3)|0>, r(0) = (sin 2pi/3, 0, cos 2pi/3).
T1, T2 = 50.0, 30.0
Tphi = 1 / (1 / T2 - 1 / (2 * T1))
print(f"T1 = {T1}, T2 = {T2}: T_phi = {Tphi:.6f}, 2*T1 = {2 * T1}")
th = 2 * np.pi / 3
psi = np.array([np.cos(th / 2), np.sin(th / 2)], dtype=complex)
rho0 = np.outer(psi, psi.conj())
bloch = lambda r: np.real([np.trace(r @ P) for P in (X, Y, Z)])
rx0, rz0 = bloch(rho0)[0], bloch(rho0)[2]
print("   t    r_x       r_z     | r_x(0)e^{-t/T2}  1-(1-r_z(0))e^{-t/T1}")
for t in (0, 10, 30, 60, 150):
    gamma, lam = 1 - np.exp(-t / T1), 1 - np.exp(-2 * t / Tphi)
    r = bloch(apply(phase_damp(lam), apply(amp_damp(gamma), rho0)))
    print(f"{t:4d}  {r[0]:+.6f} {r[2]:+.6f} |  {rx0 * np.exp(-t / T2):+.6f}         {1 - (1 - rz0) * np.exp(-t / T1):+.6f}")

# Semigroup: idle periods of 10 us and 20 us compose to one of 30 us, since 1 - gamma = (1 - g1)(1 - g2).
g1, g2, g3 = (1 - np.exp(-t / T1) for t in (10, 20, 30))
r1 = apply(amp_damp(g2), apply(amp_damp(g1), rho0))
print(f"AD(g2) AD(g1) = AD(g): {np.allclose(r1, apply(amp_damp(g3), rho0))}, (1-g1)(1-g2) = {(1 - g1) * (1 - g2):.6f} = 1-g = {1 - g3:.6f}")

# (5) Depolarizing: sum_P P A P = 2 Tr(A) I for any 2x2 A, and the Bloch vector shrinks by 1 - 4p/3.
A = np.array([[1 + 2j, -0.5], [3j, 4 - 1j]])
print("sum_P P A P = 2 Tr(A) I:", np.allclose(sum(P @ A @ P for P in (I2, X, Y, Z)), 2 * np.trace(A) * I2))
for p in (0.3, 0.75, 1.0):
    out = apply(depolarizing(p), rho)
    print(f"p = {p:.2f}: r_out = {1 - 4 * p / 3:+.6f} * r_in:", np.allclose(bloch(out), (1 - 4 * p / 3) * bloch(rho)))

# Same output on |+>, different channels: phase damping 0.64 and depolarizing 0.3; they differ on |0>.
plus = np.full((2, 2), 0.5, dtype=complex)
zero = np.diag([1, 0]).astype(complex)
print("|+>: PD(0.64) ->", show(apply(phase_damp(0.64), plus)), " DEP(0.3) ->", show(apply(depolarizing(0.3), plus)))
print("|0>: PD(0.64) ->", show(apply(phase_damp(0.64), zero)), " DEP(0.3) ->", show(apply(depolarizing(0.3), zero)))

# (6) Bell state |Phi+> with local depolarizing p = 0.1 on both qubits.
p = 0.1
f = 1 - 4 * p / 3
phi = np.array([1, 0, 0, 1], dtype=complex) / np.sqrt(2)
bell = np.outer(phi, phi.conj())
print("|Phi+><Phi+| = (II + XX - YY + ZZ)/4:", np.allclose(bell, (np.eye(4) + np.kron(X, X) - np.kron(Y, Y) + np.kron(Z, Z)) / 4))
noisy = apply([np.kron(Ka, Kb) for Ka in depolarizing(p) for Kb in depolarizing(p)], bell)
F = np.real(phi.conj() @ noisy @ phi)
print(f"f = {f:.10f}, F = {F:.10f}, (1 + 3 f^2)/4 = {(1 + 3 * f ** 2) / 4:.10f}")
print("rho =", show(noisy))
print(f"(1 + f^2)/4 = {(1 + f ** 2) / 4:.6f}, (1 - f^2)/4 = {(1 - f ** 2) / 4:.6f}, f^2/2 = {f ** 2 / 2:.6f}")
pt = noisy.reshape(2, 2, 2, 2).transpose(0, 3, 2, 1).reshape(4, 4)  # partial transpose on qubit 1
print(f"min eigenvalue of the partial transpose = {np.linalg.eigvalsh(pt).min():.10f} = (1 - 3 f^2)/4 = {(1 - 3 * f ** 2) / 4:.10f}")

Expected output

U unitary: True
K_0 = [[1.000000, 0.000000], [0.000000, 0.800000]]  K_1 = [[0.000000, 0.600000], [0.000000, 0.000000]]  complete: True
Tr_E[U(rho x |0><0|)U+] = [[0.552000, 0.160000-0.080000j], [0.160000+0.080000j, 0.448000]]  = sum_k K rho K+: True
T1 = 50.0, T2 = 30.0: T_phi = 42.857143, 2*T1 = 100.0
   t    r_x       r_z     | r_x(0)e^{-t/T2}  1-(1-r_z(0))e^{-t/T1}
   0  +0.866025 -0.500000 |  +0.866025         -0.500000
  10  +0.620534 -0.228096 |  +0.620534         -0.228096
  30  +0.318593 +0.176783 |  +0.318593         +0.176783
  60  +0.117204 +0.548209 |  +0.117204         +0.548209
 150  +0.005835 +0.925319 |  +0.005835         +0.925319
AD(g2) AD(g1) = AD(g): True, (1-g1)(1-g2) = 0.548812 = 1-g = 0.548812
sum_P P A P = 2 Tr(A) I: True
p = 0.30: r_out = +0.600000 * r_in: True
p = 0.75: r_out = +0.000000 * r_in: True
p = 1.00: r_out = -0.333333 * r_in: True
|+>: PD(0.64) -> [[0.500000, 0.300000], [0.300000, 0.500000]]  DEP(0.3) -> [[0.500000, 0.300000], [0.300000, 0.500000]]
|0>: PD(0.64) -> [[1.000000, 0.000000], [0.000000, 0.000000]]  DEP(0.3) -> [[0.800000, 0.000000], [0.000000, 0.200000]]
|Phi+><Phi+| = (II + XX - YY + ZZ)/4: True
f = 0.8666666667, F = 0.8133333333, (1 + 3 f^2)/4 = 0.8133333333
rho = [[0.437778, 0.000000, 0.000000, 0.375556], [0.000000, 0.062222, 0.000000, 0.000000], [0.000000, 0.000000, 0.062222, 0.000000], [0.375556, 0.000000, 0.000000, 0.437778]]
(1 + f^2)/4 = 0.437778, (1 - f^2)/4 = 0.062222, f^2/2 = 0.375556
min eigenvalue of the partial transpose = -0.3133333333 = (1 - 3 f^2)/4 = -0.3133333333

The lab has two steps. First, compute the damping parameter and the surviving excited population of a qubit that idles for 10 μs10\,\mu\mathrm s with T1=50 μsT_1=50\,\mu\mathrm s. Second, build a one-gate circuit with noise channels that prepares ρ=(0.50.30.30.5)\rho=\begin{pmatrix}0.5&0.3\\0.3&0.5\end{pmatrix} from ∣0⟩\lvert0\rangle; the grader simulates it on the density-matrix backend and compares the result by trace distance.

References

  1. M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, 10th anniversary edition, Cambridge University Press (2010), chapter 8: Quantum noise and quantum operations.doi:10.1017/CBO9780511976667
  2. P. Krantz, M. Kjaergaard, F. Yan, T. P. Orlando, S. Gustavsson and W. D. Oliver, A quantum engineer's guide to superconducting qubits, Applied Physics Reviews 6, 021318 (2019).doi:10.1063/1.5089550
  3. W. F. Stinespring, Positive functions on C*-algebras, Proceedings of the American Mathematical Society 6, 211–216 (1955).doi:10.1090/S0002-9939-1955-0069403-4
  4. M.-D. Choi, Completely positive linear maps on complex matrices, Linear Algebra and its Applications 10, 285–290 (1975).doi:10.1016/0024-3795(75)90075-0
  5. A. Peres, Separability criterion for density matrices, Physical Review Letters 77, 1413–1415 (1996).doi:10.1103/PhysRevLett.77.1413
  6. R. F. Werner, Quantum states with Einstein-Podolsky-Rosen correlations admitting a hidden-variable model, Physical Review A 40, 4277–4281 (1989).doi:10.1103/PhysRevA.40.4277
  7. PennyLane documentation: qml.DepolarizingChannel (Kraus operators √(1−p) I, √(p/3) X, √(p/3) Y, √(p/3) Z).docs.pennylane.ai
  8. PennyLane documentation: qml.AmplitudeDamping, qml.PhaseDamping and qml.ThermalRelaxationError.docs.pennylane.ai
  9. Qiskit Aer documentation: noise.depolarizing_error (E(ρ) = (1 − λ)ρ + λ I/2ⁿ) and noise.thermal_relaxation_error.qiskit.github.io

Hands-on labs

  • Amplitude damping, T1 decay and engineered dephasing

    2 steps · auto-graded

    Compute the energy-relaxation probability γ=1−e−t/T1\gamma=1-e^{-t/T_1} of an idling qubit and its surviving excited population, then build a one-qubit noisy circuit that prepares the mixed state ρ=(0.50.30.30.5)\rho=\begin{pmatrix}0.5&0.3\\0.3&0.5\end{pmatrix} from ∣0⟩\lvert0\rangle with one gate and noise channels simulated on the density-matrix backend.

    Open lab