Skip to content

Commit 70e492a

Browse files
AshalyndMichaelBroughton
authored andcommitted
Move GateTabulation and friends to cirq-core as requested in quantumlib#4461 (quantumlib#4602)
- Adds `cirq. TwoQubitGateTabulation`, `cirq.TwoQubitGateTabulationResult`, and `cirq.two_qubit_gate_product_tabulation` public top level objects to Cirq. - TwoQubitGateTabulation is heuristic compilation technique for decomposing any 2q unitary to a given target 2q gate + single qubit rotations.
1 parent 547c79b commit 70e492a

19 files changed

+1261
-547
lines changed

cirq-core/cirq/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,9 @@
366366
two_qubit_matrix_to_diagonal_and_operations,
367367
two_qubit_matrix_to_operations,
368368
two_qubit_matrix_to_sqrt_iswap_operations,
369+
two_qubit_gate_product_tabulation,
370+
TwoQubitGateTabulation,
371+
TwoQubitGateTabulationResult,
369372
unroll_circuit_op,
370373
unroll_circuit_op_greedy_earliest,
371374
unroll_circuit_op_greedy_frontier,

cirq-core/cirq/json_resolver_cache.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ def _parallel_gate_op(gate, qubits):
155155
'TaggedOperation': cirq.TaggedOperation,
156156
'TiltedSquareLattice': cirq.TiltedSquareLattice,
157157
'TrialResult': cirq.Result, # keep support for Cirq < 0.11.
158+
'TwoQubitGateTabulation': cirq.TwoQubitGateTabulation,
158159
'_UnconstrainedDevice': cirq.devices.unconstrained_device._UnconstrainedDevice,
159160
'VarianceStoppingCriteria': cirq.work.VarianceStoppingCriteria,
160161
'VirtualTag': cirq.VirtualTag,

0 commit comments

Comments
 (0)