Compensates circuit operations against errors in zeta, chi and gamma angles.

This method creates a new circuit with a single-qubit Z gates added in a such way so that zeta, chi and gamma angles discovered by characterizations are cancelled-out and set to 0.

Contrary to make_zeta_chi_gamma_compensation_for_moments this method does not match characterizations to the moment structure of the circuits and thus is less accurate because some errors caused by cross-talks are not mitigated.

The major advantage of this method over make_zeta_chi_gamma_compensation_for_moments is that it can work with arbitrary set of characterizations that cover all the interactions of the circuit (up to assumptions of merge_matching_results method). In particular, for grid-like devices the number of characterizations is bounded by four, where in the case of make_zeta_chi_gamma_compensation_for_moments the number of characterizations is bounded by number of moments in a circuit.

This function preserves a moment structure of the circuit. All single qubit gates appear on new moments in the final circuit.

circuit Circuit to calibrate.
characterizations List of characterization results (likely returned from run_calibrations). All the characterizations must be compatible in sense of merge_matching_results, they will be merged together.
gates_translator Function that translates a gate to a supported FSimGate which will undergo characterization. Defaults to sqrt_iswap_gates_translator.
permit_mixed_moments Whether to allow mixing single-qubit and two-qubit gates in a single moment.

Calibrated circuit with a single-qubit Z gates added which compensates for the true gates imperfections.