def to_calibration_layer(self) -> CalibrationLayer: circuit = cirq.Circuit(self.gate.on(*pair) for pair in self.pairs) if self.options.measure_qubits is not None: circuit += cirq.Moment(cirq.measure(*self.options.measure_qubits)) args: Dict[str, Any] = { 'est_theta': self.options.characterize_theta, 'est_zeta': self.options.characterize_zeta, 'est_chi': self.options.characterize_chi, 'est_gamma': self.options.characterize_gamma, 'est_phi': self.options.characterize_phi, # Experimental option that should always be set to True. 'readout_corrections': True, 'version': self.options.version, } if self.options.readout_error_tolerance is not None: # Maximum error of the diagonal elements of the two-qubit readout confusion matrix. args[ 'readout_error_tolerance'] = self.options.readout_error_tolerance # Maximum error of the off-diagonal elements of the two-qubit readout confusion matrix. args[ 'correlated_readout_error_tolerance'] = _correlated_from_readout_tolerance( self.options.readout_error_tolerance) return CalibrationLayer( calibration_type=_FLOQUET_PHASED_FSIM_HANDLER_NAME, program=circuit, args=args)
def to_calibration_layer(self) -> CalibrationLayer: circuit = cirq.Circuit(self.gate.on(*pair) for pair in self.pairs) return CalibrationLayer( calibration_type=_XEB_PHASED_FSIM_HANDLER_NAME, program=circuit, args=self.options.to_args(), )
def to_calibration_layer(self) -> CalibrationLayer: circuit = Circuit([self.gate.on(*pair) for pair in self.pairs]) return CalibrationLayer( calibration_type=_FLOQUET_PHASED_FSIM_HANDLER_NAME, program=circuit, args={ 'est_theta': self.options.characterize_theta, 'est_zeta': self.options.characterize_zeta, 'est_chi': self.options.characterize_chi, 'est_gamma': self.options.characterize_gamma, 'est_phi': self.options.characterize_phi, # Experimental option that should always be set to True. 'readout_corrections': True, }, )