cirq-core 1.5.0.dev20250327205617__py3-none-any.whl → 1.5.0.dev20250327210023__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cirq-core might be problematic. Click here for more details.

Files changed (415) hide show
  1. cirq/_compat_test.py +11 -9
  2. cirq/_import.py +6 -7
  3. cirq/_version.py +1 -1
  4. cirq/_version_test.py +1 -1
  5. cirq/circuits/_block_diagram_drawer.py +1 -2
  6. cirq/circuits/_block_diagram_drawer_test.py +3 -3
  7. cirq/circuits/_box_drawing_character_data.py +0 -1
  8. cirq/circuits/_box_drawing_character_data_test.py +2 -2
  9. cirq/circuits/_bucket_priority_queue.py +0 -1
  10. cirq/circuits/_bucket_priority_queue_test.py +1 -1
  11. cirq/circuits/circuit.py +1 -1
  12. cirq/circuits/circuit_operation.py +1 -1
  13. cirq/circuits/circuit_test.py +2 -3
  14. cirq/circuits/frozen_circuit.py +1 -1
  15. cirq/circuits/moment.py +4 -5
  16. cirq/circuits/optimization_pass.py +1 -1
  17. cirq/circuits/optimization_pass_test.py +3 -2
  18. cirq/circuits/qasm_output.py +3 -3
  19. cirq/circuits/qasm_output_test.py +2 -1
  20. cirq/circuits/text_diagram_drawer.py +3 -3
  21. cirq/circuits/text_diagram_drawer_test.py +5 -4
  22. cirq/contrib/acquaintance/bipartite.py +1 -2
  23. cirq/contrib/acquaintance/bipartite_test.py +0 -1
  24. cirq/contrib/acquaintance/devices.py +3 -4
  25. cirq/contrib/acquaintance/devices_test.py +0 -1
  26. cirq/contrib/acquaintance/executor.py +4 -6
  27. cirq/contrib/acquaintance/executor_test.py +2 -2
  28. cirq/contrib/acquaintance/gates.py +2 -3
  29. cirq/contrib/acquaintance/gates_test.py +1 -1
  30. cirq/contrib/acquaintance/inspection_utils.py +1 -2
  31. cirq/contrib/acquaintance/inspection_utils_test.py +1 -1
  32. cirq/contrib/acquaintance/mutation_utils.py +2 -4
  33. cirq/contrib/acquaintance/optimizers.py +2 -3
  34. cirq/contrib/acquaintance/optimizers_test.py +1 -1
  35. cirq/contrib/acquaintance/permutation.py +1 -1
  36. cirq/contrib/acquaintance/permutation_test.py +1 -1
  37. cirq/contrib/acquaintance/shift.py +1 -1
  38. cirq/contrib/acquaintance/strategies/complete.py +0 -1
  39. cirq/contrib/acquaintance/strategies/cubic.py +1 -1
  40. cirq/contrib/circuitdag/circuit_dag.py +2 -2
  41. cirq/contrib/circuitdag/circuit_dag_test.py +1 -1
  42. cirq/contrib/graph_device/graph_device.py +1 -3
  43. cirq/contrib/graph_device/graph_device_test.py +0 -1
  44. cirq/contrib/graph_device/hypergraph_test.py +1 -0
  45. cirq/contrib/json_test.py +2 -2
  46. cirq/contrib/noise_models/noise_models.py +1 -1
  47. cirq/contrib/paulistring/clifford_optimize.py +1 -1
  48. cirq/contrib/paulistring/clifford_optimize_test.py +0 -1
  49. cirq/contrib/paulistring/clifford_target_gateset.py +3 -3
  50. cirq/contrib/paulistring/optimize.py +2 -2
  51. cirq/contrib/paulistring/optimize_test.py +0 -1
  52. cirq/contrib/paulistring/pauli_string_dag_test.py +0 -1
  53. cirq/contrib/paulistring/pauli_string_measurement_with_readout_mitigation.py +3 -3
  54. cirq/contrib/paulistring/pauli_string_measurement_with_readout_mitigation_test.py +3 -4
  55. cirq/contrib/paulistring/pauli_string_optimize_test.py +1 -2
  56. cirq/contrib/paulistring/recombine.py +2 -2
  57. cirq/contrib/paulistring/recombine_test.py +1 -1
  58. cirq/contrib/paulistring/separate.py +1 -2
  59. cirq/contrib/qasm_import/_lexer.py +1 -0
  60. cirq/contrib/qasm_import/_lexer_test.py +1 -0
  61. cirq/contrib/qasm_import/_parser.py +2 -3
  62. cirq/contrib/qasm_import/_parser_test.py +1 -1
  63. cirq/contrib/qasm_import/qasm_test.py +1 -1
  64. cirq/contrib/quantum_volume/quantum_volume.py +1 -1
  65. cirq/contrib/quantum_volume/quantum_volume_test.py +3 -1
  66. cirq/contrib/quimb/density_matrix.py +1 -1
  67. cirq/contrib/quimb/state_vector.py +1 -1
  68. cirq/contrib/quirk/export_to_quirk.py +3 -3
  69. cirq/contrib/routing/device.py +1 -1
  70. cirq/contrib/routing/device_test.py +1 -2
  71. cirq/contrib/routing/greedy.py +2 -2
  72. cirq/contrib/routing/initialization_test.py +1 -1
  73. cirq/contrib/routing/swap_network.py +1 -1
  74. cirq/contrib/routing/utils.py +2 -2
  75. cirq/contrib/routing/utils_test.py +1 -2
  76. cirq/contrib/shuffle_circuits/shuffle_circuits_with_readout_benchmarking.py +2 -2
  77. cirq/contrib/shuffle_circuits/shuffle_circuits_with_readout_benchmarking_test.py +6 -4
  78. cirq/contrib/svg/svg.py +2 -3
  79. cirq/devices/device.py +3 -1
  80. cirq/devices/device_test.py +1 -0
  81. cirq/devices/grid_device_metadata.py +2 -1
  82. cirq/devices/grid_device_metadata_test.py +2 -1
  83. cirq/devices/grid_qubit.py +2 -2
  84. cirq/devices/insertion_noise_model.py +1 -1
  85. cirq/devices/insertion_noise_model_test.py +1 -1
  86. cirq/devices/line_qubit.py +1 -0
  87. cirq/devices/named_topologies.py +6 -6
  88. cirq/devices/named_topologies_test.py +5 -4
  89. cirq/devices/noise_model.py +2 -2
  90. cirq/devices/noise_properties.py +2 -2
  91. cirq/devices/noise_properties_test.py +2 -2
  92. cirq/devices/noise_utils.py +3 -3
  93. cirq/devices/superconducting_qubits_noise_properties.py +2 -2
  94. cirq/devices/superconducting_qubits_noise_properties_test.py +3 -3
  95. cirq/devices/thermal_noise_model.py +2 -1
  96. cirq/devices/unconstrained_device.py +1 -1
  97. cirq/experiments/qubit_characterizations.py +9 -10
  98. cirq/experiments/qubit_characterizations_test.py +4 -6
  99. cirq/experiments/random_quantum_circuit_generation.py +3 -4
  100. cirq/experiments/random_quantum_circuit_generation_test.py +4 -4
  101. cirq/experiments/readout_confusion_matrix.py +5 -3
  102. cirq/experiments/readout_confusion_matrix_test.py +2 -2
  103. cirq/experiments/single_qubit_readout_calibration.py +5 -4
  104. cirq/experiments/single_qubit_readout_calibration_test.py +1 -1
  105. cirq/experiments/t1_decay_experiment.py +4 -5
  106. cirq/experiments/t1_decay_experiment_test.py +1 -2
  107. cirq/experiments/t2_decay_experiment.py +0 -1
  108. cirq/experiments/t2_decay_experiment_test.py +1 -2
  109. cirq/experiments/two_qubit_xeb.py +13 -10
  110. cirq/experiments/two_qubit_xeb_test.py +3 -4
  111. cirq/experiments/xeb_fitting.py +6 -3
  112. cirq/experiments/xeb_fitting_test.py +5 -5
  113. cirq/experiments/xeb_sampling.py +5 -5
  114. cirq/experiments/xeb_simulation.py +3 -2
  115. cirq/experiments/z_phase_calibration.py +4 -3
  116. cirq/experiments/z_phase_calibration_test.py +4 -5
  117. cirq/interop/quirk/cells/arithmetic_cells.py +8 -8
  118. cirq/interop/quirk/cells/arithmetic_cells_test.py +1 -1
  119. cirq/interop/quirk/cells/cell.py +6 -6
  120. cirq/interop/quirk/cells/composite_cell.py +5 -5
  121. cirq/interop/quirk/cells/composite_cell_test.py +1 -1
  122. cirq/interop/quirk/cells/frequency_space_cells.py +2 -2
  123. cirq/interop/quirk/cells/ignored_cells.py +1 -1
  124. cirq/interop/quirk/cells/input_cells.py +1 -1
  125. cirq/interop/quirk/cells/input_cells_test.py +1 -1
  126. cirq/interop/quirk/cells/input_rotation_cells.py +1 -1
  127. cirq/interop/quirk/cells/input_rotation_cells_test.py +1 -1
  128. cirq/interop/quirk/cells/measurement_cells.py +1 -1
  129. cirq/interop/quirk/cells/parse.py +3 -4
  130. cirq/interop/quirk/cells/parse_test.py +1 -1
  131. cirq/interop/quirk/cells/single_qubit_rotation_cells.py +1 -1
  132. cirq/interop/quirk/cells/swap_cell_test.py +1 -1
  133. cirq/interop/quirk/cells/unsupported_cells.py +1 -1
  134. cirq/interop/quirk/url_to_circuit.py +7 -7
  135. cirq/interop/quirk/url_to_circuit_test.py +1 -1
  136. cirq/json_resolver_cache.py +6 -5
  137. cirq/linalg/combinators.py +2 -2
  138. cirq/linalg/combinators_test.py +1 -1
  139. cirq/linalg/decompositions.py +2 -2
  140. cirq/linalg/decompositions_test.py +1 -2
  141. cirq/linalg/diagonalize.py +1 -1
  142. cirq/linalg/diagonalize_test.py +1 -1
  143. cirq/linalg/predicates.py +2 -2
  144. cirq/linalg/predicates_test.py +1 -0
  145. cirq/linalg/tolerance.py +1 -1
  146. cirq/neutral_atoms/convert_to_neutral_atom_gates_test.py +0 -1
  147. cirq/ops/arithmetic_operation.py +2 -2
  148. cirq/ops/arithmetic_operation_test.py +2 -2
  149. cirq/ops/classically_controlled_operation.py +2 -2
  150. cirq/ops/clifford_gate.py +3 -3
  151. cirq/ops/clifford_gate_test.py +1 -1
  152. cirq/ops/common_channels.py +2 -2
  153. cirq/ops/common_gate_families.py +1 -1
  154. cirq/ops/common_gate_families_test.py +1 -0
  155. cirq/ops/common_gates.py +3 -3
  156. cirq/ops/control_values.py +2 -2
  157. cirq/ops/control_values_test.py +2 -1
  158. cirq/ops/controlled_gate.py +2 -2
  159. cirq/ops/controlled_operation.py +3 -3
  160. cirq/ops/dense_pauli_string.py +3 -3
  161. cirq/ops/diagonal_gate.py +1 -1
  162. cirq/ops/diagonal_gate_test.py +1 -0
  163. cirq/ops/eigen_gate.py +1 -1
  164. cirq/ops/eigen_gate_test.py +1 -1
  165. cirq/ops/fourier_transform.py +1 -1
  166. cirq/ops/fourier_transform_test.py +2 -1
  167. cirq/ops/gate_operation.py +5 -5
  168. cirq/ops/gateset_test.py +4 -2
  169. cirq/ops/global_phase_op.py +3 -3
  170. cirq/ops/identity.py +1 -1
  171. cirq/ops/kraus_channel.py +1 -0
  172. cirq/ops/kraus_channel_test.py +2 -1
  173. cirq/ops/linear_combinations.py +9 -9
  174. cirq/ops/matrix_gates.py +2 -2
  175. cirq/ops/measure_util.py +2 -2
  176. cirq/ops/measurement_gate.py +1 -1
  177. cirq/ops/measurement_gate_test.py +1 -0
  178. cirq/ops/mixed_unitary_channel.py +1 -0
  179. cirq/ops/mixed_unitary_channel_test.py +2 -1
  180. cirq/ops/named_qubit.py +0 -1
  181. cirq/ops/op_tree.py +1 -1
  182. cirq/ops/parallel_gate.py +1 -1
  183. cirq/ops/parallel_gate_test.py +2 -1
  184. cirq/ops/parity_gates.py +5 -6
  185. cirq/ops/pauli_gates.py +4 -5
  186. cirq/ops/pauli_gates_test.py +1 -0
  187. cirq/ops/pauli_interaction_gate.py +3 -3
  188. cirq/ops/pauli_interaction_gate_test.py +2 -3
  189. cirq/ops/pauli_measurement_gate.py +4 -4
  190. cirq/ops/pauli_string.py +5 -5
  191. cirq/ops/pauli_string_phasor.py +6 -7
  192. cirq/ops/pauli_string_phasor_test.py +2 -1
  193. cirq/ops/pauli_string_raw_types.py +1 -0
  194. cirq/ops/pauli_sum_exponential.py +1 -1
  195. cirq/ops/pauli_sum_exponential_test.py +0 -1
  196. cirq/ops/permutation_gate_test.py +1 -1
  197. cirq/ops/phased_x_gate.py +3 -4
  198. cirq/ops/phased_x_z_gate.py +3 -3
  199. cirq/ops/qubit_manager.py +2 -1
  200. cirq/ops/qubit_manager_test.py +2 -1
  201. cirq/ops/qubit_order.py +1 -1
  202. cirq/ops/random_gate_channel.py +1 -1
  203. cirq/ops/raw_types.py +4 -4
  204. cirq/ops/raw_types_test.py +2 -2
  205. cirq/ops/state_preparation_channel.py +2 -2
  206. cirq/ops/state_preparation_channel_test.py +2 -1
  207. cirq/ops/swap_gates.py +2 -2
  208. cirq/ops/three_qubit_gates.py +2 -3
  209. cirq/ops/three_qubit_gates_test.py +1 -0
  210. cirq/ops/two_qubit_diagonal_gate.py +3 -2
  211. cirq/ops/uniform_superposition_gate.py +3 -3
  212. cirq/ops/uniform_superposition_gate_test.py +1 -0
  213. cirq/ops/wait_gate.py +1 -1
  214. cirq/protocols/act_on_protocol_test.py +1 -1
  215. cirq/protocols/apply_channel_protocol.py +2 -2
  216. cirq/protocols/apply_mixture_protocol.py +1 -1
  217. cirq/protocols/approximate_equality_protocol.py +3 -4
  218. cirq/protocols/approximate_equality_protocol_test.py +3 -1
  219. cirq/protocols/circuit_diagram_info_protocol.py +5 -5
  220. cirq/protocols/decompose_protocol.py +3 -4
  221. cirq/protocols/decompose_protocol_test.py +1 -0
  222. cirq/protocols/equal_up_to_global_phase_protocol_test.py +1 -0
  223. cirq/protocols/has_stabilizer_effect_protocol.py +5 -5
  224. cirq/protocols/has_unitary_protocol.py +1 -1
  225. cirq/protocols/inverse_protocol.py +1 -1
  226. cirq/protocols/json_serialization_test.py +1 -1
  227. cirq/protocols/kraus_protocol.py +1 -2
  228. cirq/protocols/kraus_protocol_test.py +0 -1
  229. cirq/protocols/mixture_protocol_test.py +1 -2
  230. cirq/protocols/pauli_expansion_protocol.py +1 -0
  231. cirq/protocols/pow_protocol.py +1 -1
  232. cirq/protocols/qasm.py +1 -1
  233. cirq/protocols/qid_shape_protocol.py +1 -1
  234. cirq/protocols/resolve_parameters.py +1 -2
  235. cirq/protocols/resolve_parameters_test.py +2 -1
  236. cirq/protocols/trace_distance_bound.py +1 -1
  237. cirq/protocols/trace_distance_bound_test.py +1 -0
  238. cirq/protocols/unitary_protocol.py +2 -2
  239. cirq/qis/clifford_tableau.py +2 -1
  240. cirq/qis/entropy.py +1 -1
  241. cirq/qis/entropy_test.py +2 -1
  242. cirq/qis/measures.py +3 -3
  243. cirq/qis/noise_utils_test.py +4 -4
  244. cirq/qis/quantum_state_representation.py +1 -1
  245. cirq/qis/states.py +3 -2
  246. cirq/sim/classical_simulator.py +7 -6
  247. cirq/sim/classical_simulator_test.py +3 -1
  248. cirq/sim/clifford/stabilizer_state_ch_form.py +1 -0
  249. cirq/sim/density_matrix_simulator.py +1 -1
  250. cirq/sim/density_matrix_utils.py +1 -1
  251. cirq/sim/mux.py +2 -2
  252. cirq/sim/simulation_state.py +3 -4
  253. cirq/sim/simulation_state_base.py +1 -1
  254. cirq/sim/simulation_utils_test.py +2 -3
  255. cirq/sim/simulator_base.py +5 -5
  256. cirq/sim/simulator_test.py +2 -2
  257. cirq/sim/sparse_simulator.py +2 -2
  258. cirq/sim/sparse_simulator_test.py +1 -1
  259. cirq/sim/state_vector.py +2 -2
  260. cirq/sim/state_vector_simulator.py +4 -4
  261. cirq/study/flatten_expressions.py +2 -2
  262. cirq/study/flatten_expressions_test.py +1 -1
  263. cirq/study/resolver.py +1 -0
  264. cirq/study/result.py +3 -3
  265. cirq/study/sweepable.py +3 -2
  266. cirq/study/sweeps.py +4 -4
  267. cirq/study/sweeps_test.py +1 -0
  268. cirq/testing/circuit_compare.py +3 -4
  269. cirq/testing/circuit_compare_test.py +1 -2
  270. cirq/testing/consistent_act_on.py +3 -3
  271. cirq/testing/consistent_channels_test.py +2 -1
  272. cirq/testing/consistent_controlled_gate_op.py +3 -2
  273. cirq/testing/consistent_controlled_gate_op_test.py +2 -3
  274. cirq/testing/consistent_decomposition.py +1 -1
  275. cirq/testing/consistent_decomposition_test.py +1 -2
  276. cirq/testing/consistent_phase_by.py +1 -1
  277. cirq/testing/consistent_phase_by_test.py +1 -2
  278. cirq/testing/consistent_protocols.py +9 -9
  279. cirq/testing/consistent_protocols_test.py +3 -4
  280. cirq/testing/consistent_qasm.py +1 -1
  281. cirq/testing/consistent_qasm_test.py +1 -1
  282. cirq/testing/consistent_resolve_parameters.py +2 -1
  283. cirq/testing/consistent_specified_has_unitary_test.py +1 -1
  284. cirq/testing/consistent_unitary.py +3 -1
  285. cirq/testing/consistent_unitary_test.py +3 -3
  286. cirq/testing/devices.py +1 -1
  287. cirq/testing/devices_test.py +1 -0
  288. cirq/testing/equals_tester.py +1 -3
  289. cirq/testing/equals_tester_test.py +1 -0
  290. cirq/testing/equivalent_basis_map.py +1 -0
  291. cirq/testing/equivalent_basis_map_test.py +0 -1
  292. cirq/testing/json.py +2 -3
  293. cirq/testing/lin_alg_utils_test.py +1 -1
  294. cirq/testing/order_tester.py +1 -1
  295. cirq/testing/order_tester_test.py +1 -1
  296. cirq/testing/random_circuit.py +2 -2
  297. cirq/testing/random_circuit_test.py +1 -1
  298. cirq/testing/routing_devices_test.py +2 -1
  299. cirq/testing/sample_circuits.py +1 -1
  300. cirq/testing/sample_gates.py +3 -2
  301. cirq/testing/sample_gates_test.py +2 -2
  302. cirq/transformers/align.py +1 -0
  303. cirq/transformers/analytical_decompositions/clifford_decomposition.py +2 -1
  304. cirq/transformers/analytical_decompositions/clifford_decomposition_test.py +1 -1
  305. cirq/transformers/analytical_decompositions/controlled_gate_decomposition.py +1 -1
  306. cirq/transformers/analytical_decompositions/cphase_to_fsim_test.py +1 -1
  307. cirq/transformers/analytical_decompositions/pauli_string_decomposition.py +2 -2
  308. cirq/transformers/analytical_decompositions/pauli_string_decomposition_test.py +4 -4
  309. cirq/transformers/analytical_decompositions/quantum_shannon_decomposition.py +6 -7
  310. cirq/transformers/analytical_decompositions/quantum_shannon_decomposition_test.py +5 -5
  311. cirq/transformers/analytical_decompositions/single_qubit_decompositions.py +1 -1
  312. cirq/transformers/analytical_decompositions/single_to_two_qubit_isometry.py +1 -1
  313. cirq/transformers/analytical_decompositions/single_to_two_qubit_isometry_test.py +1 -0
  314. cirq/transformers/analytical_decompositions/three_qubit_decomposition.py +2 -3
  315. cirq/transformers/analytical_decompositions/three_qubit_decomposition_test.py +1 -1
  316. cirq/transformers/analytical_decompositions/two_qubit_state_preparation.py +2 -1
  317. cirq/transformers/analytical_decompositions/two_qubit_state_preparation_test.py +2 -1
  318. cirq/transformers/analytical_decompositions/two_qubit_to_cz.py +5 -6
  319. cirq/transformers/analytical_decompositions/two_qubit_to_cz_test.py +2 -2
  320. cirq/transformers/analytical_decompositions/two_qubit_to_fsim.py +1 -1
  321. cirq/transformers/analytical_decompositions/two_qubit_to_fsim_test.py +1 -2
  322. cirq/transformers/analytical_decompositions/two_qubit_to_ms.py +2 -2
  323. cirq/transformers/analytical_decompositions/two_qubit_to_sqrt_iswap.py +1 -1
  324. cirq/transformers/analytical_decompositions/two_qubit_to_sqrt_iswap_test.py +2 -1
  325. cirq/transformers/drop_empty_moments.py +1 -0
  326. cirq/transformers/drop_negligible_operations.py +1 -0
  327. cirq/transformers/dynamical_decoupling.py +7 -7
  328. cirq/transformers/dynamical_decoupling_test.py +4 -2
  329. cirq/transformers/eject_phased_paulis.py +4 -3
  330. cirq/transformers/eject_phased_paulis_test.py +1 -1
  331. cirq/transformers/eject_z.py +2 -1
  332. cirq/transformers/eject_z_test.py +1 -1
  333. cirq/transformers/gauge_compiling/cphase_gauge.py +5 -5
  334. cirq/transformers/gauge_compiling/cz_gauge.py +4 -4
  335. cirq/transformers/gauge_compiling/gauge_compiling.py +9 -9
  336. cirq/transformers/gauge_compiling/gauge_compiling_test.py +8 -6
  337. cirq/transformers/gauge_compiling/gauge_compiling_test_utils.py +2 -2
  338. cirq/transformers/gauge_compiling/gauge_compiling_test_utils_test.py +2 -1
  339. cirq/transformers/gauge_compiling/iswap_gauge.py +2 -2
  340. cirq/transformers/gauge_compiling/spin_inversion_gauge.py +2 -2
  341. cirq/transformers/gauge_compiling/sqrt_cz_gauge.py +5 -5
  342. cirq/transformers/gauge_compiling/sqrt_iswap_gauge.py +3 -2
  343. cirq/transformers/heuristic_decompositions/gate_tabulation_math_utils.py +2 -1
  344. cirq/transformers/heuristic_decompositions/gate_tabulation_math_utils_test.py +1 -1
  345. cirq/transformers/heuristic_decompositions/two_qubit_gate_tabulation.py +4 -4
  346. cirq/transformers/heuristic_decompositions/two_qubit_gate_tabulation_test.py +4 -4
  347. cirq/transformers/insertion_sort.py +1 -1
  348. cirq/transformers/merge_k_qubit_gates.py +2 -2
  349. cirq/transformers/merge_single_qubit_gates.py +1 -1
  350. cirq/transformers/noise_adding.py +4 -3
  351. cirq/transformers/noise_adding_test.py +3 -2
  352. cirq/transformers/optimize_for_target_gateset.py +1 -1
  353. cirq/transformers/optimize_for_target_gateset_test.py +2 -1
  354. cirq/transformers/randomized_measurements.py +2 -1
  355. cirq/transformers/randomized_measurements_test.py +2 -1
  356. cirq/transformers/routing/initial_mapper.py +1 -1
  357. cirq/transformers/routing/initial_mapper_test.py +1 -0
  358. cirq/transformers/routing/line_initial_mapper.py +3 -2
  359. cirq/transformers/routing/mapping_manager.py +2 -2
  360. cirq/transformers/routing/mapping_manager_test.py +2 -2
  361. cirq/transformers/routing/route_circuit_cqc.py +3 -2
  362. cirq/transformers/routing/route_circuit_cqc_test.py +2 -1
  363. cirq/transformers/routing/visualize_routed_circuit.py +1 -0
  364. cirq/transformers/routing/visualize_routed_circuit_test.py +1 -0
  365. cirq/transformers/stratify.py +2 -2
  366. cirq/transformers/synchronize_terminal_measurements.py +2 -1
  367. cirq/transformers/target_gatesets/compilation_target_gateset.py +1 -2
  368. cirq/transformers/target_gatesets/compilation_target_gateset_test.py +2 -0
  369. cirq/transformers/target_gatesets/cz_gateset.py +1 -1
  370. cirq/transformers/target_gatesets/cz_gateset_test.py +4 -2
  371. cirq/transformers/target_gatesets/sqrt_iswap_gateset.py +1 -1
  372. cirq/transformers/target_gatesets/sqrt_iswap_gateset_test.py +3 -2
  373. cirq/transformers/transformer_api.py +5 -4
  374. cirq/transformers/transformer_api_test.py +3 -3
  375. cirq/transformers/transformer_primitives.py +3 -4
  376. cirq/transformers/transformer_primitives_test.py +1 -0
  377. cirq/value/abc_alt.py +1 -2
  378. cirq/value/angle.py +2 -0
  379. cirq/value/classical_data.py +1 -0
  380. cirq/value/digits.py +1 -1
  381. cirq/value/duration.py +3 -3
  382. cirq/value/duration_test.py +2 -1
  383. cirq/value/linear_dict.py +2 -1
  384. cirq/value/measurement_key.py +1 -2
  385. cirq/value/periodic_value.py +0 -1
  386. cirq/value/probability.py +1 -0
  387. cirq/value/random_state.py +1 -1
  388. cirq/value/timestamp_test.py +2 -1
  389. cirq/value/value_equality_attr.py +1 -1
  390. cirq/vis/density_matrix.py +1 -1
  391. cirq/vis/density_matrix_test.py +2 -5
  392. cirq/vis/heatmap.py +0 -1
  393. cirq/vis/heatmap_test.py +2 -3
  394. cirq/vis/histogram.py +1 -1
  395. cirq/vis/histogram_test.py +1 -2
  396. cirq/vis/state_histogram.py +4 -2
  397. cirq/vis/state_histogram_test.py +2 -2
  398. cirq/work/collector.py +1 -1
  399. cirq/work/observable_grouping.py +2 -2
  400. cirq/work/observable_measurement.py +3 -3
  401. cirq/work/observable_measurement_data.py +2 -2
  402. cirq/work/observable_measurement_test.py +8 -8
  403. cirq/work/observable_readout_calibration.py +2 -2
  404. cirq/work/observable_readout_calibration_test.py +2 -1
  405. cirq/work/observable_settings.py +6 -6
  406. cirq/work/observable_settings_test.py +2 -2
  407. cirq/work/pauli_sum_collector.py +1 -1
  408. cirq/work/sampler.py +2 -3
  409. cirq/work/sampler_test.py +1 -2
  410. cirq/work/zeros_sampler.py +1 -1
  411. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/METADATA +1 -1
  412. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/RECORD +415 -415
  413. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/LICENSE +0 -0
  414. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/WHEEL +0 -0
  415. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/top_level.txt +0 -0
