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.
- 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.dev20250327210023.dist-info}/METADATA +1 -1
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/RECORD +415 -415
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/LICENSE +0 -0
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/WHEEL +0 -0
- {cirq_core-1.5.0.dev20250327205617.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/top_level.txt +0 -0
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
from typing import Dict, List, Set, Tuple
|
|
16
|
+
|
|
16
17
|
import numpy as np
|
|
17
|
-
import cirq
|
|
18
18
|
import pytest
|
|
19
19
|
|
|
20
|
+
import cirq
|
|
20
21
|
from cirq.devices.noise_properties import NoiseModelFromNoiseProperties
|
|
22
|
+
from cirq.devices.noise_utils import OpIdentifier, PHYSICAL_GATE_TAG
|
|
21
23
|
from cirq.devices.superconducting_qubits_noise_properties import (
|
|
22
24
|
SuperconductingQubitsNoiseProperties,
|
|
23
25
|
)
|
|
24
|
-
from cirq.devices.noise_utils import OpIdentifier, PHYSICAL_GATE_TAG
|
|
25
|
-
|
|
26
26
|
|
|
27
27
|
DEFAULT_GATE_NS: Dict[type, float] = {
|
|
28
28
|
cirq.ZPowGate: 25.0,
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
import dataclasses
|
|
16
16
|
import functools
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import Dict, List, Optional, Sequence, Set, Tuple, TYPE_CHECKING, Union
|
|
18
|
+
|
|
18
19
|
import numpy as np
|
|
19
20
|
import sympy
|
|
20
21
|
|
|
@@ -13,34 +13,33 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import dataclasses
|
|
16
|
-
import itertools
|
|
17
16
|
import functools
|
|
18
|
-
|
|
17
|
+
import itertools
|
|
19
18
|
from typing import (
|
|
20
|
-
cast,
|
|
21
19
|
Any,
|
|
20
|
+
cast,
|
|
21
|
+
Dict,
|
|
22
22
|
Iterator,
|
|
23
23
|
List,
|
|
24
|
+
Mapping,
|
|
24
25
|
Optional,
|
|
25
26
|
Sequence,
|
|
26
27
|
Tuple,
|
|
27
28
|
TYPE_CHECKING,
|
|
28
|
-
Mapping,
|
|
29
|
-
Dict,
|
|
30
29
|
)
|
|
31
|
-
import numpy as np
|
|
32
|
-
from scipy.optimize import curve_fit
|
|
33
30
|
|
|
31
|
+
import numpy as np
|
|
34
32
|
from matplotlib import pyplot as plt
|
|
35
|
-
import cirq.vis.heatmap as cirq_heatmap
|
|
36
|
-
import cirq.vis.histogram as cirq_histogram
|
|
37
33
|
|
|
38
34
|
# this is for older systems with matplotlib <3.2 otherwise 3d projections fail
|
|
39
35
|
from mpl_toolkits import mplot3d
|
|
36
|
+
from scipy.optimize import curve_fit
|
|
37
|
+
|
|
38
|
+
import cirq.vis.heatmap as cirq_heatmap
|
|
39
|
+
import cirq.vis.histogram as cirq_histogram
|
|
40
40
|
from cirq import circuits, ops, protocols
|
|
41
41
|
from cirq.devices import grid_qubit
|
|
42
42
|
|
|
43
|
-
|
|
44
43
|
if TYPE_CHECKING:
|
|
45
44
|
import cirq
|
|
46
45
|
|
|
@@ -12,21 +12,19 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import matplotlib.pyplot as plt
|
|
15
16
|
import numpy as np
|
|
16
17
|
import pytest
|
|
17
18
|
|
|
18
|
-
import matplotlib.pyplot as plt
|
|
19
|
-
|
|
20
19
|
import cirq
|
|
21
20
|
import cirq.experiments.qubit_characterizations as ceqc
|
|
22
|
-
from cirq import GridQubit
|
|
23
|
-
from cirq import circuits, ops, sim
|
|
21
|
+
from cirq import circuits, GridQubit, ops, sim
|
|
24
22
|
from cirq.experiments import (
|
|
23
|
+
parallel_single_qubit_randomized_benchmarking,
|
|
25
24
|
single_qubit_randomized_benchmarking,
|
|
26
|
-
two_qubit_randomized_benchmarking,
|
|
27
25
|
single_qubit_state_tomography,
|
|
26
|
+
two_qubit_randomized_benchmarking,
|
|
28
27
|
two_qubit_state_tomography,
|
|
29
|
-
parallel_single_qubit_randomized_benchmarking,
|
|
30
28
|
)
|
|
31
29
|
|
|
32
30
|
|
|
@@ -18,18 +18,17 @@ import itertools
|
|
|
18
18
|
from typing import (
|
|
19
19
|
Any,
|
|
20
20
|
Callable,
|
|
21
|
+
cast,
|
|
21
22
|
Container,
|
|
22
23
|
Dict,
|
|
23
24
|
Iterable,
|
|
24
25
|
Iterator,
|
|
25
26
|
List,
|
|
27
|
+
Optional,
|
|
26
28
|
Sequence,
|
|
27
|
-
TYPE_CHECKING,
|
|
28
29
|
Tuple,
|
|
30
|
+
TYPE_CHECKING,
|
|
29
31
|
Union,
|
|
30
|
-
Optional,
|
|
31
|
-
cast,
|
|
32
|
-
Iterator,
|
|
33
32
|
)
|
|
34
33
|
|
|
35
34
|
import networkx as nx
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
import itertools
|
|
15
|
-
from typing import Callable, Dict, Iterable, List, Optional, Sequence, Set, Tuple
|
|
15
|
+
from typing import Callable, cast, Dict, Iterable, List, Optional, Sequence, Set, Tuple
|
|
16
16
|
|
|
17
17
|
import networkx as nx
|
|
18
18
|
import numpy as np
|
|
@@ -24,12 +24,12 @@ from cirq.experiments import (
|
|
|
24
24
|
random_rotations_between_grid_interaction_layers_circuit,
|
|
25
25
|
)
|
|
26
26
|
from cirq.experiments.random_quantum_circuit_generation import (
|
|
27
|
-
random_rotations_between_two_qubit_circuit,
|
|
28
27
|
generate_library_of_2q_circuits,
|
|
28
|
+
get_grid_interaction_layer_circuit,
|
|
29
29
|
get_random_combinations_for_device,
|
|
30
|
-
get_random_combinations_for_pairs,
|
|
31
30
|
get_random_combinations_for_layer_circuit,
|
|
32
|
-
|
|
31
|
+
get_random_combinations_for_pairs,
|
|
32
|
+
random_rotations_between_two_qubit_circuit,
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
SINGLE_QUBIT_LAYER = Dict[cirq.GridQubit, Optional[cirq.Gate]]
|
|
@@ -15,11 +15,13 @@
|
|
|
15
15
|
"""Utilities to compute readout confusion matrix and use it for readout error mitigation."""
|
|
16
16
|
|
|
17
17
|
import time
|
|
18
|
-
from typing import Any, Dict,
|
|
19
|
-
|
|
18
|
+
from typing import Any, cast, Dict, List, Optional, Sequence, Tuple, TYPE_CHECKING, Union
|
|
19
|
+
|
|
20
20
|
import numpy as np
|
|
21
21
|
import scipy.optimize
|
|
22
|
-
|
|
22
|
+
import sympy
|
|
23
|
+
|
|
24
|
+
from cirq import circuits, ops, study, vis
|
|
23
25
|
from cirq._compat import proper_repr
|
|
24
26
|
|
|
25
27
|
if TYPE_CHECKING:
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import numpy as np
|
|
16
|
-
import cirq
|
|
17
16
|
import pytest
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
import cirq
|
|
20
19
|
from cirq.experiments.readout_confusion_matrix import TensoredConfusionMatrices
|
|
20
|
+
from cirq.experiments.single_qubit_readout_calibration_test import NoisySingleQubitReadoutSampler
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def add_readout_error(
|
|
@@ -14,15 +14,16 @@
|
|
|
14
14
|
"""Single qubit readout experiments using parallel or isolated statistics."""
|
|
15
15
|
import dataclasses
|
|
16
16
|
import time
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import Any, cast, Dict, Iterable, List, Optional, TYPE_CHECKING
|
|
18
18
|
|
|
19
|
-
import sympy
|
|
20
|
-
import numpy as np
|
|
21
19
|
import matplotlib.pyplot as plt
|
|
20
|
+
import numpy as np
|
|
21
|
+
import sympy
|
|
22
|
+
|
|
22
23
|
import cirq.vis.heatmap as cirq_heatmap
|
|
23
24
|
import cirq.vis.histogram as cirq_histogram
|
|
24
|
-
from cirq.devices import grid_qubit
|
|
25
25
|
from cirq import circuits, ops, study
|
|
26
|
+
from cirq.devices import grid_qubit
|
|
26
27
|
|
|
27
28
|
if TYPE_CHECKING:
|
|
28
29
|
import cirq
|
|
@@ -12,16 +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 Any, Optional, Sequence, TYPE_CHECKING, cast
|
|
16
|
-
|
|
17
15
|
import warnings
|
|
16
|
+
from typing import Any, cast, Optional, Sequence, TYPE_CHECKING
|
|
17
|
+
|
|
18
|
+
import numpy as np
|
|
18
19
|
import pandas as pd
|
|
19
20
|
import sympy
|
|
20
21
|
from matplotlib import pyplot as plt
|
|
21
|
-
import numpy as np
|
|
22
|
-
|
|
23
22
|
|
|
24
|
-
from cirq import circuits, ops, study, value
|
|
23
|
+
from cirq import _import, circuits, ops, study, value
|
|
25
24
|
from cirq._compat import proper_repr
|
|
26
25
|
|
|
27
26
|
if TYPE_CHECKING:
|
|
@@ -13,32 +13,35 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
"""Provides functions for running and analyzing two-qubit XEB experiments."""
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
import functools
|
|
17
|
+
import itertools
|
|
18
18
|
from dataclasses import dataclass
|
|
19
19
|
from types import MappingProxyType
|
|
20
|
-
import
|
|
21
|
-
import functools
|
|
20
|
+
from typing import Any, cast, Dict, Mapping, Optional, Sequence, Tuple, TYPE_CHECKING
|
|
22
21
|
|
|
23
|
-
from matplotlib import pyplot as plt
|
|
24
22
|
import networkx as nx
|
|
25
23
|
import numpy as np
|
|
26
24
|
import pandas as pd
|
|
25
|
+
from matplotlib import pyplot as plt
|
|
27
26
|
|
|
28
27
|
from cirq import ops, value, vis
|
|
29
|
-
from cirq.
|
|
30
|
-
from cirq.experiments.xeb_fitting import benchmark_2q_xeb_fidelities
|
|
31
|
-
from cirq.experiments.xeb_fitting import fit_exponential_decays, exponential_decay
|
|
28
|
+
from cirq._compat import cached_method
|
|
32
29
|
from cirq.experiments import random_quantum_circuit_generation as rqcg
|
|
33
30
|
from cirq.experiments.qubit_characterizations import (
|
|
34
|
-
ParallelRandomizedBenchmarkingResult,
|
|
35
31
|
parallel_single_qubit_randomized_benchmarking,
|
|
32
|
+
ParallelRandomizedBenchmarkingResult,
|
|
33
|
+
)
|
|
34
|
+
from cirq.experiments.xeb_fitting import (
|
|
35
|
+
benchmark_2q_xeb_fidelities,
|
|
36
|
+
exponential_decay,
|
|
37
|
+
fit_exponential_decays,
|
|
36
38
|
)
|
|
39
|
+
from cirq.experiments.xeb_sampling import sample_2q_xeb_circuits
|
|
37
40
|
from cirq.qis import noise_utils
|
|
38
|
-
from cirq._compat import cached_method
|
|
39
41
|
|
|
40
42
|
if TYPE_CHECKING:
|
|
41
43
|
import multiprocessing
|
|
44
|
+
|
|
42
45
|
import cirq
|
|
43
46
|
|
|
44
47
|
|
|
@@ -12,14 +12,13 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Wraps Parallel Two Qubit XEB into a few convenience methods."""
|
|
15
|
-
from typing import Optional, Sequence, Dict
|
|
16
|
-
import itertools
|
|
17
15
|
import io
|
|
16
|
+
import itertools
|
|
17
|
+
from typing import Dict, Optional, Sequence
|
|
18
18
|
|
|
19
19
|
import matplotlib.pyplot as plt
|
|
20
|
-
|
|
21
|
-
import numpy as np
|
|
22
20
|
import networkx as nx
|
|
21
|
+
import numpy as np
|
|
23
22
|
import pandas as pd
|
|
24
23
|
import pytest
|
|
25
24
|
|
cirq/experiments/xeb_fitting.py
CHANGED
|
@@ -13,20 +13,23 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Estimation of fidelity associated with experimental circuit executions."""
|
|
15
15
|
import dataclasses
|
|
16
|
-
from abc import
|
|
16
|
+
from abc import ABC, abstractmethod
|
|
17
17
|
from typing import Dict, Iterable, List, Optional, Sequence, Tuple, TYPE_CHECKING
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
import pandas as pd
|
|
21
21
|
import sympy
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
from cirq import _import, circuits, ops, protocols
|
|
23
24
|
from cirq.experiments.xeb_simulation import simulate_2q_xeb_circuits
|
|
24
25
|
|
|
25
26
|
if TYPE_CHECKING:
|
|
26
|
-
import cirq
|
|
27
27
|
import multiprocessing
|
|
28
|
+
|
|
28
29
|
import scipy.optimize
|
|
29
30
|
|
|
31
|
+
import cirq
|
|
32
|
+
|
|
30
33
|
# We initialize these lazily, otherwise they slow global import speed.
|
|
31
34
|
optimize = _import.LazyLoader("optimize", globals(), "scipy.optimize")
|
|
32
35
|
stats = _import.LazyLoader("stats", globals(), "scipy.stats")
|
|
@@ -26,16 +26,16 @@ import pytest
|
|
|
26
26
|
import cirq
|
|
27
27
|
import cirq.experiments.random_quantum_circuit_generation as rqcg
|
|
28
28
|
from cirq.experiments.xeb_fitting import (
|
|
29
|
+
_fit_exponential_decay,
|
|
30
|
+
before_and_after_characterization,
|
|
29
31
|
benchmark_2q_xeb_fidelities,
|
|
30
|
-
parameterize_circuit,
|
|
31
|
-
SqrtISwapXEBOptions,
|
|
32
32
|
characterize_phased_fsim_parameters_with_xeb,
|
|
33
33
|
characterize_phased_fsim_parameters_with_xeb_by_pair,
|
|
34
|
-
_fit_exponential_decay,
|
|
35
34
|
fit_exponential_decays,
|
|
36
|
-
|
|
37
|
-
XEBPhasedFSimCharacterizationOptions,
|
|
35
|
+
parameterize_circuit,
|
|
38
36
|
phased_fsim_angles_from_gate,
|
|
37
|
+
SqrtISwapXEBOptions,
|
|
38
|
+
XEBPhasedFSimCharacterizationOptions,
|
|
39
39
|
)
|
|
40
40
|
from cirq.experiments.xeb_sampling import sample_2q_xeb_circuits
|
|
41
41
|
|
cirq/experiments/xeb_sampling.py
CHANGED
|
@@ -17,23 +17,23 @@ import time
|
|
|
17
17
|
import uuid
|
|
18
18
|
from dataclasses import dataclass
|
|
19
19
|
from typing import (
|
|
20
|
+
Any,
|
|
20
21
|
Callable,
|
|
22
|
+
ContextManager,
|
|
23
|
+
Dict,
|
|
21
24
|
List,
|
|
22
25
|
Optional,
|
|
23
26
|
Sequence,
|
|
27
|
+
Set,
|
|
24
28
|
Tuple,
|
|
25
29
|
TYPE_CHECKING,
|
|
26
|
-
Set,
|
|
27
|
-
ContextManager,
|
|
28
|
-
Dict,
|
|
29
|
-
Any,
|
|
30
30
|
)
|
|
31
31
|
|
|
32
32
|
import numpy as np
|
|
33
33
|
import pandas as pd
|
|
34
34
|
import tqdm
|
|
35
35
|
|
|
36
|
-
from cirq import ops,
|
|
36
|
+
from cirq import devices, ops, protocols, value
|
|
37
37
|
from cirq.circuits import Circuit, Moment
|
|
38
38
|
from cirq.experiments.random_quantum_circuit_generation import CircuitLibraryCombination
|
|
39
39
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
"""Estimation of fidelity associated with experimental circuit executions."""
|
|
15
15
|
from dataclasses import dataclass
|
|
16
|
-
from typing import List, Optional, Sequence, TYPE_CHECKING
|
|
16
|
+
from typing import Any, Dict, List, Optional, Sequence, TYPE_CHECKING
|
|
17
17
|
|
|
18
18
|
import numpy as np
|
|
19
19
|
import pandas as pd
|
|
@@ -21,9 +21,10 @@ import pandas as pd
|
|
|
21
21
|
from cirq import sim, value
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
24
|
-
import cirq
|
|
25
24
|
import multiprocessing
|
|
26
25
|
|
|
26
|
+
import cirq
|
|
27
|
+
|
|
27
28
|
|
|
28
29
|
@dataclass(frozen=True)
|
|
29
30
|
class _Simulate2qXEBTask:
|
|
@@ -13,22 +13,23 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
"""Provides a method to do z-phase calibration for excitation-preserving gates."""
|
|
16
|
-
from typing import Union, Optional, Sequence, Tuple, Dict, TYPE_CHECKING, Any, List
|
|
17
16
|
import multiprocessing
|
|
18
17
|
import multiprocessing.pool
|
|
18
|
+
from typing import Any, Dict, List, Optional, Sequence, Tuple, TYPE_CHECKING, Union
|
|
19
19
|
|
|
20
20
|
import matplotlib.pyplot as plt
|
|
21
21
|
import numpy as np
|
|
22
22
|
|
|
23
|
+
from cirq import circuits, ops, protocols
|
|
23
24
|
from cirq.experiments import xeb_fitting
|
|
24
25
|
from cirq.experiments.two_qubit_xeb import parallel_xeb_workflow
|
|
25
26
|
from cirq.transformers import transformer_api
|
|
26
|
-
from cirq import ops, circuits, protocols
|
|
27
27
|
|
|
28
28
|
if TYPE_CHECKING:
|
|
29
|
-
import cirq
|
|
30
29
|
import pandas as pd
|
|
31
30
|
|
|
31
|
+
import cirq
|
|
32
|
+
|
|
32
33
|
|
|
33
34
|
def z_phase_calibration_workflow(
|
|
34
35
|
sampler: 'cirq.Sampler',
|
|
@@ -12,19 +12,18 @@
|
|
|
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
|
|
17
16
|
import pandas as pd
|
|
17
|
+
import pytest
|
|
18
18
|
|
|
19
19
|
import cirq
|
|
20
|
-
|
|
20
|
+
from cirq.experiments.xeb_fitting import XEBPhasedFSimCharacterizationOptions
|
|
21
21
|
from cirq.experiments.z_phase_calibration import (
|
|
22
22
|
calibrate_z_phases,
|
|
23
|
-
z_phase_calibration_workflow,
|
|
24
|
-
plot_z_phase_calibration_result,
|
|
25
23
|
CalibrationTransformer,
|
|
24
|
+
plot_z_phase_calibration_result,
|
|
25
|
+
z_phase_calibration_workflow,
|
|
26
26
|
)
|
|
27
|
-
from cirq.experiments.xeb_fitting import XEBPhasedFSimCharacterizationOptions
|
|
28
27
|
|
|
29
28
|
_ANGLES = ['theta', 'phi', 'chi', 'zeta', 'gamma']
|
|
30
29
|
# fix random generator seed to ensure reproducibility and faster convergence
|
|
@@ -13,22 +13,22 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
import inspect
|
|
15
15
|
from typing import (
|
|
16
|
+
Any,
|
|
16
17
|
Callable,
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
cast,
|
|
19
|
+
Dict,
|
|
19
20
|
Iterable,
|
|
20
|
-
Sequence,
|
|
21
21
|
Iterator,
|
|
22
|
-
Tuple,
|
|
23
|
-
Any,
|
|
24
|
-
cast,
|
|
25
22
|
List,
|
|
26
|
-
|
|
23
|
+
Optional,
|
|
24
|
+
Sequence,
|
|
25
|
+
Tuple,
|
|
27
26
|
TYPE_CHECKING,
|
|
27
|
+
Union,
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
from cirq import ops, value
|
|
31
|
-
from cirq.interop.quirk.cells.cell import Cell,
|
|
31
|
+
from cirq.interop.quirk.cells.cell import Cell, CELL_SIZES, CellMaker
|
|
32
32
|
|
|
33
33
|
if TYPE_CHECKING:
|
|
34
34
|
import cirq
|
|
@@ -17,9 +17,9 @@ import numpy as np
|
|
|
17
17
|
import pytest
|
|
18
18
|
|
|
19
19
|
import cirq
|
|
20
|
+
from cirq import quirk_url_to_circuit
|
|
20
21
|
from cirq.interop.quirk.cells import arithmetic_cells
|
|
21
22
|
from cirq.interop.quirk.cells.testing import assert_url_to_circuit_returns
|
|
22
|
-
from cirq import quirk_url_to_circuit
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
def test_arithmetic_comparison_gates():
|
cirq/interop/quirk/cells/cell.py
CHANGED
|
@@ -13,20 +13,20 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
import abc
|
|
15
15
|
from typing import (
|
|
16
|
+
Any,
|
|
16
17
|
Callable,
|
|
17
|
-
|
|
18
|
+
Dict,
|
|
19
|
+
Iterable,
|
|
18
20
|
List,
|
|
19
21
|
NamedTuple,
|
|
20
|
-
|
|
21
|
-
Iterable,
|
|
22
|
+
Optional,
|
|
22
23
|
Sequence,
|
|
24
|
+
Tuple,
|
|
23
25
|
TYPE_CHECKING,
|
|
24
26
|
Union,
|
|
25
|
-
Dict,
|
|
26
|
-
Tuple,
|
|
27
27
|
)
|
|
28
28
|
|
|
29
|
-
from cirq import ops, value
|
|
29
|
+
from cirq import devices, ops, value
|
|
30
30
|
|
|
31
31
|
if TYPE_CHECKING:
|
|
32
32
|
import cirq
|
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
from typing import (
|
|
16
|
-
List,
|
|
17
|
-
TYPE_CHECKING,
|
|
18
16
|
Callable,
|
|
19
|
-
Optional,
|
|
20
|
-
Iterator,
|
|
21
17
|
cast,
|
|
22
18
|
Iterable,
|
|
19
|
+
Iterator,
|
|
20
|
+
List,
|
|
21
|
+
Optional,
|
|
22
|
+
Sequence,
|
|
23
|
+
TYPE_CHECKING,
|
|
23
24
|
TypeVar,
|
|
24
25
|
Union,
|
|
25
|
-
Sequence,
|
|
26
26
|
)
|
|
27
27
|
|
|
28
28
|
from cirq import circuits
|
|
@@ -16,8 +16,8 @@ import pytest
|
|
|
16
16
|
|
|
17
17
|
import cirq
|
|
18
18
|
from cirq import quirk_json_to_circuit
|
|
19
|
-
from cirq.interop.quirk.cells.testing import assert_url_to_circuit_returns
|
|
20
19
|
from cirq.interop.quirk.cells.composite_cell import _iterator_to_iterable
|
|
20
|
+
from cirq.interop.quirk.cells.testing import assert_url_to_circuit_returns
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def test_iterator_to_iterable():
|
|
@@ -11,12 +11,12 @@
|
|
|
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
|
-
from typing import
|
|
14
|
+
from typing import Callable, Iterator
|
|
15
15
|
|
|
16
16
|
import sympy
|
|
17
17
|
|
|
18
18
|
import cirq
|
|
19
|
-
from cirq.interop.quirk.cells.cell import
|
|
19
|
+
from cirq.interop.quirk.cells.cell import CELL_SIZES, CellMaker, ExplicitOperationsCell
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def generate_all_frequency_space_cell_makers() -> Iterator[CellMaker]:
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
from typing import Iterator
|
|
15
15
|
|
|
16
|
-
from cirq.interop.quirk.cells.cell import
|
|
16
|
+
from cirq.interop.quirk.cells.cell import CELL_SIZES, CellMaker
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
def generate_all_ignored_cell_makers() -> Iterator[CellMaker]:
|
|
@@ -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 Iterable, Iterator, List, Optional, TYPE_CHECKING
|
|
16
16
|
|
|
17
17
|
from cirq.interop.quirk.cells.cell import Cell, CELL_SIZES, CellMaker
|
|
18
18
|
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
import pytest
|
|
16
16
|
|
|
17
17
|
from cirq import quirk_url_to_circuit
|
|
18
|
-
from cirq.interop.quirk.cells.testing import assert_url_to_circuit_returns
|
|
19
18
|
from cirq.interop.quirk.cells.input_cells import SetDefaultInputCell
|
|
19
|
+
from cirq.interop.quirk.cells.testing import assert_url_to_circuit_returns
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def test_missing_input_cell():
|
|
@@ -17,7 +17,7 @@ from typing import Any, Iterable, Iterator, List, Optional, Sequence, Tuple, Uni
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
19
|
import cirq
|
|
20
|
-
from cirq import
|
|
20
|
+
from cirq import linalg, ops, value
|
|
21
21
|
from cirq.interop.quirk.cells.cell import Cell, CellMaker
|
|
22
22
|
|
|
23
23
|
|