acquire_rpe_data

forest.benchmarking.robust_phase_estimation.acquire_rpe_data(qc: pyquil.api._quantum_computer.QuantumComputer, experiments: Sequence[forest.benchmarking.observable_estimation.ObservablesExperiment], multiplicative_factor: float = 1.0, additive_error: float = None, min_shots: int = 500, active_reset: bool = False, mitigate_readout_errors: bool = False, show_progress_bar: bool = False) → List[List[forest.benchmarking.observable_estimation.ExperimentResult]]

Run each experiment in the sequence of experiments.

The number of shots run at each depth can be modified indirectly by adjusting multiplicative_factor and additive_error.

Parameters:
  • experiments
  • qc – a quantum computer, e.g. QVM or QPU, that runs the experiments
  • multiplicative_factor – ad-hoc factor to multiply the number of shots per iteration. See num_trials() which computes the optimal number of shots per iteration.
  • additive_error – estimate of the max additive error in the experiment, see num_trials()
  • min_shots – the minimum number of shots used to estimate a particular observable; in contrast to the theoretical assumption that shot-rate is independent of number of shots, in practice the shot-rate is approximately proportional to the number of shots up to about 500 so taking fewer shots is sub-optimal.
  • active_reset – Boolean flag indicating whether experiments should begin with an active reset instruction (this can make the collection of experiments run a lot faster).
  • mitigate_readout_errors – Boolean flag indicating whether bias due to imperfect readout should be corrected
  • show_progress_bar – displays a progress bar via tqdm if true.
Returns:

a copy of the input experiments populated with results in each layer.