@@ -13,9 +13,10 @@
13
13
  # limitations under the License.
14
14
  import dataclasses
15
15
 
16
- import cirq
17
16
  import numpy as np
18
- from cirq import ops, qis, protocols
17
+
18
+ import cirq
19
+ from cirq import ops, protocols, qis
19
20
 
20
21
 
21
22
  def _matrix_for_phasing_state(num_qubits, phase_state, phase):
@@ -11,11 +11,11 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+ import numpy as np
14
15
  import pytest
15
16
 
16
- import numpy as np
17
- from cirq.testing import sample_gates
18
17
  import cirq
18
+ from cirq.testing import sample_gates
19
19
 
20
20
 
21
21
  @pytest.mark.parametrize('theta', np.linspace(0, 2 * np.pi, 20))
@@ -16,6 +16,7 @@
16
16
 
17
17
  import dataclasses
18
18
  from typing import Optional, TYPE_CHECKING
19
+
19
20
  from cirq import circuits, ops
20
21
  from cirq.transformers import transformer_api
21
22
 
@@ -14,10 +14,11 @@
14
14
 
15
15
  """Utility methods to decompose Clifford gates into circuits."""
16
16
 
17
- from typing import List, TYPE_CHECKING
18
17
  import functools
18
+ from typing import List, TYPE_CHECKING
19
19
 
