Propaq: A Python package for Heisenberg Propagation

arXiv:2609.07730 · quant-ph · Submitted 2026-09-07 · Read on arXiv

Listen

Radio episode about this paper

Transcript

Introduction to the show: ident: Quantum Radio. Generated commentary on the latest quantum physics and condensed matter papers.

Kai: We're looking at the paper: "Propaq: A Python package for Heisenberg Propagation".

Mira: Here's the gist of the paper. The gist Propaq introduces a performant and flexible Python package implementing Heisenberg propagation techniques for classically simulating quantum circuits.

Kai: How it works Propaq is designed to be compatible with major quantum software packages like Qiskit and Cirq, and it matches or outperforms similar state-of-the-art packages for Heisenberg propagation Beyond this, Propaq has multiple distinguishing features for simulation and research, including Heisenberg propagation in any basis, hybrid SchrödingerHeisenberg simulation, custom truncation and noisy simulation methods, and detailed logging information for analyzing simulation accuracy, runtime, and memory usage.

Mira: The package is implemented in Rust for performance and has Python front-ends for usability with major quantum software packages.

Kai: It provides direct support for Qiskit circuits and shows in numerical benchmarks that Propaq is among the fastest Heisenberg simulators available, performing similarly to monoprop, which both outperform all other packages.

Paper summary: Kai: So, to wrap up the discussion on "Propaq: A Python package for Heisenberg Propagation," we’ve talked about how it’s designed to be fast, flexible, and compatible with existing quantum toolkits like Qiskit and Cirq.

Mira: We discussed the specific features they have included—like support for any basis, hybrid simulation, and detailed logging tools for analyzing truncation errors.

Lev: And we looked at how these features translate to real-world considerations like runtime on hardware and the trade-offs involved when you choose a specific simulation method.

Kai: The main implication is that this package is positioned to be a useful tool for quantum information researchers looking to tackle open questions, especially around choosing the optimal basis for Heisenberg propagation or figuring out the best circuit partitioning for hybrid Schrödinger-Heisenberg simulations.

Mira: It’s also important to remember that while it performs well compared to state-of-the-art packages like monoprop, they did flag some limitations; specifically, they mentioned that results start to accumulate error after a certain time limit when using weight cutoff truncation.

Lev: So, for anyone listening who is thinking about using this for actual work, the point is that Propaq performs as good or better than state-of-the-art Heisenberg simulation packages in terms of both runtime and memory.

Kai: It’s freely available to the community, which means researchers can start exploring these ideas without any barriers to entry.

Conclusion: Kai: So, we've seen how Propaq is built to handle quantum circuits using Heisenberg propagation techniques for classical simulation.

Mira: Yeah, and we looked at how they’ve made it compatible with Qiskit and Cirq, which is pretty neat because it means researchers can just plug their existing circuit designs into this thing.

Lev: From an error correction standpoint, the main thing I'm looking at is the underlying implementation—they use Rust for speed, so that means we're talking about a lot of raw computational muscle being used here.

Kai: Right, and it matches or outperforms other state-of-the-art packages for Heisenberg propagation in terms of runtime and memory usage on our benchmarks.

Mira: The real takeaway is they’ve built in a lot of flexibility, like doing propagation in any basis, not just the standard Pauli one we usually deal with.

Lev: That flexibility is interesting because if you're working on something new, you can test different bases without rewriting the whole simulation code from scratch.

Kai: It sounds like this package is really aiming to be a solid tool for both rapid prototyping and more in-depth research into how these simulations actually scale up.

Mira: Exactly, and it suggests that we might see a lot more exploration happening in hybrid Schrödinger-Heisenberg simulation because they've made the setup for that much smoother.

Lev: We can't forget those custom truncation methods they have; that’s where you really start to control the accuracy when you push the simulation limits.

Kai: So, ultimately, Propaq seems positioned to be a very practical piece of software for anyone trying to get serious classical simulations running on quantum concepts.

Mira: It definitely opens up a new avenue for studying quantum dynamics that might have been too computationally expensive before.

Department of Computational Mathematics, Science, and Engineering, Michigan State University · Center for Quantum Computing, Science, and Engineering, Michigan State University · Department of Electrical and Computer Engineering, Michigan State University · Department of Physics and Astronomy, Michigan State University

quant-ph

Submitted: 2026-09-07

Updated: 2026-10-19

