Quantum Volume

The quantum volume is holistic quantum computer performance measure (see arXiv:1811.12926).

Roughly the logarithm (base 2) of quantum volume \(V_Q\), quantifies the largest random circuit of equal width and depth that the computer successfully implements and is certifiably quantum. So if you have 64 qubits and the best log-QV you have measured is \(\log_2 V_Q = 3\) then effectively you only have a 3 qubit device!

collect_heavy_outputs(wfn_sim, permutations, …) Collects and returns those ‘heavy’ bitstrings which are output with greater than median probability among all possible bitstrings on the given qubits.
generate_abstract_qv_circuit(depth) Produces an abstract description of the square model circuit of given depth=width used in a quantum volume measurement.
sample_rand_circuits_for_heavy_out(qc, …) This method performs the bulk of the work in the quantum volume measurement.
calculate_prob_est_and_err(num_heavy, …) Helper to calculate the estimate for the probability of sampling a heavy output at a particular depth as well as the 2 sigma one-sided confidence interval on this estimate.
measure_quantum_volume(qc, qubits, …) Measures the quantum volume of a quantum resource, as described in [QVol].
count_heavy_hitters_sampled(qc_results, …) Simple helper to count the number of heavy hitters sampled given the sampled results for a number of circuits along with the the actual heavy hitters for each circuit.
get_prob_sample_heavy_by_depth(depths, …) Analyzes the given information for each circuit to determine [an estimate of the probability of outputting a heavy hitter at each depth, a lower bound on this estimate, and whether that depth was achieved]
extract_quantum_volume_from_results(results, …) Provides convenient extraction of quantum volume from the results returned by a default run of measure_quantum_volume above