20
20
  import numpy as np
21
+
21
22
  from cirq import ops, protocols, qis, sim
22
23
 
23
24
  if TYPE_CHECKING:
@@ -12,8 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import pytest
16
15
  import numpy as np
16
+ import pytest
17
17
 
18
18
  import cirq
19
19
  from cirq.testing import assert_allclose_up_to_global_phase
@@ -17,7 +17,7 @@ from typing import List, Tuple, TYPE_CHECKING
17
17
  import numpy as np
18
18
 
19
19
  from cirq import ops
20
- from cirq.linalg import is_unitary, is_special_unitary, map_eigenvalues
20
+ from cirq.linalg import is_special_unitary, is_unitary, map_eigenvalues
21
21
  from cirq.protocols import unitary
22
22
 
23
23
  if TYPE_CHECKING:
@@ -12,9 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import itertools
15
16
  from typing import List, Sequence, Tuple
16
17
 
17
- import itertools
18
18
  import numpy as np
19
19
  import pytest
20
20
  import sympy
@@ -12,13 +12,13 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Optional, Tuple, cast
15
+ from typing import cast, Optional, Tuple
16
16
 
17
17
  import numpy as np
18
18
  import numpy.typing as npt
19
19
 
20
- from cirq.ops import DensePauliString
21
20
  from cirq import protocols
