forest.benchmarking.direct_fidelity_estimation.generate_exhaustive_process_dfe_experiment(benchmarker: pyquil.api._benchmark.BenchmarkConnection, program: pyquil.quil.Program, qubits: list) → forest.benchmarking.observable_estimation.ObservablesExperiment

Estimate process fidelity by exhaustive direct fidelity estimation (DFE).

This leads to a quadratic reduction in overhead w.r.t. process tomography for fidelity estimation.

The algorithm is due to:

[DFE1]Practical Characterization of Quantum Devices without Tomography. Silva et al. PRL 107, 210404 (2011).
[DFE2]Direct Fidelity Estimation from Few Pauli Measurements. Flammia and Liu. PRL 106, 230501 (2011).
  • benchmarker – object returned from pyquil.api.get_benchmarker() used to conjugate each Pauli by the Clifford program
  • program – A program comprised of Clifford group gates that defines the process for which we estimate the fidelity.
  • qubits – The qubits to perform DFE on. This can be a superset of the qubits used in program, in which case it is assumed the identity acts on these qubits. Note that we assume qubits are initialized to the |0> state.

an ObservablesExperiment that constitutes a process DFE experiment.