cirq-core 1.5.0.dev20240907040843__py3-none-any.whl → 1.5.0.dev20240911234931__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (54) hide show
  1. cirq/__init__.py +585 -568
  2. cirq/_version.py +1 -1
  3. cirq/_version_test.py +1 -1
  4. cirq/circuits/__init__.py +15 -9
  5. cirq/contrib/__init__.py +2 -2
  6. cirq/contrib/acquaintance/__init__.py +44 -29
  7. cirq/contrib/acquaintance/strategies/__init__.py +9 -3
  8. cirq/contrib/bayesian_network/__init__.py +3 -1
  9. cirq/contrib/circuitdag/__init__.py +1 -1
  10. cirq/contrib/circuitdag/circuit_dag.py +6 -8
  11. cirq/contrib/graph_device/__init__.py +8 -8
  12. cirq/contrib/noise_models/__init__.py +5 -6
  13. cirq/contrib/paulistring/__init__.py +18 -10
  14. cirq/contrib/qasm_import/__init__.py +2 -2
  15. cirq/contrib/qcircuit/__init__.py +6 -4
  16. cirq/contrib/quantum_volume/__init__.py +7 -7
  17. cirq/contrib/quimb/__init__.py +16 -13
  18. cirq/contrib/quirk/__init__.py +1 -1
  19. cirq/contrib/routing/__init__.py +12 -9
  20. cirq/contrib/svg/__init__.py +1 -1
  21. cirq/devices/__init__.py +34 -25
  22. cirq/experiments/__init__.py +45 -34
  23. cirq/interop/__init__.py +4 -1
  24. cirq/interop/quirk/__init__.py +7 -4
  25. cirq/interop/quirk/cells/__init__.py +17 -6
  26. cirq/ion/__init__.py +4 -2
  27. cirq/linalg/__init__.py +61 -51
  28. cirq/neutral_atoms/__init__.py +2 -2
  29. cirq/ops/__init__.py +171 -130
  30. cirq/ops/boolean_hamiltonian.py +2 -1
  31. cirq/protocols/__init__.py +135 -83
  32. cirq/protocols/json_test_data/__init__.py +1 -1
  33. cirq/qis/__init__.py +48 -36
  34. cirq/sim/__init__.py +55 -37
  35. cirq/sim/clifford/__init__.py +17 -9
  36. cirq/study/__init__.py +26 -21
  37. cirq/testing/__init__.py +84 -58
  38. cirq/testing/_compat_test_data/module_a/__init__.py +2 -2
  39. cirq/testing/_compat_test_data/module_a/sub/subsub/__init__.py +1 -1
  40. cirq/testing/json.py +2 -1
  41. cirq/transformers/__init__.py +95 -83
  42. cirq/transformers/analytical_decompositions/__init__.py +27 -24
  43. cirq/transformers/gauge_compiling/__init__.py +22 -9
  44. cirq/transformers/heuristic_decompositions/__init__.py +3 -3
  45. cirq/transformers/routing/__init__.py +14 -5
  46. cirq/transformers/target_gatesets/__init__.py +7 -5
  47. cirq/value/__init__.py +50 -30
  48. cirq/vis/__init__.py +9 -6
  49. cirq/work/__init__.py +19 -13
  50. {cirq_core-1.5.0.dev20240907040843.dist-info → cirq_core-1.5.0.dev20240911234931.dist-info}/METADATA +1 -1
  51. {cirq_core-1.5.0.dev20240907040843.dist-info → cirq_core-1.5.0.dev20240911234931.dist-info}/RECORD +54 -54
  52. {cirq_core-1.5.0.dev20240907040843.dist-info → cirq_core-1.5.0.dev20240911234931.dist-info}/LICENSE +0 -0
  53. {cirq_core-1.5.0.dev20240907040843.dist-info → cirq_core-1.5.0.dev20240911234931.dist-info}/WHEEL +0 -0
  54. {cirq_core-1.5.0.dev20240907040843.dist-info → cirq_core-1.5.0.dev20240911234931.dist-info}/top_level.txt +0 -0
cirq/_version.py CHANGED
@@ -28,4 +28,4 @@ if sys.version_info < (3, 10, 0): # pragma: no cover
28
28
  'of cirq (e.g. "python -m pip install cirq==1.1.*")'
29
29
  )
30
30
 
31
- __version__ = "1.5.0.dev20240907040843"
31
+ __version__ = "1.5.0.dev20240911234931"
cirq/_version_test.py CHANGED
@@ -3,4 +3,4 @@ import cirq
3
3
 
4
4
 
5
5
  def test_version():
