Module: cirq.google.optimizers.convert_to_sycamore_gates

Classes

class ConvertToSycamoreGates: Attempts to convert non-native gates into SycamoreGates.

Functions

cphase(...): Implement a cphase using the Ising gate generated from 2 Sycamore gates

create_corrected_circuit(...)

decompose_arbitrary_into_syc_analytic(...): Synthesize an arbitrary 2 qubit operation to a sycamore operation using

decompose_arbitrary_into_syc_tabulation(...): Synthesize an arbitrary 2 qubit operation to a sycamore operation using

decompose_cz_into_syc(...): Decompose CZ into sycamore gates using precomputed coefficients

decompose_iswap_into_syc(...): Decompose ISWAP into sycamore gates using precomputed coefficients

decompose_phased_iswap_into_syc(...): Decompose PhasedISwap with an exponent of 1.

decompose_phased_iswap_into_syc_precomputed(...): Decompose PhasedISwap into sycamore gates using precomputed coefficients.

decompose_swap_into_syc(...): Decompose SWAP into sycamore gates using precomputed coefficients

find_local_equivalents(...): Given two unitaries with the same interaction coefficients but different

known_two_q_operations_to_sycamore_operations(...): Synthesize a known gate operation to a sycamore operation

rzz(...): Generate exp(-1j * theta * zz) from Sycamore gates.

swap_rzz(...): An implementation of SWAP * EXP(1j theta ZZ) using three sycamore gates.

PAULI_OPS [array([[1., 0.], [0., 1.]]), array([[0.+0.j, 1.+0.j], [1.+0.j, 0.+0.j]]), array([[0.+0.j, 0.-1.j], [0.+1.j, 0.+0.j]]), array([[ 1.+0.j, 0.+0.j], [ 0.+0.j, -1.+0.j]])]
TYPE_CHECKING False
UNITARY_ZZ Instance of numpy.ndarray