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.