# 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 |