Simulation Tools#

Jasp is tightly integrated within the Jax infrastructure, implying a variety of compilation and simulation techniques can be targeted.

Simulator

Description

Jaspify

A fast general purpose simulator that can use state sparsity. Doesn’t perform well for demanding classical tasks.

QJIT

Calls the Catalyst pipeline to compile and run the program via the Lightning simulator. Requires Catalyst to be installed.

Boolean Simulation

Leverages the Jax pipeline to compile the program into a series of boolean operations. Restricted to programs that require only X, CX, CCX, etc. gates. This simulator can be extremely powerful for verifying the correctness of large classical subroutines, that are called by another quantum function.

Terminal Sampling

Uses the terminal sampling technique to perform accelerated quantum sampling. Some restrictions apply.

Stim Simulation

Calls the Stim simulator to perform a simulation of Jasp functions, containing only Clifford gates.

We encourage you to explore these simulators, as each one has their own perks/drawbacks. If your development is slowed down by slow simulation, feel free to try out a different simulation technique!