21
+ from cirq.ops import DensePauliString
22
22
 
23
23
 
24
24
  def _argmax(V: npt.NDArray) -> Tuple[int, float]:
@@ -12,15 +12,15 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import cast
16
- import itertools
17
15
  import cmath
18
- import pytest
16
+ import itertools
17
+ from typing import cast
19
18
 
20
19
  import numpy as np
20
+ import pytest
21
21
 
22
- from cirq.ops import DensePauliString, T
23
22
  from cirq import protocols
23
+ from cirq.ops import DensePauliString, T
24
24
  from cirq.transformers.analytical_decompositions import unitary_to_pauli_string
25
25
 
26
26
 
@@ -21,20 +21,19 @@ https://arxiv.org/abs/quant-ph/0406176
21
21
  """
22
22
  from typing import Callable, Iterable, List, TYPE_CHECKING
23
23
 
24
- from scipy.linalg import cossin
25
-
26
24
  import numpy as np
25
+ from scipy.linalg import cossin
27
26
 
28
27
  from cirq import ops
28
+ from cirq.circuits.frozen_circuit import FrozenCircuit
29
29
  from cirq.linalg import decompositions, predicates
30
- from cirq.transformers.analytical_decompositions.two_qubit_to_cz import (
31
- two_qubit_matrix_to_cz_operations,
32
- )
30
+ from cirq.protocols import unitary_protocol
33
31
  from cirq.transformers.analytical_decompositions.three_qubit_decomposition import (
34
32
  three_qubit_matrix_to_operations,
35
33
  )
36
- from cirq.protocols import unitary_protocol
37
- from cirq.circuits.frozen_circuit import FrozenCircuit
34
+ from cirq.transformers.analytical_decompositions.two_qubit_to_cz import (
35
+ two_qubit_matrix_to_cz_operations,
36
+ )
38
37
 
39
38
  if TYPE_CHECKING:
40
39
  import cirq
@@ -12,20 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import numpy as np
16
+ import pytest
17
+ from scipy.stats import unitary_group
18
+
15
19
  import cirq
16
20
  from cirq.ops import common_gates
17
21
  from cirq.transformers.analytical_decompositions.quantum_shannon_decomposition import (
22
+ _msb_demuxer,
18
23
  _multiplexed_cossin,
19
24
  _nth_gray,
20
- _msb_demuxer,
21
25
  _single_qubit_decomposition,
22
26
  quantum_shannon_decomposition,
23
27
  )
24
28
 
25
- import pytest
26
- import numpy as np
27
- from scipy.stats import unitary_group
28
-
29
29
 
30
30
  @pytest.mark.xfail(reason='#6765')
31
31
  @pytest.mark.parametrize('n_qubits', list(range(1, 8)))
@@ -20,7 +20,7 @@ from typing import List, Optional, Tuple
20
20
  import numpy as np
21
21
  import sympy
22
22
 
23
- from cirq import ops, linalg, protocols
23
+ from cirq import linalg, ops, protocols
24
24
  from cirq.linalg.tolerance import near_zero_mod
25
25
 
26
26
 
@@ -14,10 +14,10 @@
14
14
 
15
15
  """Analytical decompositions for 2-qubit unitaries when one input qubit is in the |0> state."""
16
16
  from typing import List, TYPE_CHECKING
17
+
17
18
  import numpy as np
18
19
 
19
20
  from cirq import ops
20
-
21
21
  from cirq.transformers.analytical_decompositions import two_qubit_to_cz
22
22
 
23
23
  if TYPE_CHECKING:
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  import numpy as np
15
15
  import pytest
16
+
16
17
  import cirq
17
18
 
18
19
  VALID_INITIAL_STATES = [
@@ -14,13 +14,12 @@
14
14
 
15
15
  """Utility methods for decomposing three-qubit unitaries."""
16
16
 
17
- from typing import Union, Tuple, Sequence, List, Optional
17
+ from typing import List, Optional, Sequence, Tuple, Union
18
18
 
19
19
  import numpy as np
20
20
 
21
21
  import cirq
22
- from cirq import ops
23
- from cirq import transformers as opt
22
+ from cirq import ops, transformers as opt
24
23
 
25
24
 
26
25
  def three_qubit_matrix_to_operations(
@@ -22,9 +22,9 @@ from scipy.linalg import block_diag
22
22
 
23
23
  import cirq
24
24
  from cirq.transformers.analytical_decompositions.three_qubit_decomposition import (
25
- _multiplexed_angles,
26
25
  _cs_to_ops,
27
26
  _middle_multiplexor_to_ops,
27
+ _multiplexed_angles,
28
28
  _two_qubit_multiplexor_to_ops,
29
29
  )
30
30
 
@@ -15,9 +15,10 @@
15
15
  """Utility methods for efficiently preparing two qubit states."""
16
16
 
17
17
  from typing import List, TYPE_CHECKING
18
+
18
19
  import numpy as np
19
20
 
20
- from cirq import ops, qis, circuits
21
+ from cirq import circuits, ops, qis
21
22
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions
22
23
 
23
24
  if TYPE_CHECKING:
@@ -16,8 +16,9 @@
16
16
 
17
17
  import copy
18
18
 
19
- import pytest
20
19
  import numpy as np
20
+ import pytest
21
+
21
22
  import cirq
22
23
 
23
24
 
@@ -14,18 +14,17 @@
14
14
 
15
15
  """Utility methods for decomposing two-qubit unitaries into CZ gates."""
16
16
 
17
- from typing import Iterable, List, Sequence, Tuple, Optional, cast, TYPE_CHECKING
17
+ from typing import cast, Iterable, List, Optional, Sequence, Tuple, TYPE_CHECKING
18
18
 
19
19
  import numpy as np
20
20
 
21
+ from cirq import circuits, linalg, ops, protocols
21
22
  from cirq.linalg import predicates
22
- from cirq.linalg.decompositions import num_cnots_required, extract_right_diag
23
-
24
- from cirq import ops, linalg, protocols, circuits
23
+ from cirq.linalg.decompositions import extract_right_diag, num_cnots_required
25
24
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions
26
- from cirq.transformers.merge_single_qubit_gates import merge_single_qubit_gates_to_phased_x_and_z
27
- from cirq.transformers.eject_z import eject_z
28
25
  from cirq.transformers.eject_phased_paulis import eject_phased_paulis
26
+ from cirq.transformers.eject_z import eject_z
27
+ from cirq.transformers.merge_single_qubit_gates import merge_single_qubit_gates_to_phased_x_and_z
29
28
 
30
29
  if TYPE_CHECKING:
31
30
  import cirq
@@ -20,12 +20,12 @@ import pytest
20
20
 
21
21
  import cirq
22
22
  from cirq import value
23
+ from cirq.testing import random_two_qubit_circuit_with_czs
23
24
  from cirq.transformers.analytical_decompositions.two_qubit_to_cz import (
24
- _parity_interaction,
25
25
  _is_trivial_angle,
26
+ _parity_interaction,
26
27
  two_qubit_matrix_to_diagonal_and_cz_operations,
27
28
  )
28
- from cirq.testing import random_two_qubit_circuit_with_czs
29
29
 
30
30
 
31
31
  @pytest.mark.parametrize(
@@ -14,7 +14,7 @@
14
14
 
15
15
  """Utility methods for decomposing two-qubit unitaries into FSim gates."""
16
16
 
17
- from typing import Sequence, Union, List, Iterator, TYPE_CHECKING, Iterable, Optional
17
+ from typing import Iterable, Iterator, List, Optional, Sequence, TYPE_CHECKING, Union
18
18
 
19
19
  import numpy as np
20
20
 
@@ -22,13 +22,12 @@ import sympy
22
22
 
23
23
  import cirq
24
24
  from cirq.transformers.analytical_decompositions.two_qubit_to_fsim import (
25
+ _B,
25
26
  _decompose_two_qubit_interaction_into_two_b_gates,
26
27
  _decompose_xx_yy_into_two_fsims_ignoring_single_qubit_ops,
27
28
  _sticky_0_to_1,
28
- _B,
29
29
  )
30
30
 
31
-
32
31
  UNITARY_OBJS = [
33
32
  cirq.IdentityGate(2),
34
33
  cirq.XX**0.25,
@@ -19,11 +19,11 @@ Gate compilation methods implemented here are following the paper below:
19
19
  arXiv:1603.07678
20
20
  """
