Pith. sign in

REVIEW 3 major objections 4 minor 7 references

A Software Simulator for Noisy Quantum Circuits

T0 review · 3 major / 4 minor · reviewed 2026-08-14 · deepseek-v4-flash

Pith's one-line read This paper constructs a software simulator that represents noisy quantum circuits as density matrices in the Pauli basis and returns the complete output distribution in a single run.

desk verdict Useful educational Qiskit backend for noisy density-matrix simulation, but the multi-qubit Pauli-string measurement update is genuinely wrong and needs fixing before anyone trusts mid-circuit measurements. read the letter →

arxiv 1908.05154 v2 pith:7IBL2ED4 submitted 2019-08-14 quant-ph

classification quant-ph MSC 81P68 PACS 03.67.-a03.67.Lx
keywords quantumcircuitsimulationdensitymatrixinPaulibasisnoisemodelsKrausoperatorsdecoherenceamplitudedampingTrotterpartitionNISQ
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

The paper constructs a software library that simulates quantum logic circuits under realistic noise by tracking the full density matrix rather than a wavefunction. It expresses the $n$-qubit density matrix in the Pauli basis, which turns local gates, measurements, and error channels into updates of a few coefficients at a time. The simulator is added as a new backend to an established open-source quantum programming platform, and it models errors in initialization, gate execution, memory, and measurement with simple Kraus-operator channels. Because it keeps the full density matrix, one run yields the complete output probability distribution, at the cost of $4^n$ coefficients; the authors demonstrate practical use on circuits of 10–15 qubits and identify which error types degrade addition and quantum Fourier transform circuits fastest. The value of the work is a portable, open tool for studying how imperfect hardware affects quantum algorithms before real hardware reaches the needed quality.

What carries the argument

The load-bearing object is the Pauli-basis density matrix, $\rho = \sum_{i_1,\ldots,i_n} a_{i_1\cdots i_n}(\sigma_{i_1}\otimes\cdots\otimes\sigma_{i_n})$, with $4^n$ real coefficients $a_{i_1\cdots i_n}$ instead of a $2^n\times 2^n$ complex matrix. Local operations—single- and two-qubit gates, single-qubit and ensemble measurements, and depolarizing, decoherence, and decay error channels—are implemented as transformations that touch only the coefficients whose subscripts those qubits carry. The circuit is reorganized into parallel partitions so that memory errors can be applied once per clock step through Kraus operators in the spirit of a Trotter expansion, and the identity $\mathrm{Tr}(O\rho)=2^n\sum a_{i_1\cdots i_n}b_{i_1\cdots i_n}$ gives all expectation values directly from the coefficients.

What would settle it

Run a set of 3-qubit random circuits with nonzero error parameters and compare the backend's output distribution with the distribution obtained by directly applying the stated Kraus operators to the full $2^n\times 2^n$ density matrix; any mismatch beyond floating-point precision would show that the Pauli-coefficient update or the partition-level Trotter step is not implementing the stated noise model. Equivalently, on a real device, prepare a two-qubit Bell state and watch its entanglement decay under free evolution; if the observed decay disagrees with the simulator's independent-qubit decoherence prediction even after parameter fitting, the independence assumption fails.

Watch

Extended reading notes

Core claim

The central claim is that a practical, open-source noisy-circuit simulator can be built by representing quantum states as density matrices expanded in the Pauli basis, and that all common sources of error—initial state preparation, imperfect rotation angles and CNOT pulses, imperfect projective measurements, and qubit memory decoherence and decay—can be folded into simple Kraus-operator models acting on the Pauli coefficients. The simulator is designed to mimic a noisy quantum processor closely enough that a remote user would not care whether a real processor or the simulator sits at the other end. On random circuits with no errors, it matches the platform's state-vector simulator exactly; with errors, it returns the full probability distribution in a single run and reproduces the expected exponential deterioration of signal with error rate. The authors demonstrate the behavior on binary addition and the quantum Fourier transform, showing that memory errors dominate and that decay drives output toward the thermal state while decoherence flattens the distribution.

Load-bearing premise

The simulation treats the environment as disturbing each qubit independently and applies memory errors only as discrete Kraus maps at the boundaries between clock steps, with no quantitative bound on that Trotter approximation.

Editorial extensions

