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.
- cirq/_compat_test.py +11 -9
- cirq/_import.py +6 -7
- cirq/_version.py +1 -1
- cirq/_version_test.py +1 -1
- cirq/circuits/_block_diagram_drawer.py +1 -2
- cirq/circuits/_block_diagram_drawer_test.py +3 -3
- cirq/circuits/_box_drawing_character_data.py +0 -1
- cirq/circuits/_box_drawing_character_data_test.py +2 -2
- cirq/circuits/_bucket_priority_queue.py +0 -1
- cirq/circuits/_bucket_priority_queue_test.py +1 -1
- cirq/circuits/circuit.py +1 -1
- cirq/circuits/circuit_operation.py +1 -1
- cirq/circuits/circuit_test.py +2 -3
- cirq/circuits/frozen_circuit.py +1 -1
- cirq/circuits/moment.py +4 -5
- cirq/circuits/optimization_pass.py +1 -1
- cirq/circuits/optimization_pass_test.py +3 -2
- cirq/circuits/qasm_output.py +3 -3
- cirq/circuits/qasm_output_test.py +2 -1
- cirq/circuits/text_diagram_drawer.py +3 -3
- cirq/circuits/text_diagram_drawer_test.py +5 -4
- cirq/contrib/acquaintance/bipartite.py +1 -2
- cirq/contrib/acquaintance/bipartite_test.py +0 -1
- cirq/contrib/acquaintance/devices.py +3 -4
- cirq/contrib/acquaintance/devices_test.py +0 -1
- cirq/contrib/acquaintance/executor.py +4 -6
- cirq/contrib/acquaintance/executor_test.py +2 -2
- cirq/contrib/acquaintance/gates.py +2 -3
- cirq/contrib/acquaintance/gates_test.py +1 -1
- cirq/contrib/acquaintance/inspection_utils.py +1 -2
- cirq/contrib/acquaintance/inspection_utils_test.py +1 -1
- cirq/contrib/acquaintance/mutation_utils.py +2 -4
- cirq/contrib/acquaintance/optimizers.py +2 -3
- cirq/contrib/acquaintance/optimizers_test.py +1 -1
- cirq/contrib/acquaintance/permutation.py +1 -1
- cirq/contrib/acquaintance/permutation_test.py +1 -1
- cirq/contrib/acquaintance/shift.py +1 -1
- cirq/contrib/acquaintance/strategies/complete.py +0 -1
- cirq/contrib/acquaintance/strategies/cubic.py +1 -1
- cirq/contrib/circuitdag/circuit_dag.py +2 -2
- cirq/contrib/circuitdag/circuit_dag_test.py +1 -1
- cirq/contrib/graph_device/graph_device.py +1 -3
- cirq/contrib/graph_device/graph_device_test.py +0 -1
- cirq/contrib/graph_device/hypergraph_test.py +1 -0
- cirq/contrib/json_test.py +2 -2
- cirq/contrib/noise_models/noise_models.py +1 -1
- cirq/contrib/paulistring/clifford_optimize.py +1 -1
- cirq/contrib/paulistring/clifford_optimize_test.py +0 -1
- cirq/contrib/paulistring/clifford_target_gateset.py +3 -3
- cirq/contrib/paulistring/optimize.py +2 -2
- cirq/contrib/paulistring/optimize_test.py +0 -1
- cirq/contrib/paulistring/pauli_string_dag_test.py +0 -1
- cirq/contrib/paulistring/pauli_string_measurement_with_readout_mitigation.py +3 -3
- cirq/contrib/paulistring/pauli_string_measurement_with_readout_mitigation_test.py +3 -4
- cirq/contrib/paulistring/pauli_string_optimize_test.py +1 -2
- cirq/contrib/paulistring/recombine.py +2 -2
- cirq/contrib/paulistring/recombine_test.py +1 -1
- cirq/contrib/paulistring/separate.py +1 -2
- cirq/contrib/qasm_import/_lexer.py +1 -0
- cirq/contrib/qasm_import/_lexer_test.py +1 -0
- cirq/contrib/qasm_import/_parser.py +2 -3
- cirq/contrib/qasm_import/_parser_test.py +1 -1
- cirq/contrib/qasm_import/qasm_test.py +1 -1
- cirq/contrib/quantum_volume/quantum_volume.py +1 -1
- cirq/contrib/quantum_volume/quantum_volume_test.py +3 -1
- cirq/contrib/quimb/density_matrix.py +1 -1
- cirq/contrib/quimb/state_vector.py +1 -1
- cirq/contrib/quirk/export_to_quirk.py +3 -3
- cirq/contrib/routing/device.py +1 -1
- cirq/contrib/routing/device_test.py +1 -2
- cirq/contrib/routing/greedy.py +2 -2
- cirq/contrib/routing/initialization_test.py +1 -1
- cirq/contrib/routing/swap_network.py +1 -1
- cirq/contrib/routing/utils.py +2 -2
- cirq/contrib/routing/utils_test.py +1 -2
- cirq/contrib/shuffle_circuits/shuffle_circuits_with_readout_benchmarking.py +2 -2
- cirq/contrib/shuffle_circuits/shuffle_circuits_with_readout_benchmarking_test.py +6 -4
- cirq/contrib/svg/svg.py +2 -3
- cirq/devices/device.py +3 -1
- cirq/devices/device_test.py +1 -0
- cirq/devices/grid_device_metadata.py +2 -1
- cirq/devices/grid_device_metadata_test.py +2 -1
- cirq/devices/grid_qubit.py +2 -2
- cirq/devices/insertion_noise_model.py +1 -1
- cirq/devices/insertion_noise_model_test.py +1 -1
- cirq/devices/line_qubit.py +1 -0
- cirq/devices/named_topologies.py +6 -6
- cirq/devices/named_topologies_test.py +5 -4
- cirq/devices/noise_model.py +2 -2
- cirq/devices/noise_properties.py +2 -2
- cirq/devices/noise_properties_test.py +2 -2
- cirq/devices/noise_utils.py +3 -3
- cirq/devices/superconducting_qubits_noise_properties.py +2 -2
- cirq/devices/superconducting_qubits_noise_properties_test.py +3 -3
- cirq/devices/thermal_noise_model.py +2 -1
- cirq/devices/unconstrained_device.py +1 -1
- cirq/experiments/qubit_characterizations.py +9 -10
- cirq/experiments/qubit_characterizations_test.py +4 -6
- cirq/experiments/random_quantum_circuit_generation.py +3 -4
- cirq/experiments/random_quantum_circuit_generation_test.py +4 -4
- cirq/experiments/readout_confusion_matrix.py +5 -3
- cirq/experiments/readout_confusion_matrix_test.py +2 -2
- cirq/experiments/single_qubit_readout_calibration.py +5 -4
- cirq/experiments/single_qubit_readout_calibration_test.py +1 -1
- cirq/experiments/t1_decay_experiment.py +4 -5
- cirq/experiments/t1_decay_experiment_test.py +1 -2
- cirq/experiments/t2_decay_experiment.py +0 -1
- cirq/experiments/t2_decay_experiment_test.py +1 -2
- cirq/experiments/two_qubit_xeb.py +13 -10
- cirq/experiments/two_qubit_xeb_test.py +3 -4
- cirq/experiments/xeb_fitting.py +6 -3
- cirq/experiments/xeb_fitting_test.py +5 -5
- cirq/experiments/xeb_sampling.py +5 -5
- cirq/experiments/xeb_simulation.py +3 -2
- cirq/experiments/z_phase_calibration.py +4 -3
- cirq/experiments/z_phase_calibration_test.py +4 -5
- cirq/interop/quirk/cells/arithmetic_cells.py +8 -8
- cirq/interop/quirk/cells/arithmetic_cells_test.py +1 -1
- cirq/interop/quirk/cells/cell.py +6 -6
- cirq/interop/quirk/cells/composite_cell.py +5 -5
- cirq/interop/quirk/cells/composite_cell_test.py +1 -1
- cirq/interop/quirk/cells/frequency_space_cells.py +2 -2
- cirq/interop/quirk/cells/ignored_cells.py +1 -1
- cirq/interop/quirk/cells/input_cells.py +1 -1
- cirq/interop/quirk/cells/input_cells_test.py +1 -1
- cirq/interop/quirk/cells/input_rotation_cells.py +1 -1
- cirq/interop/quirk/cells/input_rotation_cells_test.py +1 -1
- cirq/interop/quirk/cells/measurement_cells.py +1 -1
- cirq/interop/quirk/cells/parse.py +3 -4
- cirq/interop/quirk/cells/parse_test.py +1 -1
- cirq/interop/quirk/cells/single_qubit_rotation_cells.py +1 -1
- cirq/interop/quirk/cells/swap_cell_test.py +1 -1
- cirq/interop/quirk/cells/unsupported_cells.py +1 -1
- cirq/interop/quirk/url_to_circuit.py +7 -7
- cirq/interop/quirk/url_to_circuit_test.py +1 -1
- cirq/json_resolver_cache.py +6 -5
- cirq/linalg/combinators.py +2 -2
- cirq/linalg/combinators_test.py +1 -1
- cirq/linalg/decompositions.py +2 -2
- cirq/linalg/decompositions_test.py +1 -2
- cirq/linalg/diagonalize.py +1 -1
- cirq/linalg/diagonalize_test.py +1 -1
- cirq/linalg/predicates.py +2 -2
- cirq/linalg/predicates_test.py +1 -0
- cirq/linalg/tolerance.py +1 -1
- cirq/neutral_atoms/convert_to_neutral_atom_gates_test.py +0 -1
- cirq/ops/arithmetic_operation.py +2 -2
- cirq/ops/arithmetic_operation_test.py +2 -2
- cirq/ops/classically_controlled_operation.py +2 -2
- cirq/ops/clifford_gate.py +3 -3
- cirq/ops/clifford_gate_test.py +1 -1
- cirq/ops/common_channels.py +2 -2
- cirq/ops/common_gate_families.py +1 -1
- cirq/ops/common_gate_families_test.py +1 -0
- cirq/ops/common_gates.py +3 -3
- cirq/ops/control_values.py +2 -2
- cirq/ops/control_values_test.py +2 -1
- cirq/ops/controlled_gate.py +2 -2
- cirq/ops/controlled_operation.py +3 -3
- cirq/ops/dense_pauli_string.py +3 -3
- cirq/ops/diagonal_gate.py +1 -1
- cirq/ops/diagonal_gate_test.py +1 -0
- cirq/ops/eigen_gate.py +1 -1
- cirq/ops/eigen_gate_test.py +1 -1
- cirq/ops/fourier_transform.py +1 -1
- cirq/ops/fourier_transform_test.py +2 -1
- cirq/ops/gate_operation.py +5 -5
- cirq/ops/gateset_test.py +4 -2
- cirq/ops/global_phase_op.py +3 -3
- cirq/ops/identity.py +1 -1
- cirq/ops/kraus_channel.py +1 -0
- cirq/ops/kraus_channel_test.py +2 -1
- cirq/ops/linear_combinations.py +9 -9
- cirq/ops/matrix_gates.py +2 -2
- cirq/ops/measure_util.py +2 -2
- cirq/ops/measurement_gate.py +1 -1
- cirq/ops/measurement_gate_test.py +1 -0
- cirq/ops/mixed_unitary_channel.py +1 -0
- cirq/ops/mixed_unitary_channel_test.py +2 -1
- cirq/ops/named_qubit.py +0 -1
- cirq/ops/op_tree.py +1 -1
- cirq/ops/parallel_gate.py +1 -1
- cirq/ops/parallel_gate_test.py +2 -1
- cirq/ops/parity_gates.py +5 -6
- cirq/ops/pauli_gates.py +4 -5
- cirq/ops/pauli_gates_test.py +1 -0
- cirq/ops/pauli_interaction_gate.py +3 -3
- cirq/ops/pauli_interaction_gate_test.py +2 -3
- cirq/ops/pauli_measurement_gate.py +4 -4
- cirq/ops/pauli_string.py +5 -5
- cirq/ops/pauli_string_phasor.py +6 -7
- cirq/ops/pauli_string_phasor_test.py +2 -1
- cirq/ops/pauli_string_raw_types.py +1 -0
- cirq/ops/pauli_sum_exponential.py +1 -1
- cirq/ops/pauli_sum_exponential_test.py +0 -1
- cirq/ops/permutation_gate_test.py +1 -1
- cirq/ops/phased_x_gate.py +3 -4
- cirq/ops/phased_x_z_gate.py +3 -3
- cirq/ops/qubit_manager.py +2 -1
- cirq/ops/qubit_manager_test.py +2 -1
- cirq/ops/qubit_order.py +1 -1
- cirq/ops/random_gate_channel.py +1 -1
- cirq/ops/raw_types.py +4 -4
- cirq/ops/raw_types_test.py +2 -2
- cirq/ops/state_preparation_channel.py +2 -2
- cirq/ops/state_preparation_channel_test.py +2 -1
- cirq/ops/swap_gates.py +2 -2
- cirq/ops/three_qubit_gates.py +2 -3
- cirq/ops/three_qubit_gates_test.py +1 -0
- cirq/ops/two_qubit_diagonal_gate.py +3 -2
- cirq/ops/uniform_superposition_gate.py +3 -3
- cirq/ops/uniform_superposition_gate_test.py +1 -0
- cirq/ops/wait_gate.py +1 -1
- cirq/protocols/act_on_protocol_test.py +1 -1
- cirq/protocols/apply_channel_protocol.py +2 -2
- cirq/protocols/apply_mixture_protocol.py +1 -1
- cirq/protocols/approximate_equality_protocol.py +3 -4
- cirq/protocols/approximate_equality_protocol_test.py +3 -1
- cirq/protocols/circuit_diagram_info_protocol.py +5 -5
- cirq/protocols/decompose_protocol.py +3 -4
- cirq/protocols/decompose_protocol_test.py +1 -0
- cirq/protocols/equal_up_to_global_phase_protocol_test.py +1 -0
- cirq/protocols/has_stabilizer_effect_protocol.py +5 -5
- cirq/protocols/has_unitary_protocol.py +1 -1
- cirq/protocols/inverse_protocol.py +1 -1
- cirq/protocols/json_serialization_test.py +1 -1
- cirq/protocols/kraus_protocol.py +1 -2
- cirq/protocols/kraus_protocol_test.py +0 -1
- cirq/protocols/mixture_protocol_test.py +1 -2
- cirq/protocols/pauli_expansion_protocol.py +1 -0
- cirq/protocols/pow_protocol.py +1 -1
- cirq/protocols/qasm.py +1 -1
- cirq/protocols/qid_shape_protocol.py +1 -1
- cirq/protocols/resolve_parameters.py +1 -2
- cirq/protocols/resolve_parameters_test.py +2 -1
- cirq/protocols/trace_distance_bound.py +1 -1
- cirq/protocols/trace_distance_bound_test.py +1 -0
- cirq/protocols/unitary_protocol.py +2 -2
- cirq/qis/clifford_tableau.py +2 -1
- cirq/qis/entropy.py +1 -1
- cirq/qis/entropy_test.py +2 -1
- cirq/qis/measures.py +3 -3
- cirq/qis/noise_utils_test.py +4 -4
- cirq/qis/quantum_state_representation.py +1 -1
- cirq/qis/states.py +3 -2
- cirq/sim/classical_simulator.py +7 -6
- cirq/sim/classical_simulator_test.py +3 -1
- cirq/sim/clifford/stabilizer_state_ch_form.py +1 -0
- cirq/sim/density_matrix_simulator.py +1 -1
- cirq/sim/density_matrix_utils.py +1 -1
- cirq/sim/mux.py +2 -2
- cirq/sim/simulation_state.py +3 -4
- cirq/sim/simulation_state_base.py +1 -1
- cirq/sim/simulation_utils_test.py +2 -3
- cirq/sim/simulator_base.py +5 -5
- cirq/sim/simulator_test.py +2 -2
- cirq/sim/sparse_simulator.py +2 -2
- cirq/sim/sparse_simulator_test.py +1 -1
- cirq/sim/state_vector.py +2 -2
- cirq/sim/state_vector_simulator.py +4 -4
- cirq/study/flatten_expressions.py +2 -2
- cirq/study/flatten_expressions_test.py +1 -1
- cirq/study/resolver.py +1 -0
- cirq/study/result.py +3 -3
- cirq/study/sweepable.py +3 -2
- cirq/study/sweeps.py +4 -4
- cirq/study/sweeps_test.py +1 -0
- cirq/testing/circuit_compare.py +3 -4
- cirq/testing/circuit_compare_test.py +1 -2
- cirq/testing/consistent_act_on.py +3 -3
- cirq/testing/consistent_channels_test.py +2 -1
- cirq/testing/consistent_controlled_gate_op.py +3 -2
- cirq/testing/consistent_controlled_gate_op_test.py +2 -3
- cirq/testing/consistent_decomposition.py +1 -1
- cirq/testing/consistent_decomposition_test.py +1 -2
- cirq/testing/consistent_phase_by.py +1 -1
- cirq/testing/consistent_phase_by_test.py +1 -2
- cirq/testing/consistent_protocols.py +9 -9
- cirq/testing/consistent_protocols_test.py +3 -4
- cirq/testing/consistent_qasm.py +1 -1
- cirq/testing/consistent_qasm_test.py +1 -1
- cirq/testing/consistent_resolve_parameters.py +2 -1
- cirq/testing/consistent_specified_has_unitary_test.py +1 -1
- cirq/testing/consistent_unitary.py +3 -1
- cirq/testing/consistent_unitary_test.py +3 -3
- cirq/testing/devices.py +1 -1
- cirq/testing/devices_test.py +1 -0
- cirq/testing/equals_tester.py +1 -3
- cirq/testing/equals_tester_test.py +1 -0
- cirq/testing/equivalent_basis_map.py +1 -0
- cirq/testing/equivalent_basis_map_test.py +0 -1
- cirq/testing/json.py +2 -3
- cirq/testing/lin_alg_utils_test.py +1 -1
- cirq/testing/order_tester.py +1 -1
- cirq/testing/order_tester_test.py +1 -1
- cirq/testing/random_circuit.py +2 -2
- cirq/testing/random_circuit_test.py +1 -1
- cirq/testing/routing_devices_test.py +2 -1
- cirq/testing/sample_circuits.py +1 -1
- cirq/testing/sample_gates.py +3 -2
- cirq/testing/sample_gates_test.py +2 -2
- cirq/transformers/align.py +1 -0
- cirq/transformers/analytical_decompositions/clifford_decomposition.py +2 -1
- cirq/transformers/analytical_decompositions/clifford_decomposition_test.py +1 -1
- cirq/transformers/analytical_decompositions/controlled_gate_decomposition.py +1 -1
- cirq/transformers/analytical_decompositions/cphase_to_fsim_test.py +1 -1
- cirq/transformers/analytical_decompositions/pauli_string_decomposition.py +2 -2
- cirq/transformers/analytical_decompositions/pauli_string_decomposition_test.py +4 -4
- cirq/transformers/analytical_decompositions/quantum_shannon_decomposition.py +6 -7
- cirq/transformers/analytical_decompositions/quantum_shannon_decomposition_test.py +5 -5
- cirq/transformers/analytical_decompositions/single_qubit_decompositions.py +1 -1
- cirq/transformers/analytical_decompositions/single_to_two_qubit_isometry.py +1 -1
- cirq/transformers/analytical_decompositions/single_to_two_qubit_isometry_test.py +1 -0
- cirq/transformers/analytical_decompositions/three_qubit_decomposition.py +2 -3
- cirq/transformers/analytical_decompositions/three_qubit_decomposition_test.py +1 -1
- cirq/transformers/analytical_decompositions/two_qubit_state_preparation.py +2 -1
- cirq/transformers/analytical_decompositions/two_qubit_state_preparation_test.py +2 -1
- cirq/transformers/analytical_decompositions/two_qubit_to_cz.py +5 -6
- cirq/transformers/analytical_decompositions/two_qubit_to_cz_test.py +2 -2
- cirq/transformers/analytical_decompositions/two_qubit_to_fsim.py +1 -1
- cirq/transformers/analytical_decompositions/two_qubit_to_fsim_test.py +1 -2
- cirq/transformers/analytical_decompositions/two_qubit_to_ms.py +2 -2
- cirq/transformers/analytical_decompositions/two_qubit_to_sqrt_iswap.py +1 -1
- cirq/transformers/analytical_decompositions/two_qubit_to_sqrt_iswap_test.py +2 -1
- cirq/transformers/drop_empty_moments.py +1 -0
- cirq/transformers/drop_negligible_operations.py +1 -0
- cirq/transformers/dynamical_decoupling.py +7 -7
- cirq/transformers/dynamical_decoupling_test.py +4 -2
- cirq/transformers/eject_phased_paulis.py +4 -3
- cirq/transformers/eject_phased_paulis_test.py +1 -1
- cirq/transformers/eject_z.py +2 -1
- cirq/transformers/eject_z_test.py +1 -1
- cirq/transformers/gauge_compiling/cphase_gauge.py +5 -5
- cirq/transformers/gauge_compiling/cz_gauge.py +4 -4
- cirq/transformers/gauge_compiling/gauge_compiling.py +9 -9
- cirq/transformers/gauge_compiling/gauge_compiling_test.py +8 -6
- cirq/transformers/gauge_compiling/gauge_compiling_test_utils.py +2 -2
- cirq/transformers/gauge_compiling/gauge_compiling_test_utils_test.py +2 -1
- cirq/transformers/gauge_compiling/iswap_gauge.py +2 -2
- cirq/transformers/gauge_compiling/spin_inversion_gauge.py +2 -2
- cirq/transformers/gauge_compiling/sqrt_cz_gauge.py +5 -5
- cirq/transformers/gauge_compiling/sqrt_iswap_gauge.py +3 -2
- cirq/transformers/heuristic_decompositions/gate_tabulation_math_utils.py +2 -1
- cirq/transformers/heuristic_decompositions/gate_tabulation_math_utils_test.py +1 -1
- cirq/transformers/heuristic_decompositions/two_qubit_gate_tabulation.py +4 -4
- cirq/transformers/heuristic_decompositions/two_qubit_gate_tabulation_test.py +4 -4
- cirq/transformers/insertion_sort.py +1 -1
- cirq/transformers/merge_k_qubit_gates.py +2 -2
- cirq/transformers/merge_single_qubit_gates.py +1 -1
- cirq/transformers/noise_adding.py +4 -3
- cirq/transformers/noise_adding_test.py +3 -2
- cirq/transformers/optimize_for_target_gateset.py +1 -1
- cirq/transformers/optimize_for_target_gateset_test.py +2 -1
- cirq/transformers/randomized_measurements.py +2 -1
- cirq/transformers/randomized_measurements_test.py +2 -1
- cirq/transformers/routing/initial_mapper.py +1 -1
- cirq/transformers/routing/initial_mapper_test.py +1 -0
- cirq/transformers/routing/line_initial_mapper.py +3 -2
- cirq/transformers/routing/mapping_manager.py +2 -2
- cirq/transformers/routing/mapping_manager_test.py +2 -2
- cirq/transformers/routing/route_circuit_cqc.py +3 -2
- cirq/transformers/routing/route_circuit_cqc_test.py +2 -1
- cirq/transformers/routing/visualize_routed_circuit.py +1 -0
- cirq/transformers/routing/visualize_routed_circuit_test.py +1 -0
- cirq/transformers/stratify.py +2 -2
- cirq/transformers/synchronize_terminal_measurements.py +2 -1
- cirq/transformers/target_gatesets/compilation_target_gateset.py +1 -2
- cirq/transformers/target_gatesets/compilation_target_gateset_test.py +2 -0
- cirq/transformers/target_gatesets/cz_gateset.py +1 -1
- cirq/transformers/target_gatesets/cz_gateset_test.py +4 -2
- cirq/transformers/target_gatesets/sqrt_iswap_gateset.py +1 -1
- cirq/transformers/target_gatesets/sqrt_iswap_gateset_test.py +3 -2
- cirq/transformers/transformer_api.py +5 -4
- cirq/transformers/transformer_api_test.py +3 -3
- cirq/transformers/transformer_primitives.py +3 -4
- cirq/transformers/transformer_primitives_test.py +1 -0
- cirq/value/abc_alt.py +1 -2
- cirq/value/angle.py +2 -0
- cirq/value/classical_data.py +1 -0
- cirq/value/digits.py +1 -1
- cirq/value/duration.py +3 -3
- cirq/value/duration_test.py +2 -1
- cirq/value/linear_dict.py +2 -1
- cirq/value/measurement_key.py +1 -2
- cirq/value/periodic_value.py +0 -1
- cirq/value/probability.py +1 -0
- cirq/value/random_state.py +1 -1
- cirq/value/timestamp_test.py +2 -1
- cirq/value/value_equality_attr.py +1 -1
- cirq/vis/density_matrix.py +1 -1
- cirq/vis/density_matrix_test.py +2 -5
- cirq/vis/heatmap.py +0 -1
- cirq/vis/heatmap_test.py +2 -3
- cirq/vis/histogram.py +1 -1
- cirq/vis/histogram_test.py +1 -2
- cirq/vis/state_histogram.py +4 -2
- cirq/vis/state_histogram_test.py +2 -2
- cirq/work/collector.py +1 -1
- cirq/work/observable_grouping.py +2 -2
- cirq/work/observable_measurement.py +3 -3
- cirq/work/observable_measurement_data.py +2 -2
- cirq/work/observable_measurement_test.py +8 -8
- cirq/work/observable_readout_calibration.py +2 -2
- cirq/work/observable_readout_calibration_test.py +2 -1
- cirq/work/observable_settings.py +6 -6
- cirq/work/observable_settings_test.py +2 -2
- cirq/work/pauli_sum_collector.py +1 -1
- cirq/work/sampler.py +2 -3
- cirq/work/sampler_test.py +1 -2
- cirq/work/zeros_sampler.py +1 -1
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/METADATA +1 -1
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/RECORD +415 -415
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/LICENSE +0 -0
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250328173208.dist-info}/WHEEL +0 -0
- {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
|
|
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]
|
|
@@ -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
|
|
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
|
|
|
@@ -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,
|
|
17
|
+
from typing import Callable, cast, Optional, TYPE_CHECKING
|
|
18
18
|
|
|
19
|
-
from cirq import ops, protocols
|
|
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
|
-
|
|
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
|
|
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():
|
|
@@ -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():
|
|
@@ -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
|
|
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
|
|
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)
|
cirq/transformers/stratify.py
CHANGED
|
@@ -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
|
|
18
|
+
from typing import Callable, Dict, Iterable, List, Optional, Sequence, Type, TYPE_CHECKING, Union
|
|
19
19
|
|
|
20
|
-
from cirq 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
|
-
|
|
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
|
|
|
@@ -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,
|
|
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
|
-
|
|
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,
|
|
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
|
|
@@ -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
|
-
|
|
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
|
cirq/value/abc_alt.py
CHANGED
cirq/value/angle.py
CHANGED
cirq/value/classical_data.py
CHANGED
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
|
|
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
|
|
23
|
+
from cirq._compat import cached_method, proper_repr
|
|
24
24
|
from cirq._doc import document
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
cirq/value/duration_test.py
CHANGED
cirq/value/linear_dict.py
CHANGED
cirq/value/measurement_key.py
CHANGED
|
@@ -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
|
|
cirq/value/periodic_value.py
CHANGED
cirq/value/probability.py
CHANGED