6
- assert cirq.__version__ == "1.5.0.dev20240907040843"
6
+ assert cirq.__version__ == "1.5.0.dev20240911234931"
cirq/circuits/__init__.py CHANGED
@@ -14,15 +14,21 @@
14
14
 
15
15
  """Circuit classes, mutators, and outputs."""
16
16
 
17
- from cirq.circuits.text_diagram_drawer import TextDiagramDrawer
17
+ from cirq.circuits.text_diagram_drawer import TextDiagramDrawer as TextDiagramDrawer
18
+ from cirq.circuits.qasm_output import QasmOutput as QasmOutput
18
19
 
19
- from cirq.circuits.qasm_output import QasmOutput
20
+ from cirq.circuits.circuit import (
21
+ AbstractCircuit as AbstractCircuit,
22
+ Alignment as Alignment,
23
+ Circuit as Circuit,
24
+ )
25
+ from cirq.circuits.circuit_operation import CircuitOperation as CircuitOperation
26
+ from cirq.circuits.frozen_circuit import FrozenCircuit as FrozenCircuit
27
+ from cirq.circuits.insert_strategy import InsertStrategy as InsertStrategy
20
28
 
21
- from cirq.circuits.circuit import AbstractCircuit, Alignment, Circuit
22
- from cirq.circuits.circuit_operation import CircuitOperation
23
- from cirq.circuits.frozen_circuit import FrozenCircuit
24
- from cirq.circuits.insert_strategy import InsertStrategy
29
+ from cirq.circuits.moment import Moment as Moment
25
30
 
26
- from cirq.circuits.moment import Moment
27
-
28
- from cirq.circuits.optimization_pass import PointOptimizer, PointOptimizationSummary
31
+ from cirq.circuits.optimization_pass import (
32
+ PointOptimizer as PointOptimizer,
33
+ PointOptimizationSummary as PointOptimizationSummary,
34
+ )
cirq/contrib/__init__.py CHANGED
@@ -21,6 +21,6 @@ this package.
21
21
  from cirq.contrib import acquaintance
22
22
  from cirq.contrib import graph_device
23
23
  from cirq.contrib import quirk
24
- from cirq.contrib.qcircuit import circuit_to_latex_using_qcircuit
24
+ from cirq.contrib.qcircuit import circuit_to_latex_using_qcircuit as circuit_to_latex_using_qcircuit
25
25
  from cirq.contrib import json
26
- from cirq.contrib.circuitdag import CircuitDag, Unique
26
+ from cirq.contrib.circuitdag import CircuitDag as CircuitDag, Unique as Unique
@@ -13,55 +13,70 @@
13
13
  # limitations under the License.
14
14
 
15
15
  """Tools for creating and using acquaintance strategies."""
16
+ from cirq.contrib.acquaintance.bipartite import (
17
+ BipartiteGraphType as BipartiteGraphType,
18
+ BipartiteSwapNetworkGate as BipartiteSwapNetworkGate,
19
+ )
16
20
 
17
- from cirq.contrib.acquaintance.bipartite import BipartiteGraphType, BipartiteSwapNetworkGate
18
-
19
- from cirq.contrib.acquaintance.devices import get_acquaintance_size, UnconstrainedAcquaintanceDevice
21
+ from cirq.contrib.acquaintance.devices import (
22
+ get_acquaintance_size as get_acquaintance_size,
23
+ UnconstrainedAcquaintanceDevice as UnconstrainedAcquaintanceDevice,
24
+ )
20
25
 
21
26
  from cirq.contrib.acquaintance.executor import (
22
- AcquaintanceOperation,
23
- GreedyExecutionStrategy,
24
- StrategyExecutorTransformer,
27
+ AcquaintanceOperation as AcquaintanceOperation,
28
+ GreedyExecutionStrategy as GreedyExecutionStrategy,
29
+ StrategyExecutorTransformer as StrategyExecutorTransformer,
25
30
  )
26
31
 
27
- from cirq.contrib.acquaintance.gates import acquaint, AcquaintanceOpportunityGate, SwapNetworkGate
32
+ from cirq.contrib.acquaintance.gates import (
33
+ acquaint as acquaint,
34
+ AcquaintanceOpportunityGate as AcquaintanceOpportunityGate,
35
+ SwapNetworkGate as SwapNetworkGate,
36
+ )
28
37
 
29
- from cirq.contrib.acquaintance.inspection_utils import get_logical_acquaintance_opportunities
38
+ from cirq.contrib.acquaintance.inspection_utils import (
39
+ get_logical_acquaintance_opportunities as get_logical_acquaintance_opportunities,
40
+ )
30
41
 