21
21
 
22
- from typing import Iterable, List, Optional, cast, Tuple, TYPE_CHECKING
22
+ from typing import cast, Iterable, List, Optional, Tuple, TYPE_CHECKING
23
23
 
24
24
  import numpy as np
25
25
 
26
- from cirq import ops, linalg, protocols
26
+ from cirq import linalg, ops, protocols
27
27
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions, two_qubit_to_cz
28
28
 
29
29
  if TYPE_CHECKING:
@@ -25,7 +25,7 @@ from typing import Optional, Sequence, Tuple, TYPE_CHECKING
25
25
  import numpy as np
26
26
  import sympy
27
27
 
28
- from cirq import circuits, ops, linalg, protocols
28
+ from cirq import circuits, linalg, ops, protocols
29
29
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions
30
30
  from cirq.transformers.merge_single_qubit_gates import merge_single_qubit_gates_to_phxz
31
31
 
@@ -13,11 +13,12 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import itertools
16
+
16
17
  import numpy as np
17
18
  import pytest
19
+ import sympy
18
20
 
19
21
  import cirq
20
- import sympy
21
22
 
22
23
 
23
24
  def random_unitary(seed):
@@ -15,6 +15,7 @@
15
15
  """Transformer pass that removes empty moments from a circuit."""
