Skip to content

Bloch Vector Noise Models

This notebook guide specifies a reproducible qubit calculation for visualizing noise models in Bloch-vector form. The goal is to simulate dephasing, depolarizing, and amplitude-damping channels, plot Bloch-vector trajectories, and compare discrete channels with continuous-time master-equation limits.

As of this review, no executable notebook under notebooks/density-open-systems/bloch-vector-noise-models/ is promoted as a reproduced artifact. This page is the admission contract for that notebook: it states the models, basis conventions, analytic checks, plotting requirements, and validation tests required before its numerical outputs should be cited.

The notebook should demonstrate how to:

  • convert between density matrices and Bloch vectors;
  • apply standard qubit noise channels to fixed test states;
  • visualize contractions, translations, and fixed points inside the Bloch ball;
  • compare channel parameters with continuous-time rates;
  • validate trace preservation, Hermiticity, positivity, and Bloch-ball constraints;
  • diagnose convention mistakes in basis ordering and Pauli-matrix signs;
  • keep exploratory plots separate from accepted reproducible outputs.

The first version should stay deliberately small. A single qubit is enough to expose the relationship between channel formulas, master-equation rates, and geometric intuition.

Use a dedicated directory:

notebooks/density-open-systems/bloch-vector-noise-models/
bloch-vector-noise-models.ipynb
README.md

The opening notebook cell or README.md should state:

  • Python and package versions;
  • basis ordering and Pauli-matrix convention;
  • whether ∣0⟩|0\rangle is the +z+z or −z-z Bloch-sphere pole;
  • channel parameter definitions;
  • rate conventions for continuous-time comparisons;
  • numerical tolerance for positivity and trace checks;
  • plotting backend and saved-output paths;
  • date and commit identifier when the notebook is promoted.

Use

ρ=12(I+r⋅σ),\rho = \frac12 \left( I+\mathbf r\cdot\boldsymbol\sigma \right),

with

rj=Tr⁡(ρσj),j=x,y,z.r_j = \operatorname{Tr}(\rho\sigma_j), \qquad j=x,y,z.

The notebook should use the standard matrices

σx=(0110),σy=(0−ii0),σz=(100−1).\sigma_x = \begin{pmatrix} 0&1\\ 1&0 \end{pmatrix}, \qquad \sigma_y = \begin{pmatrix} 0&-i\\ i&0 \end{pmatrix}, \qquad \sigma_z = \begin{pmatrix} 1&0\\ 0&-1 \end{pmatrix}.

With this convention, the state ∣0⟩=(1,0)T|0\rangle=(1,0)^{\mathsf T} is the +z+z pole and ∣1⟩=(0,1)T|1\rangle=(0,1)^{\mathsf T} is the −z-z pole.

A physical qubit state satisfies

∥r∥2≤1.\left\|\mathbf r\right\|_2 \le 1.

The notebook should verify this inequality after every channel application. A norm slightly above 11 at the level of roundoff should be reported separately from a true positivity failure.

Every qubit channel acts on Bloch vectors as an affine map

r′=Mr+c,\mathbf r' = M\mathbf r+\mathbf c,

where MM is a real 3×33\times3 matrix and c\mathbf c is a real translation vector. Unital channels have c=0\mathbf c=0 and send the maximally mixed state to itself. Amplitude damping is not unital; it translates the Bloch ball toward the ground state.

The notebook should compute MM and c\mathbf c numerically from channel action on the four states

I2,I+σx2,I+σy2,I+σz2,\frac{I}{2}, \qquad \frac{I+\sigma_x}{2}, \qquad \frac{I+\sigma_y}{2}, \qquad \frac{I+\sigma_z}{2},

then compare against analytic formulas. This catches transposition, basis, and sign mistakes that may not show up in one trajectory.

Implement at least three noise models.

Use the dephasing-channel convention

(rx,ry,rz)↦(λrx,λry,rz),−1≤λ≤1.(r_x,r_y,r_z) \mapsto (\lambda r_x,\lambda r_y,r_z), \qquad -1\le\lambda\le1.

For a continuous pure-dephasing model with coherence decay rate Γϕ\Gamma_\phi,

λ(t)=e−Γϕt.\lambda(t) = e^{-\Gamma_\phi t}.

The notebook should plot a trajectory whose transverse components shrink while rzr_z is unchanged. It should also test a state on the equator, where the visual contraction is easiest to see.

Use the qubit depolarizing-channel convention

r↦λr.\mathbf r \mapsto \lambda\mathbf r.

Complete positivity requires

−13≤λ≤1.- \frac13 \le \lambda \le 1.