31
42
  from cirq.contrib.acquaintance.mutation_utils import (
32
- expose_acquaintance_gates,
33
- rectify_acquaintance_strategy,
34
- replace_acquaintance_with_swap_network,
43
+ expose_acquaintance_gates as expose_acquaintance_gates,
44
+ rectify_acquaintance_strategy as rectify_acquaintance_strategy,
45
+ replace_acquaintance_with_swap_network as replace_acquaintance_with_swap_network,
35
46
  )
36
47
 
37
- from cirq.contrib.acquaintance.optimizers import remove_redundant_acquaintance_opportunities
48
+ from cirq.contrib.acquaintance.optimizers import (
49
+ remove_redundant_acquaintance_opportunities as remove_redundant_acquaintance_opportunities,
50
+ )
38
51
 
39
52
  from cirq.contrib.acquaintance.permutation import (
40
- LinearPermutationGate,
41
- PermutationGate,
42
- SwapPermutationGate,
43
- update_mapping,
44
- get_logical_operations,
45
- display_mapping,
46
- return_to_initial_mapping,
47
- uses_consistent_swap_gate,
48
- EXPAND_PERMUTATION_GATES,
49
- DECOMPOSE_PERMUTATION_GATES,
53
+ LinearPermutationGate as LinearPermutationGate,
54
+ PermutationGate as PermutationGate,
55
+ SwapPermutationGate as SwapPermutationGate,
56
+ update_mapping as update_mapping,
57
+ get_logical_operations as get_logical_operations,
58
+ display_mapping as display_mapping,
59
+ return_to_initial_mapping as return_to_initial_mapping,
60
+ uses_consistent_swap_gate as uses_consistent_swap_gate,
61
+ EXPAND_PERMUTATION_GATES as EXPAND_PERMUTATION_GATES,
62
+ DECOMPOSE_PERMUTATION_GATES as DECOMPOSE_PERMUTATION_GATES,
50
63
  )
51
64
 
52
- from cirq.contrib.acquaintance.shift import CircularShiftGate
65
+ from cirq.contrib.acquaintance.shift import CircularShiftGate as CircularShiftGate
53
66
 
54
- from cirq.contrib.acquaintance.shift_swap_network import ShiftSwapNetworkGate
67
+ from cirq.contrib.acquaintance.shift_swap_network import (
68
+ ShiftSwapNetworkGate as ShiftSwapNetworkGate,
69
+ )
55
70
 
56
71
  from cirq.contrib.acquaintance.strategies import (
57
- complete_acquaintance_strategy,
58
- cubic_acquaintance_strategy,
59
- quartic_paired_acquaintance_strategy,
72
+ complete_acquaintance_strategy as complete_acquaintance_strategy,
73
+ cubic_acquaintance_strategy as cubic_acquaintance_strategy,
74
+ quartic_paired_acquaintance_strategy as quartic_paired_acquaintance_strategy,
60
75
  )
61
76
 
62
77
  from cirq.contrib.acquaintance.topological_sort import (
63
- is_topologically_sorted,
64
- random_topological_sort,
78
+ is_topologically_sorted as is_topologically_sorted,
79
+ random_topological_sort as random_topological_sort,
65
80
  )
66
81
 
67
82
  from cirq.contrib.acquaintance import testing
@@ -14,6 +14,12 @@
14
14
 
15
15
  """Acquaintance strategies."""
16
16
 
17
- from cirq.contrib.acquaintance.strategies.complete import complete_acquaintance_strategy
18
- from cirq.contrib.acquaintance.strategies.cubic import cubic_acquaintance_strategy
19
- from cirq.contrib.acquaintance.strategies.quartic_paired import quartic_paired_acquaintance_strategy
17
+ from cirq.contrib.acquaintance.strategies.complete import (
18
+ complete_acquaintance_strategy as complete_acquaintance_strategy,
19
+ )
20
+ from cirq.contrib.acquaintance.strategies.cubic import (
21
+ cubic_acquaintance_strategy as cubic_acquaintance_strategy,
22
+ )
23
+ from cirq.contrib.acquaintance.strategies.quartic_paired import (
24
+ quartic_paired_acquaintance_strategy as quartic_paired_acquaintance_strategy,
25
+ )
@@ -12,4 +12,6 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from cirq.contrib.bayesian_network.bayesian_network_gate import BayesianNetworkGate
15
+ from cirq.contrib.bayesian_network.bayesian_network_gate import (
16
+ BayesianNetworkGate as BayesianNetworkGate,
17
+ )
@@ -14,4 +14,4 @@
14
14
 
15
15
  """Tools for representing a Circuit as a directed acyclic graph."""
