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 →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
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.
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
- 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.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
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)
- [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.
- [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.
- [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)
- [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.
- [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.
- [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.
- [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
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
free parameters (6)
- p (thermal population parameter) =
user-specified
- alpha_bar and r (rotation error parameters) =
user-specified
- d1 (single-qubit measurement depolarization factor) =
user-specified
- d2 (Bell-basis measurement error factor) =
user-specified
- f (decoherence factor) =
user-specified
- g (decay factor) =
user-specified
assumptions (5)
- standard math Density matrix formalism and Kraus operator-sum representation correctly describe open quantum system evolution.
- domain assumption The environment disturbs each qubit independently.
- domain assumption Memory errors can be approximated by applying Kraus maps at partition boundaries (Trotterization).
- domain assumption Classical program instructions are error-free and execute with a fixed clock step.
- standard math The Pauli-basis expansion with the stated normalization constraint (a_00...0 = 2^-n) is a valid representation of density matrices.
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 from the paper (3 more)
Reference graph
Works this paper leans on
-
[1]
J. Preskill, Lecture Notes for the Course on Quantum Computation, http://www.theory.caltech.edu/people/preskill/ph219/
-
[2]
M.A. Nielsen and I.L. Chuang, Quantum Computation and Quantum Information , (Cambridge University Press, 2000)
work page 2000
-
[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
work page 2018
-
[4]
See for instance, http://quantiki.org/wiki/list-qc-simulators
-
[5]
See https://qiskit.org/ and https://github.com/Qiskit/qiskit-terra Qiskit has copyright under Apache License 2.0
-
[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]
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
Reviewed August 14, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.