If this is right

  • Circuits of about 10–15 qubits and up to about 1000 operations can be simulated in practical times, returning the full probability distribution in a single pass instead of many repeated shots.
  • Error parameters can be varied one at a time, so a user can identify which hardware imperfection most damages a given algorithm; the examples show memory errors (decoherence and decay) dominating over initialization, measurement, and gate errors.
  • The simulations reproduce the expected physics: success probability falls exponentially with error rate, fidelity drops quadratically then exponentially with qubit number and error strength, decay pushes output toward the thermal state, and decoherence flattens the distribution.
  • Because the simulator fits into a standard open-source quantum programming workflow, it can be used to test and validate designs for noisy processors and to train students in programming noisy quantum devices.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • The paper does not compare simulator output against data from real quantum hardware; if calibration data from a device were used to set the five error parameters, the same backend could serve as a device model, but that validation is left for future work.
  • The Trotter-style application of memory errors at partition boundaries has no stated error bound; a direct test would be to shrink the clock step and check that output distributions converge, which would also expose whether the partitioning itself biases the noise.
  • Correlated or non-Markovian noise across qubits is outside the model's assumptions; for such regimes the simulator would need either a model with correlated Kraus operators or an explicitly time-nonlocal memory, neither of which appears in the paper.
  • The Pauli-coefficient representation suggests a natural extension to sparse or subsystem-supported coefficient sets for larger qubit numbers under restricted noise, though the paper does not pursue this.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 4 minor

Summary. The manuscript describes an open-source Python simulator for noisy quantum circuits, implemented as a new backend to IBM's Qiskit. The density matrix is represented in the Pauli basis, and gates act by linear transformations on the 4^n real coefficients. Noise is included through user-supplied models for initialisation, gate-angle errors, memory decoherence/decay, and measurement errors. Circuits are preprocessed, merged, and partitioned into parallel clock steps, with memory errors applied at partition boundaries. The noiseless limit is validated against Qiskit's statevector simulator, and two examples (binary addition and the quantum Fourier transform) are used to illustrate success probability and fidelity versus error parameters.

Significance. The paper has a useful niche as an educational and prototyping tool: it is open source, it uses standard Kraus-map noise models, it yields the complete output probability distribution in a single run, and the noiseless benchmark against Qiskit is a clean implementation check. The reported scale (10–15 qubits) is modest but appropriate for the stated NISQ-education purpose. However, the incorrect Pauli-string measurement update in §II.C is a correctness bug in an advertised measurement option, and the noisy predictions are not validated against an independent density-matrix simulator or analytic results. These issues must be addressed before the central claims of faithful noisy simulation can be accepted. The explicit restriction to independent, Markovian noise is a reasonable scope limitation; what is missing is a quantitative statement of the resulting approximation error.

major comments (3)
  1. [II.C and III.C] The update rule in the first bullet of §II.C is not the correct joint projective measurement for a Pauli-string observable. For an observable O = σ_{i1} ⊗ ... ⊗ σ_{in} with O² = I, the unread-measurement superoperator is ρ → (ρ + OρO)/2, which retains every Pauli term that commutes with O. The rule 'projecting the coefficients with subscripts i_k ∈ {1,2,3}' on each measured qubit discards non-identity Pauli terms individually, including terms that commute with O. For O = σ1 ⊗ σ1 and ρ = |Φ+⟩⟨Φ+|, the correct map is the identity because the outcome is deterministic, whereas the described update returns at best (1/4)(I⊗I + σ1⊗σ1), and in the natural reading also zeroes the σ1⊗σ1 term. Section III.C carries the same per-qubit projection into the noisy case, so the error persists when d1 ≠ 1. Any circuit that performs a multi-qubit Pauli-string measurement before the end of the computation is therefore corrupted; this is a correctness bug in an advertised capability, not a modeling approximation.
  2. [III.D and IV] §III.D applies memory errors at partition boundaries with the justification 'in the spirit of the Trotter expansion,' but no quantitative bound is given for the approximation error in terms of Δt/T1, Δt/T2, and the noncommutativity of the operations within a partition. The validation in §IV covers only the all-errors-off case against Qiskit's statevector simulator; the noisy predictions in Figs. 1 and 2 are not checked against an independent density-matrix simulation or an analytic solution. Since the central claim of the paper concerns noisy simulation, the quantitative accuracy of the noise model is unsubstantiated. I am not objecting to the explicitly stated independent, Markovian noise assumption; the missing piece is either an error bound for the partition-level memory update or an independent noisy benchmark.
  3. [II.D and III.B] The gate-merging step in §II.D is performed before noise parameters are assigned, but the manuscript never states how the rotation-error parameters α_bar and r (or the analogous CNOT parameters) transform under merging. Two consecutive noisy rotations are not equivalent to a single rotation with the same error parameters, so as written the simulator's output for a given user circuit depends on an undocumented circuit-optimization choice. This matters for the stated purpose of mimicking a noisy processor. Please either apply gate errors to the original, unmerged instruction sequence, or supply and justify a composition law for the noise parameters under merging.