16
16
 
17
- from cirq.contrib.circuitdag.circuit_dag import CircuitDag, Unique
17
+ from cirq.contrib.circuitdag.circuit_dag import CircuitDag as CircuitDag, Unique as Unique
@@ -11,16 +11,14 @@
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 Any, Callable, Dict, Generic, Iterator, TypeVar, cast, TYPE_CHECKING
14
+
15
+ from typing import Any, Callable, Dict, Generic, Iterator, TypeVar, cast
15
16
 
16
17
  import functools
17
18
  import networkx
18
19
 
20
+ import cirq
19
21
  from cirq import ops
20
- from cirq.circuits import circuit
21
-
22
- if TYPE_CHECKING:
23
- import cirq
24
22
 
25
23
  T = TypeVar('T')
26
24
 
@@ -98,7 +96,7 @@ class CircuitDag(networkx.DiGraph):
98
96
 
99
97
  @staticmethod
100
98
  def from_circuit(
101
- circuit: circuit.Circuit,
99
+ circuit: cirq.Circuit,
102
100
  can_reorder: Callable[['cirq.Operation', 'cirq.Operation'], bool] = _disjoint_qubits,
103
101
  ) -> 'CircuitDag':
104
102
  return CircuitDag.from_ops(circuit.all_operations(), can_reorder=can_reorder)
@@ -179,8 +177,8 @@ class CircuitDag(networkx.DiGraph):
179
177
  def all_qubits(self):
180
178
  return frozenset(q for node in self.nodes for q in node.val.qubits)
181
179
 
182
- def to_circuit(self) -> circuit.Circuit:
183
- return circuit.Circuit(self.all_operations(), strategy=circuit.InsertStrategy.EARLIEST)
180
+ def to_circuit(self) -> cirq.Circuit:
181
+ return cirq.Circuit(self.all_operations(), strategy=cirq.InsertStrategy.EARLIEST)
184
182
 