16
16
 
17
17
  from typing import Optional, TYPE_CHECKING
18
+
18
19
  from cirq.transformers import transformer_api, transformer_primitives
19
20
 
20
21
  if TYPE_CHECKING:
@@ -15,6 +15,7 @@
15
15
  """Transformer pass that removes operations with tiny effects."""
16
16
 
17
17
  from typing import Optional, TYPE_CHECKING
18
+
18
19
  from cirq import protocols
19
20
  from cirq.transformers import transformer_api, transformer_primitives
20
21
 
@@ -15,17 +15,17 @@
15
15
  """Transformer pass that adds dynamical decoupling operations to a circuit."""
16
16
 
17
17
  from functools import reduce
18
- from typing import Dict, Optional, Tuple, Union, TYPE_CHECKING
19
18
  from itertools import cycle
19
+ from typing import Dict, Optional, Tuple, TYPE_CHECKING, Union
20
20
 
21
- from cirq import ops, circuits, protocols
22
- from cirq.transformers import transformer_api
23
- from cirq.transformers.analytical_decompositions import single_qubit_decompositions
21
+ import numpy as np
22
+
23
+ from cirq import circuits, ops, protocols
24
24
  from cirq.protocols import unitary_protocol
25
- from cirq.protocols.has_unitary_protocol import has_unitary
26
25
  from cirq.protocols.has_stabilizer_effect_protocol import has_stabilizer_effect
