cirq-core 1.5.0.dev20250327205617__py3-none-any.whl → 1.5.0.dev20250328173208__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.dev20250328173208.dist-info}/METADATA +1 -1
  412. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/RECORD +415 -415
  413. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/LICENSE +0 -0
  414. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/WHEEL +0 -0
  415. {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/top_level.txt +0 -0
@@ -15,20 +15,20 @@
15
15
  """A Gauge transformer for CZ**0.5 and CZ**-0.5 gates."""
16
16
 
17
17
 
18
- from typing import TYPE_CHECKING, Dict, Sequence, Tuple
19
18
  from numbers import Real
19
+ from typing import Dict, Sequence, Tuple, TYPE_CHECKING
20
+
20
21
  import numpy as np
21
22
  import sympy
22
23
 
24
+ from cirq.ops import CZ, CZPowGate, Gate, Gateset, S, X
23
25
  from cirq.transformers.gauge_compiling.gauge_compiling import (
24
- GaugeTransformer,
25
- GaugeSelector,
26
26
  ConstantGauge,
27
27
  Gauge,
28
+ GaugeSelector,
29
+ GaugeTransformer,
28
30
  TwoQubitGateSymbolizer,
29
31
  )
30
- from cirq.ops import CZ, S, X, Gateset, Gate, CZPowGate
31
-
32
32
 
33
33
  if TYPE_CHECKING:
34
34
  import cirq
@@ -15,13 +15,14 @@
15
15
  """A Gauge transformer for SQRT_ISWAP gate."""
16
16
 
17
17
  import numpy as np
18
+
19
+ from cirq import ops
18
20
  from cirq.transformers.gauge_compiling.gauge_compiling import (
19
21
  ConstantGauge,
20
22
  Gauge,
21
- GaugeTransformer,
22
23
  GaugeSelector,
24
+ GaugeTransformer,
23
25
  )
24
- from cirq import ops
25
26
 
26
27
 
27
28
  class RZRotation(Gauge):
@@ -1,8 +1,9 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
2
  import itertools
3
- from typing import Union, Sequence, Optional
3
+ from typing import Optional, Sequence, Union
4
4
 
5
5
  import numpy as np
6
+
6
7
  from cirq.value import random_state
7
8
 
8
9
  _RealArraylike = Union[np.ndarray, float]
@@ -5,9 +5,9 @@ import pytest
5
5
  import cirq
6
6
  from cirq import value
7
7
  from cirq.transformers.heuristic_decompositions.gate_tabulation_math_utils import (
8
- weyl_chamber_mesh,
9
8
  kak_vector_infidelity,
10
9
  random_qubit_unitary,
10
+ weyl_chamber_mesh,
11
11
  )
12
12
 
13
13
 
@@ -14,21 +14,21 @@
14
14
 
15
15
  """Attempt to tabulate single qubit gates required to generate a target 2Q gate
16
16
  with a product A k A."""
17
+ from dataclasses import dataclass
17
18
  from functools import reduce
18
19
  from typing import List, NamedTuple, Sequence, Tuple
19
20
 
20
- from dataclasses import dataclass
21
21
  import numpy as np
22
22
 
23
23
  import cirq
24
24
  from cirq import value
25
- from cirq._compat import proper_repr, proper_eq
25
+ from cirq._compat import proper_eq, proper_repr
26
26
  from cirq.transformers.heuristic_decompositions.gate_tabulation_math_utils import (
27
27
  kak_vector_infidelity,
28
+ kak_vector_to_unitary,
29
+ random_qubit_unitary,
28
30
  vector_kron,
29
31
  weyl_chamber_mesh,
30
- random_qubit_unitary,
31
- kak_vector_to_unitary,
32
32
  )
33
33
 
34
34
  _SingleQubitGatePair = Tuple[np.ndarray, np.ndarray]
@@ -17,14 +17,14 @@ import pytest
17
17
 
18
18
  import cirq
19
19
  from cirq import value
20
+ from cirq.testing import assert_equivalent_repr, random_special_unitary
21
+ from cirq.transformers.heuristic_decompositions.gate_tabulation_math_utils import (
22
+ unitary_entanglement_fidelity,
23
+ )
20
24
  from cirq.transformers.heuristic_decompositions.two_qubit_gate_tabulation import (
21
25
  two_qubit_gate_product_tabulation,
22
26
  TwoQubitGateTabulation,
23
27
  )
24
- from cirq.transformers.heuristic_decompositions.gate_tabulation_math_utils import (
25
- unitary_entanglement_fidelity,
26
- )
27
- from cirq.testing import random_special_unitary, assert_equivalent_repr
28
28
 
29
29
  _rng = value.parse_random_state(11) # for determinism
30
30
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  from typing import Dict, List, Optional, TYPE_CHECKING
18
18
 
19
- from cirq import protocols, circuits
19
+ from cirq import circuits, protocols
20
20
  from cirq.transformers import transformer_api
21
21
 
22
22
  if TYPE_CHECKING:
@@ -14,9 +14,9 @@
14
14
 
15
15
  """Transformer pass to merge connected components of k-qubit unitary operations."""
16
16
 
17
- from typing import cast, Optional, Callable, TYPE_CHECKING
17
+ from typing import Callable, cast, Optional, TYPE_CHECKING
18
18
 
19
- from cirq import ops, protocols, circuits
19
+ from cirq import circuits, ops, protocols
20
20
  from cirq.transformers import transformer_api, transformer_primitives
21
21
 
22
22
  if TYPE_CHECKING:
@@ -17,8 +17,8 @@
17
17
  from typing import Optional, TYPE_CHECKING
18
18
 
19
19
  from cirq import circuits, ops, protocols
20
+ from cirq.transformers import merge_k_qubit_gates, transformer_api, transformer_primitives
20
21
  from cirq.transformers.analytical_decompositions import single_qubit_decompositions
21
- from cirq.transformers import transformer_api, transformer_primitives, merge_k_qubit_gates
22
22
 
23
23
  if TYPE_CHECKING:
24
24
  import cirq
@@ -13,12 +13,13 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from collections.abc import Mapping
16
-
17
16
  from typing import cast
18
- from cirq import ops, circuits
19
- from cirq.transformers import transformer_api
17
+
20
18
  import numpy as np
21
19
 
20
+ from cirq import circuits, ops
21
+ from cirq.transformers import transformer_api
22
+
22
23
 
23
24
  def _gate_in_moment(gate: ops.Gate, moment: circuits.Moment) -> bool:
24
25
  """Check whether `gate` is in `moment`."""
@@ -12,10 +12,11 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from cirq import ops, circuits, devices
16
- import cirq.transformers.noise_adding as na
17
15
  import numpy as np
18
16
 
17
+ import cirq.transformers.noise_adding as na
18
+ from cirq import circuits, devices, ops
19
+
19
20
 
20
21
  def test_noise_adding():
21
22
  qubits = devices.LineQubit.range(4)
@@ -14,7 +14,7 @@
14
14
 
15
15
  """Transformers to rewrite a circuit using gates from a given target gateset."""
16
16
 
17
- from typing import Optional, Callable, Hashable, Sequence, TYPE_CHECKING, Union
17
+ from typing import Callable, Hashable, Optional, Sequence, TYPE_CHECKING, Union
18
18
 
19
19
  from cirq import circuits
20
20
  from cirq.protocols import decompose_protocol as dp
@@ -14,10 +14,11 @@
14
14
 
15
15
  from typing import Union
16
16
 
17
+ import pytest
18
+
17
19
  import cirq
18
20
  from cirq.protocols.decompose_protocol import DecomposeResult
19
21
  from cirq.transformers.optimize_for_target_gateset import _decompose_operations_to_target_gateset
20
- import pytest
21
22
 
22
23
 
23
24
  def test_decompose_operations_raises_on_stuck():
@@ -15,8 +15,9 @@
15
15
  from collections.abc import Sequence
16
16
  from typing import Any
17
17
 
18
- import cirq
19
18
  import numpy as np
19
+
20
+ import cirq
20
21
  from cirq.ops import SingleQubitCliffordGate
21
22
  from cirq.transformers import transformer_api
22
23
 
@@ -12,9 +12,10 @@
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
17
  import cirq
16
18
  import cirq.transformers.randomized_measurements as rand_meas
17
- import pytest
18
19
 
19
20
 
20
21
  def test_randomized_measurements_appends_two_moments_on_returned_circuit():
@@ -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
- from typing import TYPE_CHECKING, Dict
16
15
  import abc
16
+ from typing import Dict, TYPE_CHECKING
17
17
 
18
18
  from cirq import value
19
19
 
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import pytest
16
+
16
17
  import cirq
17
18
 
18
19
 
@@ -30,12 +30,13 @@ If some logical qubits are unampped after this first procedure then there are tw
30
30
  the nearest available neighbor to the center of the device.
31
31
  """
32
32
 
33
- from typing import Deque, Dict, List, Set, Tuple, TYPE_CHECKING
34
33
  from collections import deque
34
+ from typing import Deque, Dict, List, Set, Tuple, TYPE_CHECKING
35
+
35
36
  import networkx as nx
36
37
 
37
- from cirq.transformers.routing import initial_mapper
38
38
  from cirq import protocols, value
39
+ from cirq.transformers.routing import initial_mapper
39
40
 
40
41
  if TYPE_CHECKING:
41
42
  import cirq
@@ -14,9 +14,9 @@
14
14
 
15
15
  """Manages the mapping from logical to physical qubits during a routing procedure."""
16
16
 
17
- from typing import List, Dict, Sequence, TYPE_CHECKING
18
- import networkx as nx
17
+ from typing import Dict, List, Sequence, TYPE_CHECKING
19
18
 
19
+ import networkx as nx
20
20
  import numpy as np
21
21
 
22
22
  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
- from networkx.utils.misc import graphs_equal
16
- import pytest
17
15
  import networkx as nx
16
+ import pytest
17
+ from networkx.utils.misc import graphs_equal
18
18
 
19
19
  import cirq
20
20
 
@@ -14,13 +14,14 @@
14
14
 
15
15
  """Heuristic qubit routing algorithm based on arxiv:1902.08091."""
16
16
 
17
- from typing import Any, Dict, List, Optional, Set, Sequence, Tuple, TYPE_CHECKING
18
17
  import itertools
18
+ from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, TYPE_CHECKING
19
+
19
20
  import networkx as nx
20
21
 
21
22
  from cirq import circuits, ops, protocols
22
23
  from cirq.transformers import transformer_api, transformer_primitives
23
- from cirq.transformers.routing import mapping_manager, line_initial_mapper
24
+ from cirq.transformers.routing import line_initial_mapper, mapping_manager
24
25
 
25
26
  if TYPE_CHECKING:
26
27
  import cirq
@@ -12,9 +12,10 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- import cirq
16
15
  import pytest
17
16
 
17
+ import cirq
18
+
18
19
 
19
20
  def test_directed_device():
20
21
  device = cirq.testing.construct_ring_device(10, directed=True)
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from typing import Dict, Optional, Tuple, TYPE_CHECKING
16
+
16
17
  from cirq import circuits, ops
17
18
 
18
19
  if TYPE_CHECKING:
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import pytest
16
+
16
17
  import cirq
17
18
 
18
19
 
@@ -15,9 +15,9 @@
15
15
  """Transformer pass to repack circuits avoiding simultaneous operations with different classes."""
16
16
 
17
17
  import itertools
18
- from typing import TYPE_CHECKING, Type, Callable, Dict, Optional, Union, Iterable, Sequence, List
18
+ from typing import Callable, Dict, Iterable, List, Optional, Sequence, Type, TYPE_CHECKING, Union
19
19
 
20
- from cirq import ops, circuits, protocols, _import
20
+ from cirq import _import, circuits, ops, protocols
21
21
  from cirq.transformers import transformer_api
22
22
 
23
23
  drop_empty_moments = _import.LazyLoader('drop_empty_moments', globals(), 'cirq.transformers')
@@ -15,7 +15,8 @@
15
15
  """Transformer pass to move terminal measurements to the end of circuit."""
16
16
 
17
17
  from typing import List, Optional, Set, Tuple, TYPE_CHECKING
18
- from cirq import protocols, circuits
18
+
19
+ from cirq import circuits, protocols
19
20
  from cirq.transformers import transformer_api
20
21
 
21
22
  if TYPE_CHECKING:
@@ -14,14 +14,13 @@
14
14
 
15
15
  """Base class for creating custom target gatesets which can be used for compilation."""
16
16
 
17
- from typing import Optional, List, Hashable, TYPE_CHECKING, Union, Type
18
17
  import abc
18
+ from typing import Hashable, List, Optional, Type, TYPE_CHECKING, Union
19
19
 
20
20
  from cirq import circuits, ops, protocols, transformers
21
21
  from cirq.protocols.decompose_protocol import DecomposeResult
22
22
  from cirq.transformers import merge_k_qubit_gates, merge_single_qubit_gates
23
23
 
24
-
25
24
  if TYPE_CHECKING:
26
25
  import cirq
27
26
 
@@ -13,7 +13,9 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from typing import List
16
+
16
17
  import pytest
18
+
17
19
  import cirq
18
20
  from cirq.protocols.decompose_protocol import DecomposeResult
19
21
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  """Target gateset used for compiling circuits to CZ + 1-q rotations + measurement gates."""
16
16
 
17
- from typing import Any, Dict, Sequence, Type, Union, TYPE_CHECKING
17
+ from typing import Any, Dict, Sequence, Type, TYPE_CHECKING, Union
18
18
 
19
19
  from cirq import ops, protocols
20
20
  from cirq.transformers.analytical_decompositions import two_qubit_to_cz
@@ -13,10 +13,12 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from typing import Optional, Sequence, Type
16
+
17
+ import numpy as np
16
18
  import pytest
17
- import cirq
18
19
  import sympy
19
- import numpy as np
20
+
21
+ import cirq
20
22
 
21
23
 
22
24
  def all_gates_of_type(m: cirq.Moment, g: cirq.Gateset):
@@ -14,7 +14,7 @@
14
14
 
15
15
  """Target gateset used for compiling circuits to √iSWAP + 1-q rotations + measurement gates."""
16
16
 
17
- from typing import Any, Dict, Optional, Sequence, Type, Union, TYPE_CHECKING
17
+ from typing import Any, Dict, Optional, Sequence, Type, TYPE_CHECKING, Union
18
18
 
19
19
  from cirq import ops, protocols
20
20
  from cirq.protocols.decompose_protocol import DecomposeResult
@@ -14,10 +14,11 @@
14
14
 
15
15
  from typing import Optional
16
16
 
17
- import cirq
17
+ import numpy as np
18
18
  import pytest
19
19
  import sympy
20
- import numpy as np
20
+
21
+ import cirq
21
22
 
22
23
 
23
24
  def all_gates_of_type(m: cirq.Moment, g: cirq.Gateset):
@@ -15,24 +15,25 @@
15
15
  """Defines the API for circuit transformers in Cirq."""
16
16
 
17
17
  import dataclasses
18
- import inspect
19
18
  import enum
20
19
  import functools
20
+ import inspect
21
21
  import textwrap
22
22
  from typing import (
23
- cast,
24
23
  Any,
25
24
  Callable,
26
- Tuple,
25
+ cast,
27
26
  Hashable,
28
27
  List,
29
- overload,
30
28
  Optional,
29
+ overload,
30
+ Tuple,
31
31
  Type,
32
32
  TYPE_CHECKING,
33
33
  TypeVar,
34
34
  Union,
35
35
  )
36
+
36
37
  from typing_extensions import Protocol
37
38
 
38
39
  from cirq import circuits
@@ -12,14 +12,14 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from unittest import mock
16
15
  from typing import Optional
16
+ from unittest import mock
17
+
18
+ import pytest
17
19
 
18
20
  import cirq
19
21
  from cirq.transformers.transformer_api import LogLevel
20
22
 
21
- import pytest
22
-
23
23
 
24
24
  @cirq.transformer()
25
25
  class MockTransformerClass:
@@ -14,22 +14,21 @@
14
14
 
15
15
  """Defines primitives for common transformer patterns."""
16
16
 
17
- from collections import defaultdict
18
17
  import bisect
19
18
  import dataclasses
20
-
19
+ from collections import defaultdict
21
20
  from typing import (
22
- cast,
23
21
  Callable,
22
+ cast,
24
23
  Dict,
25
24
  Hashable,
26
25
  List,
27
26
  Optional,
28
27
  Sequence,
29
28
  Set,
30
- Union,
31
29
  Tuple,
32
30
  TYPE_CHECKING,
31
+ Union,
33
32
  )
34
33
 
35
34
  from cirq import circuits, ops, protocols
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from typing import Iterator, List, Optional
16
+
16
17
  import pytest
17
18
 
18
19
  import cirq
cirq/value/abc_alt.py CHANGED
@@ -16,8 +16,7 @@
16
16
 
17
17
  import abc
18
18
  import functools
19
- from typing import cast, Callable, Set, TypeVar
20
-
19
+ from typing import Callable, cast, Set, TypeVar
21
20
 
22
21
  T = TypeVar('T')
23
22
 
cirq/value/angle.py CHANGED
@@ -13,8 +13,10 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from typing import Optional, overload
16
+
16
17
  import numpy as np
17
18
  import sympy
19
+
18
20
  from cirq.value import type_alias
19
21
 
20
22
 
@@ -15,6 +15,7 @@
15
15
  import abc
16
16
  import enum
17
17
  from typing import Dict, List, Mapping, Optional, Sequence, Tuple, TYPE_CHECKING
18
+
18
19
  from typing_extensions import Self
19
20
 
20
21
  from cirq.value import digits, value_equality_attr
cirq/value/digits.py CHANGED
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import List, Iterable, Any, Union, Optional, overload
15
+ from typing import Any, Iterable, List, Optional, overload, Union
16
16
 
17
17
 
18
18
  def big_endian_bits_to_int(bits: Iterable[Any]) -> int:
cirq/value/duration.py CHANGED
@@ -13,14 +13,14 @@
13
13
  # limitations under the License.
14
14
  """A typed time delta that supports picosecond accuracy."""
15
15
 
16
- from typing import AbstractSet, Any, Dict, Optional, Tuple, TYPE_CHECKING, Union, List
17
16
  import datetime
17
+ from typing import AbstractSet, Any, Dict, List, Optional, Tuple, TYPE_CHECKING, Union
18
18
 
19
- import sympy
20
19
  import numpy as np
20
+ import sympy
21
21
 
22
22
  from cirq import protocols
23
- from cirq._compat import proper_repr, cached_method
23
+ from cirq._compat import cached_method, proper_repr
24
24
  from cirq._doc import document
25
25
 
26
26
  if TYPE_CHECKING:
@@ -13,9 +13,10 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from datetime import timedelta
16
+
17
+ import numpy as np
16
18
  import pytest
17
19
  import sympy
18
- import numpy as np
19
20
 
20
21
  import cirq
21
22
  from cirq.value import Duration
cirq/value/linear_dict.py CHANGED
@@ -34,10 +34,11 @@ from typing import (
34
34
  Union,
35
35
  ValuesView,
36
36
  )
37
- from typing_extensions import Self
38
37
 
39
38
  import numpy as np
40
39
  import sympy
40
+ from typing_extensions import Self
41
+
41
42
  from cirq import protocols
42
43
 
43
44
  if TYPE_CHECKING:
@@ -12,9 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from typing import Any, Dict, FrozenSet, Mapping, Optional, Tuple
16
-
17
15
  import dataclasses
16
+ from typing import Any, Dict, FrozenSet, Mapping, Optional, Tuple
18
17
 
19
18
  MEASUREMENT_KEY_SEPARATOR = ':'
20
19
 
@@ -18,7 +18,6 @@ import sympy
18
18
 
19
19
  from cirq._compat import proper_repr
20
20
 
21
-
22
21
  if TYPE_CHECKING:
23
22
  import cirq
24
23
 
cirq/value/probability.py CHANGED
@@ -17,6 +17,7 @@
17
17
  from typing import TYPE_CHECKING
18
18
 
19
19
  import numpy as np
20
+
20
21
  from cirq.qis import to_valid_state_vector
21
22
 
22
23
  if TYPE_CHECKING:
@@ -12,7 +12,7 @@
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, Any
15
+ from typing import Any, cast
16
16
 
17
17
  import numpy as np
18
18