Simulation

class Configuration.Simulation

Options that influence the simulation checker.

property fidelity_threshold

Similar to trace threshold, this setting is here to tackle numerical inaccuracies and approximations for the simulation checker. Instead of computing a trace, the fidelity between the states resulting from the simulation is computed. Whenever the fidelity differs from 1. by more than the configured threshold, the circuits are concluded to be non-equivalent. Defaults to 1e-8.

property max_sims

The maximum number of simulations to be started for the simulation checker. In practice, just a couple of simulations suffice in most cases to detect a potential non-equivalence. Either defaults to 16 or the maximum number of available threads minus 2, whichever is more.

property seed

The seed used in the quantum state generator. Defaults to 0, which means that the seed is chosen non-deterministically for each program run.

property state_type

The type of states used for the simulations in the simulation checker.

property store_cex_input

Whether to store the input state that has lead to the determination of a counterexample. Since the memory required to store a full representation of a quantum state increases exponentially, this is only recommended for a small number of qubits and defaults to False.

property store_cex_output

Whether to store the resulting states that prove the non-equivalence of both circuits. Since the memory required to store a full representation of a quantum state increases exponentially, this is only recommended for a small number of qubits and defaults to False.