minor comments (4)
  1. [II.C and III.C] The probability expressions (1/2)(1 ± 2n n̂·c) and (1/2)(1 ± 2nd1 n̂·c) are hard to parse; the factor '2n' is not defined. Please write the single-qubit formulas with explicit factors and clarify the meaning of n.
  2. [Fig. 6] The pseudocode in Fig. 6, lines 33–34 and 48–49, has parenthesization errors in the allDummy conditions: as printed, 'isMeasure(iStack[x][0] and not isMeasureDummy(iStack[x][0]))' passes a Boolean expression to isMeasure. This makes the algorithm ill-defined as written; please correct and check against the released code.
  3. [IV] The performance claims ('10 qubits and 100 operations in a few minutes on a laptop; ... 15 qubits and 1000 operations on more powerful dedicated computers') are given without benchmark data. Please report machine configuration, wall-clock time, and memory usage for representative circuits.
  4. [I and IV] A short comparison with existing noisy density-matrix simulators (e.g., Qiskit Aer's noisy simulation mode) would clarify the novel contribution of the 'aakash' backend beyond being a Pauli-basis implementation.

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: the simulator's outputs follow directly from user-supplied noise models, and no fitted parameter is repackaged as a prediction.

full rationale

The paper's central claim is the construction of a density-matrix simulator backend for Qiskit with simple, user-parameterized noise models. Every noise parameter (p, alpha-bar, r, d1, d2, f, g) is an input chosen by the user, and the simulation outputs are deterministic consequences of the stated Kraus maps and update rules. There is no parameter fitted to a subset of data and then renamed a prediction, and no quantity claimed to be derived from first principles is in fact defined in terms of that same quantity. The only benchmark reported is agreement with Qiskit's state-vector simulator when all errors are absent; that is an external reference implementation, and matching it is a consistency check rather than a circular construction. The paper does not rely on any load-bearing self-citation, uniqueness theorem, or ansatz imported from prior work by the same authors. The observed exponential deterioration of success probability and fidelity is an illustrative simulation output, not a fitted or validated predictive claim. Even where there may be correctness concerns about specific measurement update rules, those are implementation bugs rather than circular reasoning. The derivation chain is self-contained and the reported examples are not forced by construction.

Assumptions & free parameters 6 free parameters · 5 assumptions · 0 invented entities

The central claim (a working noisy simulator) rests on standard quantum mechanics and on explicit domain assumptions about noise structure (independence, Markovianity, Trotterized time evolution). The noise parameters are user-provided inputs, not fitted to data, so they are not free parameters in the sense of fitting. No new physical entities are introduced.

free parameters (6)
  • p (thermal population parameter) = user-specified
    Provided by the user for the initial thermal state and the thermal decay target; not fitted to data.
  • alpha_bar and r (rotation error parameters) = user-specified
    Mean and coherence of the rotation angle inaccuracy for single-qubit gates; user inputs.
  • d1 (single-qubit measurement depolarization factor) = user-specified
    Reduces post-measurement coefficients for single-qubit projective measurements; user input.
  • d2 (Bell-basis measurement error factor) = user-specified
    Reduces non-zero Pauli coefficients in Bell-basis measurements; user input.
  • f (decoherence factor) = user-specified
    Set as f = exp(-dt/T2) where T2 is the user-supplied dephasing time.
  • g (decay factor) = user-specified
    Set as g = exp(-dt/T1) where T1 is the user-supplied relaxation time.
assumptions (5)
  • standard math Density matrix formalism and Kraus operator-sum representation correctly describe open quantum system evolution.
    Used throughout Sections II and III; this is textbook quantum mechanics.
  • domain assumption The environment disturbs each qubit independently.
    Section III: 'Assuming that the environment disturbs each qubit independently...' This excludes correlated noise.
  • domain assumption Memory errors can be approximated by applying Kraus maps at partition boundaries (Trotterization).
    Section III.D: 'we implement them by modifying the density matrix at the end of every clock step, in the spirit of the Trotter expansion.' No bound on the Trotter error is given.
  • domain assumption Classical program instructions are error-free and execute with a fixed clock step.
    Section III: 'So we safely assume that they are error-free.'
  • standard math The Pauli-basis expansion with the stated normalization constraint (a_00...0 = 2^-n) is a valid representation of density matrices.
    Section II.A; follows from the orthogonality and completeness of the Pauli basis.

how reviews work

0 comments
Cite this review

Pith. "Pith review of A Software Simulator for Noisy Quantum Circuits." pith.science (2026). https://pith.science/paper/7IBL2ED4

@misc{pith2026190805154,
  author       = {Pith},
  title        = {Pith review of: A Software Simulator for Noisy Quantum Circuits},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/7IBL2ED4}},
  note         = {Machine review of arXiv:1908.05154}
}
read the original abstract