The notebook should test at least one valid negative λ\lambda and one invalid value below −1/3-1/3. The invalid value should fail a Choi-positivity check in the companion channel-simulation helpers, not merely look odd in a plot.

For a continuous-time depolarizing semigroup, one common parametrization is

λ(t)=e−Γdept.\lambda(t) = e^{-\Gamma_{\mathrm{dep}}t}.

The notebook must state which generator convention produces this decay.

Use the zero-temperature amplitude-damping Kraus operators

K0=(1001−p),K1=(0p00),0≤p≤1.K_0 = \begin{pmatrix} 1&0\\ 0&\sqrt{1-p} \end{pmatrix}, \qquad K_1 = \begin{pmatrix} 0&\sqrt p\\ 0&0 \end{pmatrix}, \qquad 0\le p\le1.

With the ∣0⟩|0\rangle as +z+z convention, the Bloch-vector action is

rx′=1−p rx,ry′=1−p ry,rz′=p+(1−p)rz.\begin{aligned} r_x'&=\sqrt{1-p}\,r_x,\\ r_y'&=\sqrt{1-p}\,r_y,\\ r_z'&=p+(1-p)r_z. \end{aligned}

For the continuous spontaneous-emission master equation,

p(t)=1−e−γt.p(t) = 1-e^{-\gamma t}.

The notebook should show that all initial states flow toward the ground-state fixed point

r∞=(0,0,1).\mathbf r_\infty = (0,0,1).

The notebook should compare finite-time channels with master-equation solutions in at least two ways:

  1. Use analytic finite-time parameters such as λ(t)=e−Γϕt\lambda(t)=e^{-\Gamma_\phi t} and p(t)=1−e−γtp(t)=1-e^{-\gamma t}.
  2. Use the finite-time map Φt=etL\Phi_t=e^{t\mathcal L} from the vectorized Liouvillian in Solving Lindblad Equations.

The comparison should report a numerical error such as

ϵ(t)=max⁡ρ∈S∥Φtanalytic(ρ)−Φtnumeric(ρ)∥F,\epsilon(t) = \max_{\rho\in\mathcal S} \left\| \Phi_t^{\mathrm{analytic}}(\rho) - \Phi_t^{\mathrm{numeric}}(\rho) \right\|_F,

where S\mathcal S is a declared finite test set and ∥⋅∥F\|\cdot\|_F is the Frobenius norm.

This page does not require a full proof that the sampled set detects every possible error. It requires enough fixed tests that a convention mistake is likely to fail loudly.

Use a deterministic set of initial states:

ρ+x=12(I+σx),ρ+y=12(I+σy),ρ+z=12(I+σz),ρ−z=12(I−σz),ρmix=12I,ρoff=12(I+σx+σy+σz3).\begin{aligned} \rho_{+x}&=\frac12(I+\sigma_x),& \rho_{+y}&=\frac12(I+\sigma_y),\\ \rho_{+z}&=\frac12(I+\sigma_z),& \rho_{-z}&=\frac12(I-\sigma_z),\\ \rho_{\mathrm{mix}}&=\frac12I,& \rho_{\mathrm{off}}&= \frac12 \left( I+ \frac{\sigma_x+\sigma_y+\sigma_z}{\sqrt3} \right). \end{aligned}

Random states may be added after the deterministic tests pass, but they should not replace them.

The accepted notebook should produce:

  • a Bloch-ball or Bloch-disk plot for dephasing showing transverse contraction;
  • a depolarizing plot showing isotropic shrinkage toward the origin;
  • an amplitude-damping plot showing translation toward +z+z;
  • time traces of rx(t)r_x(t), ry(t)r_y(t), and rz(t)r_z(t) for at least one initial state;
  • an error-versus-time or error-versus-step-size diagnostic for a continuous-time comparison.

Plots should label the basis convention and channel parameter. A beautiful Bloch sphere is less important than a plot whose coordinates can be checked from the saved data.

The notebook should include automated checks:

CheckRequired condition
Hermiticity∥ρ−ρ†∥F\|\rho-\rho^\dagger\|_F below tolerance
trace$
positivitysmallest eigenvalue above negative tolerance
Bloch norm∥r∥2≤1\|\mathbf r\|_2\le1 within tolerance
Kraus completeness∥∑rKr†Kr−I∥F\|\sum_rK_r^\dagger K_r-I\|_F below tolerance
analytic Bloch mapmatrix-vector result agrees with formula
finite-time limitchannel and Liouvillian propagation agree

At least one deliberately invalid depolarizing parameter should fail positivity. A validation notebook that never tests a bad input may be less trustworthy than one that proves it can reject one.