Comments: 27 pages, 11 figures. Source code and documentation for Propaq is available at https://github.com/hkbelagali/propaq/

Code: https://github.com/hkbelagali/propaq

Project page: https://hkbelagali.github.io/propaq/examples/usage/11_custom_basis_qudit_weyl

License: http://creativecommons.org/licenses/by/4.0/

Importance score: 91/100

The gist: The gist Propaq introduces a performant and flexible Python package implementing Heisenberg propagation techniques for classically simulating quantum circuits.

Key concepts

Heisenberg Propagation
This is a technique used to classically simulate quantum circuits by evolving the system in the Heisenberg picture rather than the Schrödinger picture. It allows for efficient computation of time evolution, which is crucial for simulating complex quantum dynamics.
Hybrid Schrödinger-Heisenberg Simulation
This method divides a quantum circuit into two parts. One section is simulated using standard Schrödinger evolution, while another section is simulated using Heisenberg propagation. This hybrid approach leverages the strengths of both pictures to tackle specific computational challenges.
Basis Propagation
Propaq supports Heisenberg propagation in various bases, including Pauli and Majorana bases natively, as well as any other user-defined bases. This flexibility allows researchers to choose the most appropriate mathematical framework for their specific quantum simulation problems.

Summary

The gist Propaq introduces a performant and flexible Python package implementing Heisenberg propagation techniques for classically simulating quantum circuits.

How it works

Propaq is designed to be compatible with major quantum software packages like Qiskit and Cirq, and it matches or outperforms similar state-of-the-art packages for Heisenberg propagation Beyond this, Propaq has multiple distinguishing features for simulation and research, including Heisenberg propagation in any basis, hybrid SchrödingerHeisenberg simulation, custom truncation and noisy simulation methods, and detailed logging information for analyzing simulation accuracy, runtime, and memory usage. The package is implemented in Rust for performance and has Python front-ends for usability with major quantum software packages. It provides direct support for Qiskit circuits and shows in numerical benchmarks that Propaq is among the fastest Heisenberg simulators available, performing similarly to monoprop, which both outperform all other packages.

Features and Capabilities

Propaq supports several advanced simulation techniques that distinguish it from current state-of-the-art methods. These distinguishing features include Heisenberg propagation in any basis, where the Pauli and Majorana bases are built-in to the library and natively supported, and any other user-defined bases are also supported. It also supports hybrid Schrödinger-Heisenberg simulation, where a circuit is divided into two parts: the first part is simulated in the Schrödinger picture, and the latter is simulated in the Heisenberg picture. Furthermore, Propaq contains logging tools to easily analyze simulation accuracy, providing details on total number of terms and total L1 coefficient norm discarded. It also supports custom noise channels and natively supports noisy simulation with any propagation method.

Performance Benchmarks

Numerical benchmarks show that Propaq exceeds the performance of all packages in both bases, except for the monoprop package which is roughly equal to Propaq. For large Trotter steps, where the number of terms reaches a billion, the speedup approaches 100x. Performance comparisons are shown for computing expectation values of a Z observable for various models. Propaq meets or exceeds state-of-the-art Heisenberg propagation packages in terms of runtime and memory. For example, Propaq performs similarly to monoprop, which both outperform all other packages.

Truncation, Logging, and Extrapolation

Propaq enables the use of both commonly used truncation strategies—coefficient and weight truncation—plus custom truncation strategies. Truncation policies are handled via a sequence of policies, such as CoefficientTruncator or WeightTruncator, and a TermBudget that suppresses other lossy truncation policies until the operator has at least the given number of live terms. Detailed logging tools allow users to track timing of various stages of propagation, including truncation statistics like the L1 norm of discarded terms. Propaq provides API methods to save backpropagated operators to disk in a compressed format and supports lazy loading and merging for distributed workflows.

Noisy Simulation and Optimizations

Propaq contains native support for noisy simulation with implementations of depolarizing noise, such as the UniformNoiseModel. This noise can make simulation easier by damping coefficients, causing some terms to go to zero or below the truncation threshold, thereby reducing complexity. Extrapolation methods like zero-cutoff extrapolation (ZCE) and zero-noise extrapolation (ZNE) are supported, allowing researchers to estimate the untruncated expectation value by fitting models to simulation data. Additionally, Propaq supports symbolic/surrogate propagation, which allows for the construction of surrogate models for variational algorithms where the objective function is computed once symbolically.

Implementation Details