We have developed a software library that simulates noisy quantum logic circuits. We represent quantum states by their density matrices in the Pauli basis, and incorporate possible errors in initialisation, logic gates, memory and measurement using simple models. Our quantum simulator is implemented as a new backend on IBM's open-source Qiskit platform. In this document, we provide its description, and illustrate it with some simple examples.

Figures

Figures reproduced from arXiv: 1908.05154 by the authors.

Figure 1
Figure 1. FIG. 1: Success probability of the binary addition program, [PITH_FULL_IMAGE:figures/full_fig_p005_1.png] view at source ↗
Figure 2
Figure 2. FIG. 2: Fidelity of the Quantum Fourier Transform program, [PITH_FULL_IMAGE:figures/full_fig_p006_2.png] view at source ↗
Figure 3
Figure 3. FIG. 3: (Top) A quantum logic circuit with commonly used [PITH_FULL_IMAGE:figures/full_fig_p007_3.png] view at source ↗
Figures from the paper (3 more)
Figure 4
Figure 4. Figure 4: FIG. 4: (Top) A quantum logic circuit specified by sequential [PITH_FULL_IMAGE:figures/full_fig_p007_4.png]
Figure 5
Figure 5. Figure 5: FIG. 5: Pseudocode for the algorithm that constructs the [PITH_FULL_IMAGE:figures/full_fig_p008_5.png]
Figure 6
Figure 6. Figure 6: FIG. 6: Pseudocode for the algorithm that partitions the [PITH_FULL_IMAGE:figures/full_fig_p008_6.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

7 extracted references · 6 canonical work pages

  1. [1]

    Preskill, Lecture Notes for the Course on Quantum Computation, http://www.theory.caltech.edu/people/preskill/ph219/

    J. Preskill, Lecture Notes for the Course on Quantum Computation, http://www.theory.caltech.edu/people/preskill/ph219/

  2. [2]

    Nielsen and I.L

    M.A. Nielsen and I.L. Chuang, Quantum Computation and Quantum Information , (Cambridge University Press, 2000)

  3. [3]

    Preskill, Quantum Computing in the NISQ Era and Beyond, Quantum 2 (2018) 79

    J. Preskill, Quantum Computing in the NISQ Era and Beyond, Quantum 2 (2018) 79

  4. [4]

    See for instance, http://quantiki.org/wiki/list-qc-simulators

  5. [5]

    See https://qiskit.org/ and https://github.com/Qiskit/qiskit-terra Qiskit has copyright under Apache License 2.0

  6. [6]

    Coles et al., Quantum Algorithm Implementations for Beginners , arXiv:1804.03719

    See for instance, P.J. Coles et al., Quantum Algorithm Implementations for Beginners , arXiv:1804.03719

  7. [7]

    Overview and Comparison of Gate Level Quantum Software Platforms

    See for instance, R. LaRose, Overview and Com- parison of Gate Level Quantum Software Platforms , arXiv:1807.02500

Pith tools

Reviewed August 14, 2026 · model on record in the stance chip above.