185
183
  def findall_nodes_until_blocked(
186
184
  self, is_blocker: Callable[['cirq.Operation'], bool]
@@ -14,17 +14,17 @@
14
14
 
15
15
  """Tools for representing a device as an edge-labelled graph."""
16
16
 
17
- from cirq.contrib.graph_device.hypergraph import UndirectedHypergraph
17
+ from cirq.contrib.graph_device.hypergraph import UndirectedHypergraph as UndirectedHypergraph
18
18
 
19
19
  from cirq.contrib.graph_device.graph_device import (
20
- is_undirected_device_graph,
21
- is_crosstalk_graph,
22
- FixedDurationUndirectedGraphDeviceEdge,
23
- UndirectedGraphDevice,
24
- UnconstrainedUndirectedGraphDeviceEdge,
20
+ is_undirected_device_graph as is_undirected_device_graph,
21
+ is_crosstalk_graph as is_crosstalk_graph,
22
+ FixedDurationUndirectedGraphDeviceEdge as FixedDurationUndirectedGraphDeviceEdge,
23
+ UndirectedGraphDevice as UndirectedGraphDevice,
24
+ UnconstrainedUndirectedGraphDeviceEdge as UnconstrainedUndirectedGraphDeviceEdge,
25
25
  )
26
26
 
27
27
  from cirq.contrib.graph_device.uniform_graph_device import (
28
- uniform_undirected_graph_device,
29
- uniform_undirected_linear_device,
28
+ uniform_undirected_graph_device as uniform_undirected_graph_device,
29
+ uniform_undirected_linear_device as uniform_undirected_linear_device,
30
30
  )
@@ -11,11 +11,10 @@
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
-
15
14
  from cirq.contrib.noise_models.noise_models import (
16
- DepolarizingNoiseModel,
17
- ReadoutNoiseModel,
18
- DampedReadoutNoiseModel,
19
- DepolarizingWithReadoutNoiseModel,
20
- DepolarizingWithDampedReadoutNoiseModel,
15
+ DepolarizingNoiseModel as DepolarizingNoiseModel,
16
+ ReadoutNoiseModel as ReadoutNoiseModel,
17
+ DampedReadoutNoiseModel as DampedReadoutNoiseModel,
18
+ DepolarizingWithReadoutNoiseModel as DepolarizingWithReadoutNoiseModel,
19
+ DepolarizingWithDampedReadoutNoiseModel as DepolarizingWithDampedReadoutNoiseModel,
21
20
  )
@@ -14,23 +14,31 @@
14
14
 
15
15
  """Methods related to optimizing and transforming PauliStrings."""
16
16
 
17
- from cirq.contrib.paulistring.clifford_target_gateset import CliffordTargetGateset
17
+ from cirq.contrib.paulistring.clifford_target_gateset import (
18
+ CliffordTargetGateset as CliffordTargetGateset,
19
+ )
18
20
 
19
21
  from cirq.contrib.paulistring.separate import (
20
- convert_and_separate_circuit,
21
- pauli_string_half,
22
- regular_half,
22
+ convert_and_separate_circuit as convert_and_separate_circuit,
23
+ pauli_string_half as pauli_string_half,
24
+ regular_half as regular_half,
23
25
  )
24
26
 
25
27
  from cirq.contrib.paulistring.pauli_string_dag import (
26
- pauli_string_dag_from_circuit,
27
- pauli_string_reorder_pred,
28
+ pauli_string_dag_from_circuit as pauli_string_dag_from_circuit,
29
+ pauli_string_reorder_pred as pauli_string_reorder_pred,
28
30
  )
29
31
 
30
- from cirq.contrib.paulistring.recombine import move_pauli_strings_into_circuit
32
+ from cirq.contrib.paulistring.recombine import (
33
+ move_pauli_strings_into_circuit as move_pauli_strings_into_circuit,
34
+ )
31
35
 
32
- from cirq.contrib.paulistring.pauli_string_optimize import pauli_string_optimized_circuit
36
+ from cirq.contrib.paulistring.pauli_string_optimize import (
37
+ pauli_string_optimized_circuit as pauli_string_optimized_circuit,
38
+ )
33
39
 
34
- from cirq.contrib.paulistring.clifford_optimize import clifford_optimized_circuit
40
+ from cirq.contrib.paulistring.clifford_optimize import (
41
+ clifford_optimized_circuit as clifford_optimized_circuit,
42
+ )
35
43
 
36
- from cirq.contrib.paulistring.optimize import optimized_circuit
44
+ from cirq.contrib.paulistring.optimize import optimized_circuit as optimized_circuit
@@ -12,5 +12,5 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from cirq.contrib.qasm_import.exception import QasmException
16
- from cirq.contrib.qasm_import.qasm import circuit_from_qasm
15
+ from cirq.contrib.qasm_import.exception import QasmException as QasmException
16
+ from cirq.contrib.qasm_import.qasm import circuit_from_qasm as circuit_from_qasm
@@ -14,10 +14,12 @@
14
14
 
15
15
  """Converts cirq circuits into latex using qcircuit."""
16
16
 
17
- from cirq.contrib.qcircuit.qcircuit_diagram import circuit_to_latex_using_qcircuit
17
+ from cirq.contrib.qcircuit.qcircuit_diagram import (
18
+ circuit_to_latex_using_qcircuit as circuit_to_latex_using_qcircuit,
19
+ )
18
20
 
19
21
  from cirq.contrib.qcircuit.qcircuit_diagram_info import (
20
- escape_text_for_latex,
21
- get_multigate_parameters,
22
- get_qcircuit_diagram_info,
22
+ escape_text_for_latex as escape_text_for_latex,
23
+ get_multigate_parameters as get_multigate_parameters,
24
+ get_qcircuit_diagram_info as get_qcircuit_diagram_info,
23
25
  )
@@ -14,11 +14,11 @@
14
14
  """Utilities running the Quantum Volume benchmark on devices"""
15
15
 
16
16
  from cirq.contrib.quantum_volume.quantum_volume import (
17
- generate_model_circuit,
18
- compute_heavy_set,
19
- sample_heavy_set,
20
- compile_circuit,
21
- calculate_quantum_volume,
22
- QuantumVolumeResult,
23
- CompilationResult,
17
+ generate_model_circuit as generate_model_circuit,
18
+ compute_heavy_set as compute_heavy_set,
19
+ sample_heavy_set as sample_heavy_set,
20
+ compile_circuit as compile_circuit,
21
+ calculate_quantum_volume as calculate_quantum_volume,
22
+ QuantumVolumeResult as QuantumVolumeResult,
23
+ CompilationResult as CompilationResult,
24
24
  )
@@ -1,23 +1,26 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
2
  from cirq.contrib.quimb.state_vector import (
3
- circuit_for_expectation_value,
4
- tensor_expectation_value,
5
- circuit_to_tensors,
6
- tensor_state_vector,
7
- tensor_unitary,
3
+ circuit_for_expectation_value as circuit_for_expectation_value,
4
+ tensor_expectation_value as tensor_expectation_value,
5
+ circuit_to_tensors as circuit_to_tensors,
6
+ tensor_state_vector as tensor_state_vector,
7
+ tensor_unitary as tensor_unitary,
8
8
  )
9
9
 
10
10
  from cirq.contrib.quimb.density_matrix import (
11
- tensor_density_matrix,
12
- circuit_to_density_matrix_tensors,
11
+ tensor_density_matrix as tensor_density_matrix,
12
+ circuit_to_density_matrix_tensors as circuit_to_density_matrix_tensors,
13
13
  )
14
14
 
15
- from cirq.contrib.quimb.grid_circuits import simplify_expectation_value_circuit, get_grid_moments
15
+ from cirq.contrib.quimb.grid_circuits import (
16
+ simplify_expectation_value_circuit as simplify_expectation_value_circuit,
17
+ get_grid_moments as get_grid_moments,
18
+ )
16
19
 
17
20
  from cirq.contrib.quimb.mps_simulator import (
18
- MPSOptions,
19
- MPSSimulator,
20
- MPSSimulatorStepResult,
21
- MPSState,
22
- MPSTrialResult,
21
+ MPSOptions as MPSOptions,
22
+ MPSSimulator as MPSSimulator,
23
+ MPSSimulatorStepResult as MPSSimulatorStepResult,
24
+ MPSState as MPSState,
25
+ MPSTrialResult as MPSTrialResult,
23
26
  )
@@ -14,4 +14,4 @@
14
14
 
15
15
  """Converts cirq circuits into quirk circuits."""
16
16
 
17
- from cirq.contrib.quirk.export_to_quirk import circuit_to_quirk_url
17
+ from cirq.contrib.quirk.export_to_quirk import circuit_to_quirk_url as circuit_to_quirk_url
@@ -14,15 +14,18 @@
14
14
  """Utilities for routing circuits on devices"""
15
15
 
16
16
  from cirq.contrib.routing.device import (
17
- get_linear_device_graph,
18
- get_grid_device_graph,
19
- gridqubits_to_graph_device,
20
- nx_qubit_layout,
17
+ get_linear_device_graph as get_linear_device_graph,
18
+ get_grid_device_graph as get_grid_device_graph,
19
+ gridqubits_to_graph_device as gridqubits_to_graph_device,
20
+ nx_qubit_layout as nx_qubit_layout,
21
21
  )
22
- from cirq.contrib.routing.router import route_circuit, ROUTERS
23
- from cirq.contrib.routing.swap_network import SwapNetwork
22
+
23
+ from cirq.contrib.routing.router import route_circuit as route_circuit, ROUTERS as ROUTERS
24
+
25
+ from cirq.contrib.routing.swap_network import SwapNetwork as SwapNetwork
26
+
24
27
  from cirq.contrib.routing.utils import (
25
- get_circuit_connectivity,
26
- is_valid_routing,
27
- ops_are_consistent_with_device_graph,
28
+ get_circuit_connectivity as get_circuit_connectivity,
29
+ is_valid_routing as is_valid_routing,
30
+ ops_are_consistent_with_device_graph as ops_are_consistent_with_device_graph,
28
31
  )
@@ -1,2 +1,2 @@
1
1
  # pylint: disable=wrong-or-nonexistent-copyright-notice
2
- from cirq.contrib.svg.svg import SVGCircuit, circuit_to_svg
2
+ from cirq.contrib.svg.svg import SVGCircuit as SVGCircuit, circuit_to_svg as circuit_to_svg
cirq/devices/__init__.py CHANGED
@@ -14,45 +14,54 @@
14
14
 
15
15
  """Device classes, qubits, and topologies, as well as noise models."""
16
16
 
17
- from cirq.devices.device import Device, DeviceMetadata
18
17
 
19
- from cirq.devices.grid_device_metadata import GridDeviceMetadata
18
+ from cirq.devices.device import Device as Device, DeviceMetadata as DeviceMetadata
20
19
 
21
- from cirq.devices.grid_qubit import GridQid, GridQubit
20
+ from cirq.devices.grid_device_metadata import GridDeviceMetadata as GridDeviceMetadata
22
21
 
23
- from cirq.devices.line_qubit import LineQubit, LineQid
22
+ from cirq.devices.grid_qubit import GridQid as GridQid, GridQubit as GridQubit
24
23
 
25
- from cirq.devices.unconstrained_device import UNCONSTRAINED_DEVICE
24
+ from cirq.devices.line_qubit import LineQubit as LineQubit, LineQid as LineQid
26
25
 
27
- from cirq.devices.noise_model import NO_NOISE, NOISE_MODEL_LIKE, NoiseModel, ConstantQubitNoiseModel
26
+ from cirq.devices.unconstrained_device import UNCONSTRAINED_DEVICE as UNCONSTRAINED_DEVICE
27
+
28
+ from cirq.devices.noise_model import (
29
+ NO_NOISE as NO_NOISE,
30
+ NOISE_MODEL_LIKE as NOISE_MODEL_LIKE,
31
+ NoiseModel as NoiseModel,
32
+ ConstantQubitNoiseModel as ConstantQubitNoiseModel,
33
+ )
28
34
 
29
35
  from cirq.devices.named_topologies import (
30
- NamedTopology,
31
- draw_gridlike,
32
- LineTopology,
33
- TiltedSquareLattice,
34
- get_placements,
35
- is_valid_placement,
36
- draw_placements,
36
+ NamedTopology as NamedTopology,
37
+ draw_gridlike as draw_gridlike,
38
+ LineTopology as LineTopology,
39
+ TiltedSquareLattice as TiltedSquareLattice,
40
+ get_placements as get_placements,
41
+ is_valid_placement as is_valid_placement,
42
+ draw_placements as draw_placements,
37
43
  )
38
44
 
39
- from cirq.devices.insertion_noise_model import InsertionNoiseModel
45
+ from cirq.devices.insertion_noise_model import InsertionNoiseModel as InsertionNoiseModel
40
46
 
41
- from cirq.devices.thermal_noise_model import ThermalNoiseModel
47
+ from cirq.devices.thermal_noise_model import ThermalNoiseModel as ThermalNoiseModel
42
48
 
43
- from cirq.devices.noise_properties import NoiseModelFromNoiseProperties, NoiseProperties
49
+ from cirq.devices.noise_properties import (
50
+ NoiseModelFromNoiseProperties as NoiseModelFromNoiseProperties,
51
+ NoiseProperties as NoiseProperties,
52
+ )
44
53
 
45
54
  from cirq.devices.superconducting_qubits_noise_properties import (
46
- SuperconductingQubitsNoiseProperties,
55
+ SuperconductingQubitsNoiseProperties as SuperconductingQubitsNoiseProperties,
47
56
  )
48
57
 
49
58
  from cirq.devices.noise_utils import (
50
- OpIdentifier,
51
- decay_constant_to_xeb_fidelity,
52
- decay_constant_to_pauli_error,
53
- pauli_error_to_decay_constant,
54
- xeb_fidelity_to_decay_constant,
55
- pauli_error_from_t1,
56
- average_error,
57
- decoherence_pauli_error,
59
+ OpIdentifier as OpIdentifier,
60
+ decay_constant_to_xeb_fidelity as decay_constant_to_xeb_fidelity,
61
+ decay_constant_to_pauli_error as decay_constant_to_pauli_error,
62
+ pauli_error_to_decay_constant as pauli_error_to_decay_constant,
63
+ xeb_fidelity_to_decay_constant as xeb_fidelity_to_decay_constant,
64
+ pauli_error_from_t1 as pauli_error_from_t1,
65
+ average_error as average_error,
66
+ decoherence_pauli_error as decoherence_pauli_error,
58
67
  )
@@ -14,60 +14,71 @@
14
14
  """Experiments and tools for characterizing quantum operations."""
15
15
 
16
16
  from cirq.experiments.qubit_characterizations import (
17
- RandomizedBenchMarkResult,
18
- single_qubit_randomized_benchmarking,
19
- single_qubit_state_tomography,
20
- TomographyResult,
21
- two_qubit_randomized_benchmarking,
22
- two_qubit_state_tomography,
23
- parallel_single_qubit_randomized_benchmarking,
17
+ RandomizedBenchMarkResult as RandomizedBenchMarkResult,
18
+ single_qubit_randomized_benchmarking as single_qubit_randomized_benchmarking,
19
+ single_qubit_state_tomography as single_qubit_state_tomography,
20
+ TomographyResult as TomographyResult,
21
+ two_qubit_randomized_benchmarking as two_qubit_randomized_benchmarking,
22
+ two_qubit_state_tomography as two_qubit_state_tomography,
23
+ parallel_single_qubit_randomized_benchmarking as parallel_single_qubit_randomized_benchmarking,
24
24
  )
25
25
 
26
26
  from cirq.experiments.fidelity_estimation import (
27
- hog_score_xeb_fidelity_from_probabilities,
28
- linear_xeb_fidelity_from_probabilities,
29
- linear_xeb_fidelity,
30
- log_xeb_fidelity,
31
- log_xeb_fidelity_from_probabilities,
32
- xeb_fidelity,
27
+ hog_score_xeb_fidelity_from_probabilities as hog_score_xeb_fidelity_from_probabilities,
28
+ linear_xeb_fidelity_from_probabilities as linear_xeb_fidelity_from_probabilities,
29
+ linear_xeb_fidelity as linear_xeb_fidelity,
30
+ log_xeb_fidelity as log_xeb_fidelity,
31
+ log_xeb_fidelity_from_probabilities as log_xeb_fidelity_from_probabilities,
32
+ xeb_fidelity as xeb_fidelity,
33
33
  )
34
34
 
35
- from cirq.experiments.purity_estimation import purity_from_probabilities
35
+ from cirq.experiments.purity_estimation import (
36
+ purity_from_probabilities as purity_from_probabilities,
37
+ )
36
38
 
37
39
  from cirq.experiments.random_quantum_circuit_generation import (
38
- GRID_ALIGNED_PATTERN,
39
- GRID_STAGGERED_PATTERN,
40
- HALF_GRID_STAGGERED_PATTERN,
41
- GridInteractionLayer,
42
- random_rotations_between_grid_interaction_layers_circuit,
40
+ # pylint: disable=line-too-long
41
+ GRID_ALIGNED_PATTERN as GRID_ALIGNED_PATTERN,
42
+ GRID_STAGGERED_PATTERN as GRID_STAGGERED_PATTERN,
43
+ HALF_GRID_STAGGERED_PATTERN as HALF_GRID_STAGGERED_PATTERN,
44
+ GridInteractionLayer as GridInteractionLayer,
45
+ random_rotations_between_grid_interaction_layers_circuit as random_rotations_between_grid_interaction_layers_circuit,
43
46
  )
44
47
 
45
48
  from cirq.experiments.readout_confusion_matrix import (
46
- TensoredConfusionMatrices,
47
- measure_confusion_matrix,
49
+ TensoredConfusionMatrices as TensoredConfusionMatrices,
50
+ measure_confusion_matrix as measure_confusion_matrix,
48
51
  )
49
52
 
50
53
  from cirq.experiments.n_qubit_tomography import (
51
- get_state_tomography_data,
52
- state_tomography,
53
- StateTomographyExperiment,
54
+ get_state_tomography_data as get_state_tomography_data,
55
+ state_tomography as state_tomography,
56
+ StateTomographyExperiment as StateTomographyExperiment,
54
57
  )
55
58
 
56
59
  from cirq.experiments.single_qubit_readout_calibration import (
57
- estimate_parallel_single_qubit_readout_errors,
58
- estimate_single_qubit_readout_errors,
59
- SingleQubitReadoutCalibrationResult,
60
+ estimate_parallel_single_qubit_readout_errors as estimate_parallel_single_qubit_readout_errors,
61
+ estimate_single_qubit_readout_errors as estimate_single_qubit_readout_errors,
62
+ SingleQubitReadoutCalibrationResult as SingleQubitReadoutCalibrationResult,
60
63
  )
61
64
 
62
- from cirq.experiments.t1_decay_experiment import t1_decay, T1DecayResult
65
+ from cirq.experiments.t1_decay_experiment import (
66
+ t1_decay as t1_decay,
67
+ T1DecayResult as T1DecayResult,
68
+ )
63
69
 
64
- from cirq.experiments.t2_decay_experiment import t2_decay, T2DecayResult
70
+ from cirq.experiments.t2_decay_experiment import (
71
+ t2_decay as t2_decay,
72
+ T2DecayResult as T2DecayResult,
73
+ )
65
74
 
66
- from cirq.experiments.xeb_fitting import XEBPhasedFSimCharacterizationOptions
75
+ from cirq.experiments.xeb_fitting import (
76
+ XEBPhasedFSimCharacterizationOptions as XEBPhasedFSimCharacterizationOptions,
77
+ )
67
78
 
68
79
  from cirq.experiments.two_qubit_xeb import (
69
- InferredXEBResult,
70
- TwoQubitXEBResult,
71
- parallel_two_qubit_xeb,
72
- run_rb_and_xeb,
80
+ InferredXEBResult as InferredXEBResult,
81
+ TwoQubitXEBResult as TwoQubitXEBResult,
82
+ parallel_two_qubit_xeb as parallel_two_qubit_xeb,
83
+ run_rb_and_xeb as run_rb_and_xeb,
73
84
  )
cirq/interop/__init__.py CHANGED
@@ -13,4 +13,7 @@
13
13
  # limitations under the License.
14
14
  """Methods for interoperating with other quantum software."""
15
15
 
16
- from cirq.interop.quirk import quirk_json_to_circuit, quirk_url_to_circuit
16
+ from cirq.interop.quirk import (
17
+ quirk_json_to_circuit as quirk_json_to_circuit,
18
+ quirk_url_to_circuit as quirk_url_to_circuit,
19
+ )