27
-
28
- import numpy as np
26
+ from cirq.protocols.has_unitary_protocol import has_unitary
27
+ from cirq.transformers import transformer_api
28
+ from cirq.transformers.analytical_decompositions import single_qubit_decompositions
29
29
 
30
30
  if TYPE_CHECKING:
31
31
  import cirq
@@ -13,10 +13,12 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from typing import Sequence, Tuple, Union
16
+
17
+ import numpy as np
18
+ import pytest
19
+
16
20
  import cirq
17
21
  from cirq import add_dynamical_decoupling
18
- import pytest
19
- import numpy as np
20
22
 
21
23
 
22
24
  def assert_sim_eq(circuit1: 'cirq.AbstractCircuit', circuit2: 'cirq.AbstractCircuit'):
@@ -14,11 +14,12 @@
14
14
 
15
15
  """Transformer pass that pushes 180° rotations around axes in the XY plane later in the circuit."""
16
16
 
17
- from typing import Optional, cast, TYPE_CHECKING, Iterable, Iterator, Tuple, Dict
18
- import sympy
17
+ from typing import cast, Dict, Iterable, Iterator, Optional, Tuple, TYPE_CHECKING
18
+
19
19
  import numpy as np
20
+ import sympy
20
21
 
21
- from cirq import circuits, ops, value, protocols
22
+ from cirq import circuits, ops, protocols, value
22
23
  from cirq.transformers import transformer_api, transformer_primitives
23
24
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions
24
25
 
@@ -11,9 +11,9 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
+ import dataclasses
14
15
  from typing import cast, Iterable
15
16
 
16
- import dataclasses
17
17
  import numpy as np
18
18
  import pytest
19
19
  import sympy
@@ -14,8 +14,9 @@
14
14
 
15
15
  """Transformer pass that pushes Z gates later and later in the circuit."""
16
16
 