The notebook should save:

notebooks/density-open-systems/bloch-vector-noise-models/outputs/
dephasing-bloch-trajectory.svg
depolarizing-bloch-trajectory.svg
amplitude-damping-bloch-trajectory.svg
bloch-noise-validation.json

The validation file should include:

  • package versions;
  • declared basis convention;
  • channel parameters;
  • numerical tolerances;
  • maximum trace error;
  • minimum eigenvalue observed;
  • maximum analytic-comparison error;
  • whether the invalid-channel test failed as expected.

No page in the documentation should cite these plots as authoritative until the validation file exists and the notebook has a reproducibility status entry.

  • Using ∣0⟩|0\rangle as the north pole in one cell and the south pole in another.
  • Confusing the dephasing shrink factor λ\lambda with a probability parameter.
  • Applying amplitude damping with the ground and excited states swapped.
  • Assuming every affine map that keeps a few plotted points inside the Bloch ball is completely positive.
  • Comparing a channel parameter pp directly with a rate γ\gamma instead of using p(t)=1−e−γtp(t)=1-e^{-\gamma t}.
  • Letting a numerical ODE step produce a slightly unphysical state without measuring the error.
  • Drawing Bloch trajectories without saving the numeric coordinates used to make them.

For

ρ=(3/41/41/41/4),\rho = \begin{pmatrix} 3/4&1/4\\ 1/4&1/4 \end{pmatrix},

compute the Bloch vector in the convention of this page.

Solution

Use rj=Tr⁡(ρσj)r_j=\operatorname{Tr}(\rho\sigma_j). The diagonal entries give

rz=ρ00−ρ11=34−14=12.r_z = \rho_{00}-\rho_{11} = \frac34-\frac14 = \frac12.

The real off-diagonal part gives

rx=ρ01+ρ10=12,r_x = \rho_{01}+\rho_{10} = \frac12,

and the imaginary off-diagonal part gives

ry=−iρ01+iρ10=0.r_y = -i\rho_{01}+i\rho_{10} = 0.

Thus

r=(12,0,12).\mathbf r = \left( \frac12,0,\frac12 \right).

An initial state has Bloch vector r(0)=(1,0,0)\mathbf r(0)=(1,0,0). Under pure dephasing with λ(t)=e−Γϕt\lambda(t)=e^{-\Gamma_\phi t}, what is r(t)\mathbf r(t)?

Solution

Dephasing maps

(rx,ry,rz)↦(λrx,λry,rz).(r_x,r_y,r_z) \mapsto (\lambda r_x,\lambda r_y,r_z).

Therefore

r(t)=(e−Γϕt,0,0).\mathbf r(t) = \left( e^{-\Gamma_\phi t},0,0 \right).

The state moves inward along the xx axis toward the maximally mixed state.

Show that the amplitude-damping affine map on this page has fixed point (0,0,1)(0,0,1) for any 0<p≤10\lt p\le1.

Solution

The map is

rx′=1−p rx,ry′=1−p ry,rz′=p+(1−p)rz.r_x'=\sqrt{1-p}\,r_x, \qquad r_y'=\sqrt{1-p}\,r_y, \qquad r_z'=p+(1-p)r_z.

A fixed point satisfies rx′=rxr_x'=r_x and ry′=ryr_y'=r_y. For p>0p\gt0, 1−p≠1\sqrt{1-p}\ne1, so rx=ry=0r_x=r_y=0.

For rzr_z,

rz=p+(1−p)rz.r_z = p+(1-p)r_z.

Thus

prz=p,pr_z=p,

and since p>0p\gt0,

rz=1.r_z=1.

The fixed point is therefore (0,0,1)(0,0,1), the ground state in this convention.

Why should a notebook deliberately test a depolarizing shrink factor λ<−1/3\lambda\lt-1/3?

Solution

For a qubit depolarizing channel, complete positivity requires −1/3≤λ≤1-1/3\le\lambda\le1. A value below −1/3-1/3 can still send some individual Bloch vectors to points inside the Bloch ball, so plotting a few states is not enough. Testing an invalid value verifies that the Choi-positivity check can reject maps that are positive-looking in limited samples but not valid quantum channels.

  • M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 2010.
  • H.-P. Breuer and F. Petruccione, The Theory of Open Quantum Systems, Oxford University Press, 2002.
  • I. Bengtsson and K. Życzkowski, Geometry of Quantum States, Cambridge University Press, 2006.
  • J. Preskill, Lecture Notes for Physics 229: Quantum Information and Computation, California Institute of Technology.