Propaq is implemented in Rust with rayon used for multithreading and pyo3 used to expose the Rust API to Python. Term storage utilizes data types like Bitset, BasisString, and OperatorIndex to compactly represent enormous numbers of operators, leveraging bitmasks for symplectic representation. The propagation engine is designed to be generic over the coefficient representation using the CoeffRepr trait, supporting both numeric and symbolic propagation. Custom noise and truncation policies can be implemented in Rust, C, or ahead-of-time (AOT) compiled Julia via a plugin application binary interface (ABI). The package also supports arbitrary basis propagation through subclassing AbstractTerm, DictTermSum, and AbstractPropagator.

Conclusion

Propaq is expected to be a useful package for quantum information researchers and software developers, enabling both fast simulation and future research in (hybrid Schrödinger-)Heisenberg simulation. It is anticipated that Propaq will be useful for tackling open research questions, such as choosing the optimal basis for Heisenberg propagation and choosing the best circuit partitioning for hybrid SchrödingerHeisenberg simulation. The package is made freely and openly available to the community for use. The final result is that Propaq performs as good or better than state-of-the-art Heisenberg simulation packages in terms of both runtime and memory.

--- Page 1 ---

The gist Propaq introduces a performant and flexible Python package implementing Heisenberg propagation techniques for classically simulating quantum circuits.

How it works

Propaq is designed to be compatible with major quantum software packages like Qiskit and Cirq, and it matches or outperforms similar state-of-the-art packages for Heisenberg propagation. The package is implemented in Rust for performance and has Python front-ends for usability with major quantum software packages. It provides direct support for Qiskit circuits and shows in numerical benchmarks that Propaq is among the fastest Heisenberg simulators available, performing similarly to monoprop, which both outperform all other packages.

Performance Benchmarks

Numerical benchmarks show that Propaq exceeds the performance of all packages in both bases, except for the monoprop package which is roughly equal to Propaq. For large Trotter steps, where the number of terms reaches a billion, the speedup approaches 100x. Performance comparisons are shown for computing expectation values of a Z observable for various models. Propaq meets or exceeds state-of-the-art Heisenberg propagation packages in terms of runtime and memory.

Truncation, Logging, and Extrapolation

Propaq enables the use of both commonly used truncation strategies—coefficient and weight truncation—plus custom truncation strategies.

Improvements for AI systems

  1. Bold header: Support for arbitrary bases enables novel quantum simulation applications by allowing users to utilize extrapolation methods and term I/O for eligible custom bases. This capability allows researchers to explore simulations in non-native operator representations, such as the single spin-S system example provided in Section 4.9.

  2. Bold header: Hybrid Schrödinger-Heisenberg simulation enables a useful space/time tradeoff by allowing the circuit to be divided into two parts: the first part is simulated in the Schrödinger picture, and the latter is simulated in the Heisenberg picture. This allows for efficient evaluation of expectation values by using forward MPS [for forward evolution] and backpropagated observable [for backward simulation].

  3. Bold header: Advanced noise modeling allows for more realistic hardware emulation by supporting custom noise channels. Users can implement channels like E(ρ) = (1 − p)ρ + pZρZ and deploy them via a plugin interface, enabling the simulation of specific error models not covered by native depolarizing noise.

  4. Bold header: Surrogate/Symbolic propagation facilitates parameter sweeping for variational algorithms. By symbolically propagating the operator once to obtain "f: Θ 7→ EO, the system can evaluate expectation values for many parameters efficiently, where fast subsequent energy evaluation outweighs the initial cost."

  5. Bold header: Optimization via Clifford deferral improves runtime significantly for circuits with high Clifford gate density. This optimization allows Propaq to achieve a large decrease in runtime, up to around 10x, especially when simulating circuits containing many Clifford gates followed by T gates.

Abstract

We introduce Propaq, a performant and flexible Python package implementing Heisenberg propagation techniques for classically simulating quantum circuits. Propaq is compatible with major quantum software packages like Qiskit and Cirq, and matches or outperforms similar state-of-the-art packages for Heisenberg propagation. Beyond this, Propaq has multiple distinguishing features for simulation and research. These include Heisenberg propagation in any basis, hybrid Schrödinger-Heisenberg simulation, custom truncation and noisy simulation methods, and detailed logging information for analyzing simulation accuracy, runtime, and memory usage. We describe these features, how to use Propaq for research, and its backend implementation.

Sources

Related papers