Skip to content

Commit 778d317

Browse files
authored
Move GateTabulation and friends to cirq-core as requested in #4461 (#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 1634589 commit 778d317

19 files changed

+1261
-547
lines changed

cirq-core/cirq/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,9 @@
367367
two_qubit_matrix_to_diagonal_and_operations,
368368
two_qubit_matrix_to_operations,
369369
two_qubit_matrix_to_sqrt_iswap_operations,
370+
two_qubit_gate_product_tabulation,
371+
TwoQubitGateTabulation,
372+
TwoQubitGateTabulationResult,
370373
unroll_circuit_op,
371374
unroll_circuit_op_greedy_earliest,
372375
unroll_circuit_op_greedy_frontier,

cirq-core/cirq/json_resolver_cache.py

+1
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)