Skip to content

Releases: QuEraComputing/tsim

v0.1.2

07 Apr 19:55

Choose a tag to compare

Fixed

  • Exact scalar reduction during sum/product operations to prevent underflows/overflows of int32 on large diagrams. Unfortunately, this change comes with a 2x performance overhead, but results in more stable numerical results (#93)
  • Normalization issues for circuits with arbitrary rotation gates now raise a warning instead of an error (#91)
  • Parsing errors for invalid Stim circuits now raise useful exceptions (#91)

Added

  • SPP and SPP_DAG instructions — generalized S gate that phases the -1 eigenspace of Pauli product observables by i or -i. Supports multi-qubit Pauli products and inverted targets (#97)
  • MXX, MYY, MZZ two-qubit parity measurement instructions, delegating to existing MPP infrastructure. Also adds II_ERROR support (#96)
  • MPAD instruction for padding the measurement record with fixed bit values (#95)

v0.1.1 🚀 🌕

02 Apr 02:36
e0041cd

Choose a tag to compare

This release adds new stabilizer decomposition strategies, faster noise sampling, and scientifically accurate pyzx visualization. A detailed description of Tsim, including some benchmarks, is now available in this publication.

Added

  • Improved stabilizer decomposition strategies. When compiling a sampler, you can now choose between three different strategies: "cat5", "bss", and "cutting". The default is "cat5" and applies to T and arbitrary rotations; see arxiv.org/abs/2106.07740 (#77)
  • Sparse geometric channel sampler for noise modeling based on this repo. This significantly improves performance when the stabilizer rank is low. (#64)
  • Circuit.append method for programmatic circuit construction (#65) by @jaideepkathiresan
  • Circuit.is_clifford property and automatic replacement of U3 gates with Clifford equivalents for pi/2 rotations (#69)
  • Improved pyzx visualization. Now doubled ZX notation is used when using the "pyzx" argument in Circuit.diagram, which is a technically accurate depiction of the quantum circuit (#86)
  • Automatic batch size selection based on available memory (#84)

Changed

  • Tsim now uses pyzx-param==0.9.3 which fixes a bug where diagrams were not fully reduced in the absence of noise
  • Tsim will now make sure that marginal probabilities are normalized and raise an error if they are not. Wrong normalization can be the result of rare underflow errors that will be addressed in a future release (#87)
  • Use BLAS matmul kernel for tensor contractions (#63)
  • Circuit flattening deferred to ZX graph construction time (#71)
  • White background for SVG plots, which are now readable in dark mode (#85)

New Contributors

v0.1.0

29 Jan 02:03

Choose a tag to compare

Tsim is a GPU-accelerated quantum circuit sampler based on ZX-calculus stabilizer rank decomposition. It feels just like Stim, but supports non-Clifford gates.

Tsim is described in arXiv:2604.01059.

Highlights

Installation

pip install bloqade-tsim

For GPU support:

pip install "bloqade-tsim[cuda13]"