Documentation Index
Fetch the complete documentation index at: https://tsim.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
stim with tsim should just work.
If you’re not yet familiar with Stim, there are lots of resources out there: For example, Stim’s getting_started notebook, Craig Gidney’s Stim tutorial on YouTube, Google’s course on QEC, or this Stim 101 tutorial.
Non-Clifford instructions
Tsim extends the Stim text format with the non-Clifford instructionsT, T_DAG, R_X, R_Y, and R_Z, U3. Rotation angles are specified in units of π.
Detector Reference Samples
There are a few differences between the two packages. For example, Stim’s detector sampler will output results relative to a noiseless reference sample. For example, in the following circuit, detector and observable bits will always beFalse:
Output
use_detector_reference_sample=True and use_observable_reference_sample=True. This computes a noiseless reference sample and XORs it with the results.
Output
Batch size and just-in-time compilation
Tsim’s samplers also have abatch_size argument, which does not exist in Stim. This parameter controls the number of shots sampled in parallel.
When batch_size is not specified, it is automatically chosen based on available device memory (GPU VRAM or system RAM). To achieve maximum performance on a GPU, you can also set batch_size explicitly.
Output
jax just-in-time compilation, which is triggered upon first execution of the sample function. This means that subsequent calls to sample with the same parameters will be faster. Note that recompilation is triggered whenever the batch_size is changed.
Decomposition strategies
Tsim supports three stabilizer rank decomposition strategies:"cat5" (default), "bss", and "cutting". The strategy can be passed to compile_sampler or compile_detector_sampler:
Output
Visualization methods
Tsim supports a subset of Stim’s visualization methods. Since Tsim is based on ZX diagrams, it also provides visualization viapyzx.
It can be interesting to look at the ZX diagram of more advanced Stim programs. For example, the following program measures a qubit and records the flipped measurement outcome. Based on this outcome, an X gate is applied to a different qubit:
REPEAT instructions are flattened
Tsim does not support REPEAT instructions. Any REPEAT instructions will be flattened.