|View source on GitHub|
Acquaints and shifts a pair of lists of qubits.
cirq.contrib.acquaintance.gates.acquaint_and_shift( parts: Tuple[List['cirq.Qid'], List['cirq.Qid']], layers:
cirq.contrib.acquaintance.gates.Layers, acquaintance_size: Optional[int], swap_gate: 'cirq.Gate', mapping: Dict[
cirq.Qid, int] )
The first part is acquainted with every qubit individually in the second part, and vice versa. Operations are grouped into several layers:
* prior_interstitial: The first layer of acquaintance gates. * prior: The combination of acquaintance gates and swaps that acquaints the inner halves. * intra: The shift gate. * post: The combination of acquaintance gates and swaps that acquaints the outer halves. * posterior_interstitial: The last layer of acquaintance gates.