cirq-core 1.5.0.dev20250327175906__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.dev20250327175906.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/METADATA +1 -1
- {cirq_core-1.5.0.dev20250327175906.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/RECORD +415 -415
- {cirq_core-1.5.0.dev20250327175906.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/LICENSE +0 -0
- {cirq_core-1.5.0.dev20250327175906.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/WHEEL +0 -0
- {cirq_core-1.5.0.dev20250327175906.dist-info → cirq_core-1.5.0.dev20250327210023.dist-info}/top_level.txt +0 -0
cirq/testing/sample_gates.py
CHANGED
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
import dataclasses
|
|
15
15
|
|
|
16
|
-
import cirq
|
|
17
16
|
import numpy as np
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
import cirq
|
|
19
|
+
from cirq import ops, protocols, qis
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
def _matrix_for_phasing_state(num_qubits, phase_state, phase):
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
import numpy as np
|
|
14
15
|
import pytest
|
|
15
16
|
|
|
16
|
-
import numpy as np
|
|
17
|
-
from cirq.testing import sample_gates
|
|
18
17
|
import cirq
|
|
18
|
+
from cirq.testing import sample_gates
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
@pytest.mark.parametrize('theta', np.linspace(0, 2 * np.pi, 20))
|
cirq/transformers/align.py
CHANGED
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
|
|
15
15
|
"""Utility methods to decompose Clifford gates into circuits."""
|
|
16
16
|
|
|
17
|
-
from typing import List, TYPE_CHECKING
|
|
18
17
|
import functools
|
|
18
|
+
from typing import List, TYPE_CHECKING
|
|
19
19
|
|
|
20
20
|
import numpy as np
|
|
21
|
+
|
|
21
22
|
from cirq import ops, protocols, qis, sim
|
|
22
23
|
|
|
23
24
|
if TYPE_CHECKING:
|
|
@@ -17,7 +17,7 @@ from typing import List, Tuple, TYPE_CHECKING
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
19
|
from cirq import ops
|
|
20
|
-
from cirq.linalg import
|
|
20
|
+
from cirq.linalg import is_special_unitary, is_unitary, map_eigenvalues
|
|
21
21
|
from cirq.protocols import unitary
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from typing import Optional, Tuple
|
|
15
|
+
from typing import cast, Optional, Tuple
|
|
16
16
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
import numpy.typing as npt
|
|
19
19
|
|
|
20
|
-
from cirq.ops import DensePauliString
|
|
21
20
|
from cirq import protocols
|
|
21
|
+
from cirq.ops import DensePauliString
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
def _argmax(V: npt.NDArray) -> Tuple[int, float]:
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from typing import cast
|
|
16
|
-
import itertools
|
|
17
15
|
import cmath
|
|
18
|
-
import
|
|
16
|
+
import itertools
|
|
17
|
+
from typing import cast
|
|
19
18
|
|
|
20
19
|
import numpy as np
|
|
20
|
+
import pytest
|
|
21
21
|
|
|
22
|
-
from cirq.ops import DensePauliString, T
|
|
23
22
|
from cirq import protocols
|
|
23
|
+
from cirq.ops import DensePauliString, T
|
|
24
24
|
from cirq.transformers.analytical_decompositions import unitary_to_pauli_string
|
|
25
25
|
|
|
26
26
|
|
|
@@ -21,20 +21,19 @@ https://arxiv.org/abs/quant-ph/0406176
|
|
|
21
21
|
"""
|
|
22
22
|
from typing import Callable, Iterable, List, TYPE_CHECKING
|
|
23
23
|
|
|
24
|
-
from scipy.linalg import cossin
|
|
25
|
-
|
|
26
24
|
import numpy as np
|
|
25
|
+
from scipy.linalg import cossin
|
|
27
26
|
|
|
28
27
|
from cirq import ops
|
|
28
|
+
from cirq.circuits.frozen_circuit import FrozenCircuit
|
|
29
29
|
from cirq.linalg import decompositions, predicates
|
|
30
|
-
from cirq.
|
|
31
|
-
two_qubit_matrix_to_cz_operations,
|
|
32
|
-
)
|
|
30
|
+
from cirq.protocols import unitary_protocol
|
|
33
31
|
from cirq.transformers.analytical_decompositions.three_qubit_decomposition import (
|
|
34
32
|
three_qubit_matrix_to_operations,
|
|
35
33
|
)
|
|
36
|
-
from cirq.
|
|
37
|
-
|
|
34
|
+
from cirq.transformers.analytical_decompositions.two_qubit_to_cz import (
|
|
35
|
+
two_qubit_matrix_to_cz_operations,
|
|
36
|
+
)
|
|
38
37
|
|
|
39
38
|
if TYPE_CHECKING:
|
|
40
39
|
import cirq
|
|
@@ -12,20 +12,20 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import numpy as np
|
|
16
|
+
import pytest
|
|
17
|
+
from scipy.stats import unitary_group
|
|
18
|
+
|
|
15
19
|
import cirq
|
|
16
20
|
from cirq.ops import common_gates
|
|
17
21
|
from cirq.transformers.analytical_decompositions.quantum_shannon_decomposition import (
|
|
22
|
+
_msb_demuxer,
|
|
18
23
|
_multiplexed_cossin,
|
|
19
24
|
_nth_gray,
|
|
20
|
-
_msb_demuxer,
|
|
21
25
|
_single_qubit_decomposition,
|
|
22
26
|
quantum_shannon_decomposition,
|
|
23
27
|
)
|
|
24
28
|
|
|
25
|
-
import pytest
|
|
26
|
-
import numpy as np
|
|
27
|
-
from scipy.stats import unitary_group
|
|
28
|
-
|
|
29
29
|
|
|
30
30
|
@pytest.mark.xfail(reason='#6765')
|
|
31
31
|
@pytest.mark.parametrize('n_qubits', list(range(1, 8)))
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
|
|
15
15
|
"""Analytical decompositions for 2-qubit unitaries when one input qubit is in the |0> state."""
|
|
16
16
|
from typing import List, TYPE_CHECKING
|
|
17
|
+
|
|
17
18
|
import numpy as np
|
|
18
19
|
|
|
19
20
|
from cirq import ops
|
|
20
|
-
|
|
21
21
|
from cirq.transformers.analytical_decompositions import two_qubit_to_cz
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
@@ -14,13 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
"""Utility methods for decomposing three-qubit unitaries."""
|
|
16
16
|
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import List, Optional, Sequence, Tuple, Union
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
21
|
import cirq
|
|
22
|
-
from cirq import ops
|
|
23
|
-
from cirq import transformers as opt
|
|
22
|
+
from cirq import ops, transformers as opt
|
|
24
23
|
|
|
25
24
|
|
|
26
25
|
def three_qubit_matrix_to_operations(
|
|
@@ -22,9 +22,9 @@ from scipy.linalg import block_diag
|
|
|
22
22
|
|
|
23
23
|
import cirq
|
|
24
24
|
from cirq.transformers.analytical_decompositions.three_qubit_decomposition import (
|
|
25
|
-
_multiplexed_angles,
|
|
26
25
|
_cs_to_ops,
|
|
27
26
|
_middle_multiplexor_to_ops,
|
|
27
|
+
_multiplexed_angles,
|
|
28
28
|
_two_qubit_multiplexor_to_ops,
|
|
29
29
|
)
|
|
30
30
|
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
"""Utility methods for efficiently preparing two qubit states."""
|
|
16
16
|
|
|
17
17
|
from typing import List, TYPE_CHECKING
|
|
18
|
+
|
|
18
19
|
import numpy as np
|
|
19
20
|
|
|
20
|
-
from cirq import ops, qis
|
|
21
|
+
from cirq import circuits, ops, qis
|
|
21
22
|
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
22
23
|
|
|
23
24
|
if TYPE_CHECKING:
|
|
@@ -14,18 +14,17 @@
|
|
|
14
14
|
|
|
15
15
|
"""Utility methods for decomposing two-qubit unitaries into CZ gates."""
|
|
16
16
|
|
|
17
|
-
from typing import Iterable, List, Sequence, Tuple,
|
|
17
|
+
from typing import cast, Iterable, List, Optional, Sequence, Tuple, TYPE_CHECKING
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
|
+
from cirq import circuits, linalg, ops, protocols
|
|
21
22
|
from cirq.linalg import predicates
|
|
22
|
-
from cirq.linalg.decompositions import
|
|
23
|
-
|
|
24
|
-
from cirq import ops, linalg, protocols, circuits
|
|
23
|
+
from cirq.linalg.decompositions import extract_right_diag, num_cnots_required
|
|
25
24
|
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
26
|
-
from cirq.transformers.merge_single_qubit_gates import merge_single_qubit_gates_to_phased_x_and_z
|
|
27
|
-
from cirq.transformers.eject_z import eject_z
|
|
28
25
|
from cirq.transformers.eject_phased_paulis import eject_phased_paulis
|
|
26
|
+
from cirq.transformers.eject_z import eject_z
|
|
27
|
+
from cirq.transformers.merge_single_qubit_gates import merge_single_qubit_gates_to_phased_x_and_z
|
|
29
28
|
|
|
30
29
|
if TYPE_CHECKING:
|
|
31
30
|
import cirq
|
|
@@ -20,12 +20,12 @@ import pytest
|
|
|
20
20
|
|
|
21
21
|
import cirq
|
|
22
22
|
from cirq import value
|
|
23
|
+
from cirq.testing import random_two_qubit_circuit_with_czs
|
|
23
24
|
from cirq.transformers.analytical_decompositions.two_qubit_to_cz import (
|
|
24
|
-
_parity_interaction,
|
|
25
25
|
_is_trivial_angle,
|
|
26
|
+
_parity_interaction,
|
|
26
27
|
two_qubit_matrix_to_diagonal_and_cz_operations,
|
|
27
28
|
)
|
|
28
|
-
from cirq.testing import random_two_qubit_circuit_with_czs
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
@pytest.mark.parametrize(
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
"""Utility methods for decomposing two-qubit unitaries into FSim gates."""
|
|
16
16
|
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import Iterable, Iterator, List, Optional, Sequence, TYPE_CHECKING, Union
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
@@ -22,13 +22,12 @@ import sympy
|
|
|
22
22
|
|
|
23
23
|
import cirq
|
|
24
24
|
from cirq.transformers.analytical_decompositions.two_qubit_to_fsim import (
|
|
25
|
+
_B,
|
|
25
26
|
_decompose_two_qubit_interaction_into_two_b_gates,
|
|
26
27
|
_decompose_xx_yy_into_two_fsims_ignoring_single_qubit_ops,
|
|
27
28
|
_sticky_0_to_1,
|
|
28
|
-
_B,
|
|
29
29
|
)
|
|
30
30
|
|
|
31
|
-
|
|
32
31
|
UNITARY_OBJS = [
|
|
33
32
|
cirq.IdentityGate(2),
|
|
34
33
|
cirq.XX**0.25,
|
|
@@ -19,11 +19,11 @@ Gate compilation methods implemented here are following the paper below:
|
|
|
19
19
|
arXiv:1603.07678
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
|
-
from typing import Iterable, List, Optional,
|
|
22
|
+
from typing import cast, Iterable, List, Optional, Tuple, TYPE_CHECKING
|
|
23
23
|
|
|
24
24
|
import numpy as np
|
|
25
25
|
|
|
26
|
-
from cirq import
|
|
26
|
+
from cirq import linalg, ops, protocols
|
|
27
27
|
from cirq.transformers.analytical_decompositions import single_qubit_decompositions, two_qubit_to_cz
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
@@ -25,7 +25,7 @@ from typing import Optional, Sequence, Tuple, TYPE_CHECKING
|
|
|
25
25
|
import numpy as np
|
|
26
26
|
import sympy
|
|
27
27
|
|
|
28
|
-
from cirq import circuits,
|
|
28
|
+
from cirq import circuits, linalg, ops, protocols
|
|
29
29
|
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
30
30
|
from cirq.transformers.merge_single_qubit_gates import merge_single_qubit_gates_to_phxz
|
|
31
31
|
|
|
@@ -15,17 +15,17 @@
|
|
|
15
15
|
"""Transformer pass that adds dynamical decoupling operations to a circuit."""
|
|
16
16
|
|
|
17
17
|
from functools import reduce
|
|
18
|
-
from typing import Dict, Optional, Tuple, Union, TYPE_CHECKING
|
|
19
18
|
from itertools import cycle
|
|
19
|
+
from typing import Dict, Optional, Tuple, TYPE_CHECKING, Union
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
from cirq
|
|
21
|
+
import numpy as np
|
|
22
|
+
|
|
23
|
+
from cirq import circuits, ops, protocols
|
|
24
24
|
from cirq.protocols import unitary_protocol
|
|
25
|
-
from cirq.protocols.has_unitary_protocol import has_unitary
|
|
26
25
|
from cirq.protocols.has_stabilizer_effect_protocol import has_stabilizer_effect
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
from cirq.protocols.has_unitary_protocol import has_unitary
|
|
27
|
+
from cirq.transformers import transformer_api
|
|
28
|
+
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
31
|
import cirq
|
|
@@ -13,10 +13,12 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
from typing import Sequence, Tuple, Union
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
import pytest
|
|
19
|
+
|
|
16
20
|
import cirq
|
|
17
21
|
from cirq import add_dynamical_decoupling
|
|
18
|
-
import pytest
|
|
19
|
-
import numpy as np
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
def assert_sim_eq(circuit1: 'cirq.AbstractCircuit', circuit2: 'cirq.AbstractCircuit'):
|
|
@@ -14,11 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
"""Transformer pass that pushes 180° rotations around axes in the XY plane later in the circuit."""
|
|
16
16
|
|
|
17
|
-
from typing import
|
|
18
|
-
|
|
17
|
+
from typing import cast, Dict, Iterable, Iterator, Optional, Tuple, TYPE_CHECKING
|
|
18
|
+
|
|
19
19
|
import numpy as np
|
|
20
|
+
import sympy
|
|
20
21
|
|
|
21
|
-
from cirq import circuits, ops,
|
|
22
|
+
from cirq import circuits, ops, protocols, value
|
|
22
23
|
from cirq.transformers import transformer_api, transformer_primitives
|
|
23
24
|
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
24
25
|
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
+
import dataclasses
|
|
14
15
|
from typing import cast, Iterable
|
|
15
16
|
|
|
16
|
-
import dataclasses
|
|
17
17
|
import numpy as np
|
|
18
18
|
import pytest
|
|
19
19
|
import sympy
|
cirq/transformers/eject_z.py
CHANGED
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
|
|
15
15
|
"""Transformer pass that pushes Z gates later and later in the circuit."""
|
|
16
16
|
|
|
17
|
-
from typing import Dict, Iterable, Iterator, Optional, Tuple, TYPE_CHECKING
|
|
18
17
|
from collections import defaultdict
|
|
18
|
+
from typing import Dict, Iterable, Iterator, Optional, Tuple, TYPE_CHECKING
|
|
19
|
+
|
|
19
20
|
import numpy as np
|
|
20
21
|
|
|
21
22
|
from cirq import ops, protocols
|
|
@@ -14,17 +14,17 @@
|
|
|
14
14
|
|
|
15
15
|
"""A Gauge Transformer for the cphase gate."""
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
import numpy as np
|
|
18
18
|
|
|
19
|
+
import cirq.transformers.gauge_compiling.sqrt_cz_gauge as sqrt_cz_gauge
|
|
20
|
+
from cirq import ops
|
|
19
21
|
from cirq.transformers.gauge_compiling.gauge_compiling import (
|
|
20
|
-
GaugeTransformer,
|
|
21
|
-
GaugeSelector,
|
|
22
22
|
ConstantGauge,
|
|
23
23
|
Gauge,
|
|
24
|
+
GaugeSelector,
|
|
25
|
+
GaugeTransformer,
|
|
24
26
|
TwoQubitGateSymbolizer,
|
|
25
27
|
)
|
|
26
|
-
from cirq import ops
|
|
27
|
-
import numpy as np
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
class CPhasePauliGauge(Gauge):
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
"""A Gauge Transformer for the CZ gate."""
|
|
16
16
|
|
|
17
|
+
from cirq import ops
|
|
18
|
+
from cirq.ops.common_gates import CZ
|
|
17
19
|
from cirq.transformers.gauge_compiling.gauge_compiling import (
|
|
18
|
-
GaugeTransformer,
|
|
19
|
-
GaugeSelector,
|
|
20
20
|
ConstantGauge,
|
|
21
|
+
GaugeSelector,
|
|
22
|
+
GaugeTransformer,
|
|
21
23
|
)
|
|
22
|
-
from cirq.ops.common_gates import CZ
|
|
23
|
-
from cirq import ops
|
|
24
24
|
|
|
25
25
|
CZGaugeSelector = GaugeSelector(
|
|
26
26
|
gauges=[
|
|
@@ -14,23 +14,23 @@
|
|
|
14
14
|
|
|
15
15
|
"""Creates the abstraction for gauge compiling as a cirq transformer."""
|
|
16
16
|
|
|
17
|
-
from typing import Callable, Dict, Tuple, Optional, Sequence, Union, List
|
|
18
|
-
from dataclasses import dataclass
|
|
19
|
-
from numbers import Real
|
|
20
17
|
import abc
|
|
21
|
-
import itertools
|
|
22
18
|
import functools
|
|
23
|
-
import
|
|
19
|
+
import itertools
|
|
20
|
+
from dataclasses import dataclass
|
|
21
|
+
from numbers import Real
|
|
22
|
+
from typing import Callable, Dict, List, Optional, Sequence, Tuple, Union
|
|
24
23
|
|
|
25
|
-
from attrs import frozen, field
|
|
26
24
|
import numpy as np
|
|
25
|
+
import sympy
|
|
26
|
+
from attrs import field, frozen
|
|
27
27
|
|
|
28
|
-
from cirq
|
|
29
|
-
from cirq import ops, circuits
|
|
30
|
-
from cirq.study import sweepable
|
|
28
|
+
from cirq import circuits, ops
|
|
31
29
|
from cirq.protocols import unitary_protocol
|
|
32
30
|
from cirq.protocols.has_unitary_protocol import has_unitary
|
|
31
|
+
from cirq.study import sweepable
|
|
33
32
|
from cirq.study.sweeps import Points, Zip
|
|
33
|
+
from cirq.transformers import transformer_api
|
|
34
34
|
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
35
35
|
|
|
36
36
|
|
|
@@ -13,20 +13,22 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import unittest.mock
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
import numpy as np
|
|
18
|
-
import
|
|
18
|
+
import pytest
|
|
19
19
|
import sympy
|
|
20
|
+
|
|
21
|
+
import cirq
|
|
22
|
+
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
20
23
|
from cirq.transformers.gauge_compiling import (
|
|
21
|
-
GaugeTransformer,
|
|
22
|
-
CZGaugeTransformer,
|
|
23
|
-
SqrtCZGaugeTransformer,
|
|
24
24
|
ConstantGauge,
|
|
25
|
+
CZGaugeTransformer,
|
|
25
26
|
GaugeSelector,
|
|
27
|
+
GaugeTransformer,
|
|
28
|
+
SqrtCZGaugeTransformer,
|
|
26
29
|
TwoQubitGateSymbolizer,
|
|
27
30
|
)
|
|
28
31
|
from cirq.transformers.gauge_compiling.sqrt_cz_gauge import SqrtCZGauge
|
|
29
|
-
from cirq.transformers.analytical_decompositions import single_qubit_decompositions
|
|
30
32
|
|
|
31
33
|
|
|
32
34
|
def test_deep_transformation_not_supported():
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
from unittest.mock import patch
|
|
17
|
-
import pytest
|
|
18
17
|
|
|
19
18
|
import numpy as np
|
|
19
|
+
import pytest
|
|
20
20
|
|
|
21
21
|
import cirq
|
|
22
|
-
from cirq.transformers.gauge_compiling import
|
|
22
|
+
from cirq.transformers.gauge_compiling import GaugeSelector, GaugeTransformer
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class GaugeTester:
|
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
import numpy as np
|
|
17
|
+
|
|
17
18
|
import cirq
|
|
19
|
+
from cirq.transformers import ConstantGauge, GaugeSelector, GaugeTransformer
|
|
18
20
|
from cirq.transformers.gauge_compiling.gauge_compiling_test_utils import GaugeTester
|
|
19
|
-
from cirq.transformers import GaugeTransformer, GaugeSelector, ConstantGauge
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class ExampleGate(cirq.testing.TwoQubitGate):
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
|
+
from cirq import ops
|
|
19
20
|
from cirq.transformers.gauge_compiling.gauge_compiling import (
|
|
20
21
|
ConstantGauge,
|
|
21
22
|
Gauge,
|
|
22
|
-
GaugeTransformer,
|
|
23
23
|
GaugeSelector,
|
|
24
|
+
GaugeTransformer,
|
|
24
25
|
)
|
|
25
|
-
from cirq import ops
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
class RZRotation(Gauge):
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
"""The spin inversion gauge transformer."""
|
|
16
16
|
|
|
17
|
+
from cirq import ops
|
|
17
18
|
from cirq.transformers.gauge_compiling.gauge_compiling import (
|
|
18
|
-
GaugeTransformer,
|
|
19
19
|
GaugeSelector,
|
|
20
|
+
GaugeTransformer,
|
|
20
21
|
SameGateGauge,
|
|
21
22
|
)
|
|
22
|
-
from cirq import ops
|
|
23
23
|
|
|
24
24
|
SpinInversionGaugeSelector = GaugeSelector(
|
|
25
25
|
gauges=[
|