17
- from typing import Dict, Iterable, Iterator, Optional, Tuple, TYPE_CHECKING
18
17
  from collections import defaultdict
18
+ from typing import Dict, Iterable, Iterator, Optional, Tuple, TYPE_CHECKING
19
+
19
20
  import numpy as np
20
21
 
21
22
  from cirq import ops, protocols
@@ -14,8 +14,8 @@
14
14
 
15
15
  import dataclasses
16
16
 
17
- import pytest
18
17
  import numpy as np
18
+ import pytest
19
19
  import sympy
20
20
 
21
21
  import cirq
@@ -14,17 +14,17 @@
14
14
 
15
15
  """A Gauge Transformer for the cphase gate."""
16
16
 
17
- import cirq.transformers.gauge_compiling.sqrt_cz_gauge as sqrt_cz_gauge
17
+ import numpy as np
18
18
 
19
+ import cirq.transformers.gauge_compiling.sqrt_cz_gauge as sqrt_cz_gauge
20
+ from cirq import ops
19
21
  from cirq.transformers.gauge_compiling.gauge_compiling import (
20
- GaugeTransformer,
21
- GaugeSelector,
22
22
  ConstantGauge,
23
23
  Gauge,
24
+ GaugeSelector,
25
+ GaugeTransformer,
24
26
  TwoQubitGateSymbolizer,
25
27
  )
26
- from cirq import ops
27
- import numpy as np
28
28
 
29
29
 
30
30
  class CPhasePauliGauge(Gauge):
@@ -14,13 +14,13 @@
14
14
 
15
15
  """A Gauge Transformer for the CZ gate."""
16
16
 
17
+ from cirq import ops
18
+ from cirq.ops.common_gates import CZ
17
19
  from cirq.transformers.gauge_compiling.gauge_compiling import (
18
- GaugeTransformer,
19
- GaugeSelector,
20
20
  ConstantGauge,
21
+ GaugeSelector,
22
+ GaugeTransformer,
21
23
  )
22
- from cirq.ops.common_gates import CZ
23
- from cirq import ops
24
24
 
25
25
  CZGaugeSelector = GaugeSelector(
26
26
  gauges=[
@@ -14,23 +14,23 @@
14
14
 
15
15
  """Creates the abstraction for gauge compiling as a cirq transformer."""
16
16
 
17
- from typing import Callable, Dict, Tuple, Optional, Sequence, Union, List
18
- from dataclasses import dataclass
19
- from numbers import Real
20
17
  import abc
21
- import itertools
22
18
  import functools
23
- import sympy
19
+ import itertools
20
+ from dataclasses import dataclass
21
+ from numbers import Real
22
+ from typing import Callable, Dict, List, Optional, Sequence, Tuple, Union
24
23
 
25
- from attrs import frozen, field
26
24
  import numpy as np
25
+ import sympy
26
+ from attrs import field, frozen
27
27
 
28
- from cirq.transformers import transformer_api
29
- from cirq import ops, circuits
30
- from cirq.study import sweepable
28
+ from cirq import circuits, ops
31
29
  from cirq.protocols import unitary_protocol
32
30
  from cirq.protocols.has_unitary_protocol import has_unitary
31
+ from cirq.study import sweepable
33
32
  from cirq.study.sweeps import Points, Zip
33
+ from cirq.transformers import transformer_api
34
34
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions
35
35
 
36
36
 
@@ -13,20 +13,22 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import unittest.mock
16
- import pytest
16
+
17
17
  import numpy as np
18
- import cirq
18
+ import pytest
19
19
  import sympy
20
+
21
+ import cirq
22
+ from cirq.transformers.analytical_decompositions import single_qubit_decompositions
20
23
  from cirq.transformers.gauge_compiling import (
21
- GaugeTransformer,
22
- CZGaugeTransformer,
23
- SqrtCZGaugeTransformer,
24
24
  ConstantGauge,
25
+ CZGaugeTransformer,
25
26
  GaugeSelector,
27
+ GaugeTransformer,
28
+ SqrtCZGaugeTransformer,
26
29
  TwoQubitGateSymbolizer,
27
30
  )
28
31
  from cirq.transformers.gauge_compiling.sqrt_cz_gauge import SqrtCZGauge
29
- from cirq.transformers.analytical_decompositions import single_qubit_decompositions
30
32
 
31
33
 
32
34
  def test_deep_transformation_not_supported():
@@ -14,12 +14,12 @@
14
14
 
15
15
 
16
16
  from unittest.mock import patch
17
- import pytest
18
17
 
19
18
  import numpy as np
19
+ import pytest
20
20
 
21
21
  import cirq
22
- from cirq.transformers.gauge_compiling import GaugeTransformer, GaugeSelector
22
+ from cirq.transformers.gauge_compiling import GaugeSelector, GaugeTransformer
23
23
 
24
24
 
25
25
  class GaugeTester:
@@ -14,9 +14,10 @@
14
14
 
15
15
 
16
16
  import numpy as np
17
+
17
18
  import cirq
19
+ from cirq.transformers import ConstantGauge, GaugeSelector, GaugeTransformer
18
20
  from cirq.transformers.gauge_compiling.gauge_compiling_test_utils import GaugeTester
19
- from cirq.transformers import GaugeTransformer, GaugeSelector, ConstantGauge
20
21
 
21
22
 
22
23
  class ExampleGate(cirq.testing.TwoQubitGate):
@@ -16,13 +16,13 @@
16
16
 
17
17
  import numpy as np
18
18
 
19
+ from cirq import ops
19
20
  from cirq.transformers.gauge_compiling.gauge_compiling import (
20
21
  ConstantGauge,
21
22
  Gauge,
22
- GaugeTransformer,
23
23
  GaugeSelector,
24
+ GaugeTransformer,
24
25
  )
25
- from cirq import ops
26
26
 
27
27
 
28
28
  class RZRotation(Gauge):
@@ -14,12 +14,12 @@
14
14
 
15
15
  """The spin inversion gauge transformer."""
16
16
 
17
+ from cirq import ops
17
18
  from cirq.transformers.gauge_compiling.gauge_compiling import (
18
- GaugeTransformer,
19
19
  GaugeSelector,
20
+ GaugeTransformer,
20
21
  SameGateGauge,
21
22
  )
22
- from cirq import ops
23
23
 
24
24
  SpinInversionGaugeSelector = GaugeSelector(
25
25
  gauges=[