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.