Skip to content

Commit

Permalink
Move GateTabulation and friends to cirq-core as requested in quantuml…
Browse files Browse the repository at this point in the history
…ib#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.
  • Loading branch information
Ashalynd authored Jan 10, 2022
1 parent 6166865 commit 1f3b502
Show file tree
Hide file tree
Showing 11 changed files with 1,498 additions and 0 deletions.
3 changes: 3 additions & 0 deletions cirq/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,9 @@
two_qubit_matrix_to_diagonal_and_operations,
two_qubit_matrix_to_operations,
two_qubit_matrix_to_sqrt_iswap_operations,
two_qubit_gate_product_tabulation,
TwoQubitGateTabulation,
TwoQubitGateTabulationResult,
unroll_circuit_op,
unroll_circuit_op_greedy_earliest,
unroll_circuit_op_greedy_frontier,
Expand Down
1 change: 1 addition & 0 deletions cirq/json_resolver_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ def _parallel_gate_op(gate, qubits):
'TaggedOperation': cirq.TaggedOperation,
'TiltedSquareLattice': cirq.TiltedSquareLattice,
'TrialResult': cirq.Result, # keep support for Cirq < 0.11.
'TwoQubitGateTabulation': cirq.TwoQubitGateTabulation,
'_UnconstrainedDevice': cirq.devices.unconstrained_device._UnconstrainedDevice,
'VarianceStoppingCriteria': cirq.work.VarianceStoppingCriteria,
'VirtualTag': cirq.VirtualTag,
Expand Down
Loading

0 comments on commit 1f3b502

Please sign in to comment.