Extracts moments within a circuit to characterize and characterizes them against engine.

The method calls prepare_floquet_characterization_for_moments to extract moments to characterize and run_calibrations to characterize them.

circuit Circuit to characterize.
engine or object used for running the calibrations. When then processor_id and gate_set arguments must be provided as well.
processor_id processor_id passed to engine.run_calibrations method. Can be None when is used as an engine.
gate_set Gate set to use for characterization request. Can be None when is used as an engine.
options Options that are applied to each characterized gate within a moment. Defaults to all_except_for_chi_options which is the broadest currently supported choice.
gates_translator Function that translates a gate to a supported FSimGate which will undergo characterization. Defaults to sqrt_iswap_gates_translator.
merge_subsets Whether to merge moments that can be characterized at the same time together.
max_layers_per_request Maximum number of calibration requests issued to cirq.Engine at a single time. Defaults to 1.
progress_func Optional callback function that might be used to report the calibration progress. The callback is called with two integers, the first one being a number of layers already calibrated and the second one the total number of layers to calibrate.

Tuple of:

  • Circuit and its mapping from moments to indices into the list of characterized requests (the second returned value).
  • List of PhasedFSimCalibrationRequest for each characterized moment.

IncompatibleMomentError when circuit contains a moment with operations other than the operations matched by gates_translator, or it mixes a single qubit and two qubit gates.