qiskit 1.1.1__cp38-abi3-macosx_10_9_universal2.whl → 1.1.2__cp38-abi3-macosx_10_9_universal2.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.
Files changed (27) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/_accelerate.abi3.so +0 -0
  3. qiskit/circuit/classicalfunction/__init__.py +8 -0
  4. qiskit/circuit/library/standard_gates/x.py +2 -0
  5. qiskit/circuit/quantumcircuit.py +2 -0
  6. qiskit/dagcircuit/dagcircuit.py +7 -0
  7. qiskit/primitives/containers/bit_array.py +5 -2
  8. qiskit/providers/fake_provider/generic_backend_v2.py +5 -0
  9. qiskit/pulse/schedule.py +3 -3
  10. qiskit/quantum_info/operators/symplectic/pauli.py +11 -9
  11. qiskit/synthesis/discrete_basis/generate_basis_approximations.py +1 -1
  12. qiskit/synthesis/discrete_basis/solovay_kitaev.py +22 -12
  13. qiskit/transpiler/__init__.py +5 -5
  14. qiskit/transpiler/layout.py +3 -3
  15. qiskit/transpiler/passes/optimization/collect_cliffords.py +6 -15
  16. qiskit/transpiler/passes/routing/commuting_2q_gate_routing/pauli_2q_evolution_commutation.py +5 -1
  17. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +3 -0
  18. qiskit/transpiler/preset_passmanagers/__init__.py +2 -2
  19. qiskit/visualization/bloch.py +44 -1
  20. qiskit/visualization/dag_visualization.py +10 -3
  21. qiskit/visualization/pass_manager_visualization.py +9 -9
  22. {qiskit-1.1.1.dist-info → qiskit-1.1.2.dist-info}/METADATA +18 -18
  23. {qiskit-1.1.1.dist-info → qiskit-1.1.2.dist-info}/RECORD +27 -27
  24. {qiskit-1.1.1.dist-info → qiskit-1.1.2.dist-info}/WHEEL +1 -1
  25. {qiskit-1.1.1.dist-info → qiskit-1.1.2.dist-info}/LICENSE.txt +0 -0
  26. {qiskit-1.1.1.dist-info → qiskit-1.1.2.dist-info}/entry_points.txt +0 -0
  27. {qiskit-1.1.1.dist-info → qiskit-1.1.2.dist-info}/top_level.txt +0 -0
qiskit/VERSION.txt CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.2
Binary file
@@ -51,6 +51,14 @@ QuantumCircuit:
51
51
  Following Qiskit's little-endian bit ordering convention, the left-most bit (``a``) is the most
52
52
  significant bit and the right-most bit (``d``) is the least significant bit.
53
53
 
54
+ .. warning::
55
+
56
+ The functionality of `qiskit.circuit.classicalfunction` requires `tweedledum`,
57
+ which isn't available on all platforms (up to Python version 3.11).
58
+ See `tweedledum installation guide
59
+ <https://github.com/boschmitt/tweedledum/tree/master?tab=readme-ov-file#installation>`_
60
+ for more details.
61
+
54
62
  Supplementary Information
55
63
  =========================
56
64
 
@@ -21,6 +21,7 @@ from qiskit.circuit.quantumregister import QuantumRegister
21
21
  from qiskit.circuit._utils import _ctrl_state_to_int, with_gate_array, with_controlled_gate_array
22
22
 
23
23
  _X_ARRAY = [[0, 1], [1, 0]]
24
+ _SX_ARRAY = [[0.5 + 0.5j, 0.5 - 0.5j], [0.5 - 0.5j, 0.5 + 0.5j]]
24
25
 
25
26
 
26
27
  @with_gate_array(_X_ARRAY)
@@ -562,6 +563,7 @@ class RCCXGate(SingletonGate):
562
563
  return isinstance(other, RCCXGate)
563
564
 
564
565
 
566
+ @with_controlled_gate_array(_SX_ARRAY, num_ctrl_qubits=3, cached_states=(7,))
565
567
  class C3SXGate(SingletonControlledGate):
566
568
  """The 3-qubit controlled sqrt-X gate.
567
569
 
@@ -3640,6 +3640,8 @@ class QuantumCircuit:
3640
3640
  [(ParameterTable.GLOBAL_PHASE, None)]
3641
3641
  )
3642
3642
  cpy._data = CircuitData(self._data.qubits, self._data.clbits)
3643
+ # Invalidate parameters caching.
3644
+ cpy._parameters = None
3643
3645
 
3644
3646
  cpy._calibrations = _copy.deepcopy(self._calibrations)
3645
3647
  cpy._metadata = _copy.deepcopy(self._metadata)
@@ -1343,6 +1343,13 @@ class DAGCircuit:
1343
1343
  block_cargs.sort(key=wire_pos_map.get)
1344
1344
  new_node = DAGOpNode(op, block_qargs, block_cargs, dag=self)
1345
1345
 
1346
+ # check the op to insert matches the number of qubits we put it on
1347
+ if op.num_qubits != len(block_qargs):
1348
+ raise DAGCircuitError(
1349
+ f"Number of qubits in the replacement operation ({op.num_qubits}) is not equal to "
1350
+ f"the number of qubits in the block ({len(block_qargs)})!"
1351
+ )
1352
+
1346
1353
  try:
1347
1354
  new_node._node_id = self._multi_graph.contract_nodes(
1348
1355
  block_ids, new_node, check_cycle=cycle_check
@@ -231,7 +231,7 @@ class BitArray(ShapedMixin):
231
231
  Args:
232
232
  counts: One or more counts-like mappings with the same number of shots.
233
233
  num_bits: The desired number of bits per shot. If unset, the biggest value found sets
234
- this value.
234
+ this value, with a minimum of one bit.
235
235
 
236
236
  Returns:
237
237
  A new bit array with shape ``()`` for single input counts, or ``(N,)`` for an iterable
@@ -275,7 +275,7 @@ class BitArray(ShapedMixin):
275
275
  Args:
276
276
  samples: A list of bitstrings, a list of integers, or a list of hexstrings.
277
277
  num_bits: The desired number of bits per sample. If unset, the biggest sample provided
278
- is used to determine this value.
278
+ is used to determine this value, with a minimum of one bit.
279
279
 
280
280
  Returns:
281
281
  A new bit array.
@@ -298,6 +298,9 @@ class BitArray(ShapedMixin):
298
298
  # we are forced to prematurely look at every iterand in this case
299
299
  ints = list(ints)
300
300
  num_bits = max(map(int.bit_length, ints))
301
+ # convention: if the only value is 0, represent with one bit:
302
+ if num_bits == 0:
303
+ num_bits = 1
301
304
 
302
305
  num_bytes = _min_num_bytes(num_bits)
303
306
  data = b"".join(val.to_bytes(num_bytes, "big") for val in ints)
@@ -375,6 +375,11 @@ class GenericBackendV2(BackendV2):
375
375
  f"in the standard qiskit circuit library."
376
376
  )
377
377
  gate = self._supported_gates[name]
378
+ if self.num_qubits < gate.num_qubits:
379
+ raise QiskitError(
380
+ f"Provided basis gate {name} needs more qubits than {self.num_qubits}, "
381
+ f"which is the size of the backend."
382
+ )
378
383
  noise_params = self._get_noise_defaults(name, gate.num_qubits)
379
384
  self._add_noisy_instruction_to_target(gate, noise_params, calibration_inst_map)
380
385
 
qiskit/pulse/schedule.py CHANGED
@@ -252,7 +252,7 @@ class Schedule:
252
252
 
253
253
  Notes:
254
254
  Nested schedules are returned as-is. If you want to collect only instructions,
255
- use py:meth:`~Schedule.instructions` instead.
255
+ use :py:meth:`~Schedule.instructions` instead.
256
256
 
257
257
  Returns:
258
258
  A tuple, where each element is a two-tuple containing the initial
@@ -490,7 +490,7 @@ class Schedule:
490
490
  ) -> "Schedule":
491
491
  """Return a ``Schedule`` with only the instructions from this Schedule *failing*
492
492
  at least one of the provided filters.
493
- This method is the complement of py:meth:`~self.filter`, so that::
493
+ This method is the complement of :py:meth:`~Schedule.filter`, so that::
494
494
 
495
495
  self.filter(args) | self.exclude(args) == self
496
496
 
@@ -1309,7 +1309,7 @@ class ScheduleBlock:
1309
1309
  ):
1310
1310
  """Return a new ``ScheduleBlock`` with only the instructions from this ``ScheduleBlock``
1311
1311
  *failing* at least one of the provided filters.
1312
- This method is the complement of py:meth:`~self.filter`, so that::
1312
+ This method is the complement of :py:meth:`~ScheduleBlock.filter`, so that::
1313
1313
 
1314
1314
  self.filter(args) + self.exclude(args) == self in terms of instructions included.
1315
1315
 
@@ -77,7 +77,7 @@ class Pauli(BasePauli):
77
77
 
78
78
  An :math:`n`-qubit Pauli may be represented by a string consisting of
79
79
  :math:`n` characters from ``['I', 'X', 'Y', 'Z']``, and optionally phase
80
- coefficient in :math:`['', '-i', '-', 'i']`. For example: ``XYZ`` or
80
+ coefficient in ``['', '-i', '-', 'i']``. For example: ``'XYZ'`` or
81
81
  ``'-iZIZ'``.
82
82
 
83
83
  In the string representation qubit-0 corresponds to the right-most
@@ -160,21 +160,23 @@ class Pauli(BasePauli):
160
160
  _CANONICAL_PHASE_LABEL = {"": 0, "-i": 1, "-": 2, "i": 3}
161
161
 
162
162
  def __init__(self, data: str | tuple | Pauli | ScalarOp | QuantumCircuit | None = None):
163
- """Initialize the Pauli.
163
+ r"""Initialize the Pauli.
164
164
 
165
165
  When using the symplectic array input data both z and x arguments must
166
166
  be provided, however the first (z) argument can be used alone for string
167
- label, Pauli operator, or ScalarOp input data.
167
+ label, Pauli operator, or :class:`.ScalarOp` input data.
168
168
 
169
169
  Args:
170
170
  data (str or tuple or Pauli or ScalarOp): input data for Pauli. If input is
171
- a tuple it must be of the form ``(z, x)`` or (z, x, phase)`` where
172
- ``z`` and ``x`` are boolean Numpy arrays, and phase is an integer from Z_4.
171
+ a tuple it must be of the form ``(z, x)`` or ``(z, x, phase)`` where
172
+ ``z`` and ``x`` are boolean Numpy arrays, and phase is an integer from
173
+ :math:`\mathbb{Z}_4`.
173
174
  If input is a string, it must be a concatenation of a phase and a Pauli string
174
- (e.g. 'XYZ', '-iZIZ') where a phase string is a combination of at most three
175
- characters from ['+', '-', ''], ['1', ''], and ['i', 'j', ''] in this order,
176
- e.g. '', '-1j' while a Pauli string is 1 or more characters of 'I', 'X', 'Y' or 'Z',
177
- e.g. 'Z', 'XIYY'.
175
+ (e.g. ``'XYZ', '-iZIZ'``) where a phase string is a combination of at most three
176
+ characters from ``['+', '-', '']``, ``['1', '']``, and ``['i', 'j', '']`` in this order,
177
+ e.g. ``''``, ``'-1j'`` while a Pauli string is 1 or more
178
+ characters of ``'I'``, ``'X'``, ``'Y'``, or ``'Z'``,
179
+ e.g. ``'Z'``, ``'XIYY'``.
178
180
 
179
181
  Raises:
180
182
  QiskitError: if input array is invalid shape.
@@ -156,7 +156,7 @@ def generate_basic_approximations(
156
156
  data = {}
157
157
  for sequence in sequences:
158
158
  gatestring = sequence.name
159
- data[gatestring] = sequence.product
159
+ data[gatestring] = (sequence.product, sequence.global_phase)
160
160
 
161
161
  np.save(filename, data)
162
162
 
@@ -16,8 +16,6 @@ from __future__ import annotations
16
16
 
17
17
  import numpy as np
18
18
 
19
- from qiskit.circuit.gate import Gate
20
-
21
19
  from .gate_sequence import GateSequence
22
20
  from .commutator_decompose import commutator_decompose
23
21
  from .generate_basis_approximations import generate_basic_approximations, _1q_gates, _1q_inverses
@@ -53,14 +51,19 @@ class SolovayKitaevDecomposition:
53
51
 
54
52
  self.basic_approximations = self.load_basic_approximations(basic_approximations)
55
53
 
56
- def load_basic_approximations(self, data: list | str | dict) -> list[GateSequence]:
54
+ @staticmethod
55
+ def load_basic_approximations(data: list | str | dict) -> list[GateSequence]:
57
56
  """Load basic approximations.
58
57
 
59
58
  Args:
60
59
  data: If a string, specifies the path to the file from where to load the data.
61
- If a dictionary, directly specifies the decompositions as ``{gates: matrix}``.
62
- There ``gates`` are the names of the gates producing the SO(3) matrix ``matrix``,
63
- e.g. ``{"h t": np.array([[0, 0.7071, -0.7071], [0, -0.7071, -0.7071], [-1, 0, 0]]}``.
60
+ If a dictionary, directly specifies the decompositions as ``{gates: matrix}``
61
+ or ``{gates: (matrix, global_phase)}``. There, ``gates`` are the names of the gates
62
+ producing the SO(3) matrix ``matrix``, e.g.
63
+ ``{"h t": np.array([[0, 0.7071, -0.7071], [0, -0.7071, -0.7071], [-1, 0, 0]]}``
64
+ and the ``global_phase`` can be given to account for a global phase difference
65
+ between the U(2) matrix of the quantum gates and the stored SO(3) matrix.
66
+ If not given, the ``global_phase`` will be assumed to be 0.
64
67
 
65
68
  Returns:
66
69
  A list of basic approximations as type ``GateSequence``.
@@ -74,13 +77,20 @@ class SolovayKitaevDecomposition:
74
77
 
75
78
  # if a file, load the dictionary
76
79
  if isinstance(data, str):
77
- data = np.load(data, allow_pickle=True)
80
+ data = np.load(data, allow_pickle=True).item()
78
81
 
79
82
  sequences = []
80
- for gatestring, matrix in data.items():
83
+ for gatestring, matrix_and_phase in data.items():
84
+ if isinstance(matrix_and_phase, tuple):
85
+ matrix, global_phase = matrix_and_phase
86
+ else:
87
+ matrix, global_phase = matrix_and_phase, 0
88
+
81
89
  sequence = GateSequence()
82
90
  sequence.gates = [_1q_gates[element] for element in gatestring.split()]
91
+ sequence.labels = [gate.name for gate in sequence.gates]
83
92
  sequence.product = np.asarray(matrix)
93
+ sequence.global_phase = global_phase
84
94
  sequences.append(sequence)
85
95
 
86
96
  return sequences
@@ -157,14 +167,14 @@ class SolovayKitaevDecomposition:
157
167
  w_n1 = self._recurse(w_n, n - 1, check_input=check_input)
158
168
  return v_n1.dot(w_n1).dot(v_n1.adjoint()).dot(w_n1.adjoint()).dot(u_n1)
159
169
 
160
- def find_basic_approximation(self, sequence: GateSequence) -> Gate:
161
- """Finds gate in ``self._basic_approximations`` that best represents ``sequence``.
170
+ def find_basic_approximation(self, sequence: GateSequence) -> GateSequence:
171
+ """Find ``GateSequence`` in ``self._basic_approximations`` that approximates ``sequence``.
162
172
 
163
173
  Args:
164
- sequence: The gate to find the approximation to.
174
+ sequence: ``GateSequence`` to find the approximation to.
165
175
 
166
176
  Returns:
167
- Gate in basic approximations that is closest to ``sequence``.
177
+ ``GateSequence`` in ``self._basic_approximations`` that approximates ``sequence``.
168
178
  """
169
179
  # TODO explore using a k-d tree here
170
180
 
@@ -650,8 +650,6 @@ manner to the "physical" qubits in an actual quantum device.
650
650
  .. image:: /source_images/mapping.png
651
651
 
652
652
 
653
-
654
-
655
653
  By default, qiskit will do this mapping for you. The choice of mapping depends on the
656
654
  properties of the circuit, the particular device you are targeting, and the optimization
657
655
  level that is chosen. The choice of initial layout is extremely important for minimizing the
@@ -684,10 +682,12 @@ Next, for the heuristic stage, 2 passes are used by default:
684
682
  :class:`~.SabreLayout` is used to select a layout if a perfect layout isn't found for
685
683
  optimization levels 1, 2, and 3.
686
684
  - :class:`~.TrivialLayout`: Always used for the layout at optimization level 0.
685
+
686
+ There are other passes than can be used for the heuristic stage, but are not included in the default
687
+ pipeline, such as:
688
+
687
689
  - :class:`~.DenseLayout`: Finds the sub-graph of the device with greatest connectivity
688
- that has the same number of qubits as the circuit. Used for
689
- optimization level 1 if there are control flow operations (such as
690
- :class:`~.IfElseOp`) present in the circuit.
690
+ that has the same number of qubits as the circuit.
691
691
 
692
692
  Let's see what layouts are automatically picked at various optimization levels. The circuits
693
693
  returned by :func:`qiskit.compiler.transpile` are annotated with this initial layout information,
@@ -454,7 +454,7 @@ class TranspileLayout:
454
454
  qubits in the circuit as it fits the circuit to the target backend. For example,
455
455
  let the input circuit be:
456
456
 
457
- .. plot:
457
+ .. plot::
458
458
  :include-source:
459
459
 
460
460
  from qiskit.circuit import QuantumCircuit, QuantumRegister
@@ -469,7 +469,7 @@ class TranspileLayout:
469
469
 
470
470
  Suppose that during the layout stage the transpiler reorders the qubits to be:
471
471
 
472
- .. plot:
472
+ .. plot::
473
473
  :include-source:
474
474
 
475
475
  from qiskit import QuantumCircuit
@@ -497,7 +497,7 @@ class TranspileLayout:
497
497
  the transpiler needs to insert swap gates, and the output circuit
498
498
  becomes:
499
499
 
500
- .. plot:
500
+ .. plot::
501
501
  :include-source:
502
502
 
503
503
  from qiskit import QuantumCircuit
@@ -22,6 +22,7 @@ from qiskit.transpiler.passes.optimization.collect_and_collapse import (
22
22
  )
23
23
 
24
24
  from qiskit.quantum_info.operators import Clifford
25
+ from qiskit.quantum_info.operators.symplectic.clifford_circuits import _BASIS_1Q, _BASIS_2Q
25
26
 
26
27
 
27
28
  class CollectCliffords(CollectAndCollapse):
@@ -69,21 +70,11 @@ class CollectCliffords(CollectAndCollapse):
69
70
  )
70
71
 
71
72
 
72
- clifford_gate_names = [
73
- "x",
74
- "y",
75
- "z",
76
- "h",
77
- "s",
78
- "sdg",
79
- "cx",
80
- "cy",
81
- "cz",
82
- "swap",
83
- "clifford",
84
- "linear_function",
85
- "pauli",
86
- ]
73
+ clifford_gate_names = (
74
+ list(_BASIS_1Q.keys())
75
+ + list(_BASIS_2Q.keys())
76
+ + ["clifford", "linear_function", "pauli", "permutation"]
77
+ )
87
78
 
88
79
 
89
80
  def _is_clifford_gate(node):
@@ -51,7 +51,11 @@ class FindCommutingPauliEvolutions(TransformationPass):
51
51
  sub_dag = self._decompose_to_2q(dag, node.op)
52
52
 
53
53
  block_op = Commuting2qBlock(set(sub_dag.op_nodes()))
54
- wire_order = {wire: idx for idx, wire in enumerate(dag.qubits)}
54
+ wire_order = {
55
+ wire: idx
56
+ for idx, wire in enumerate(sub_dag.qubits)
57
+ if wire not in sub_dag.idle_wires()
58
+ }
55
59
  dag.replace_block_with_op([node], block_op, wire_order)
56
60
 
57
61
  return dag
@@ -49,6 +49,7 @@ from qiskit.circuit.library.standard_gates import (
49
49
  CZGate,
50
50
  RXXGate,
51
51
  RZXGate,
52
+ RZZGate,
52
53
  ECRGate,
53
54
  )
54
55
  from qiskit.transpiler.passes.synthesis import plugin
@@ -744,6 +745,8 @@ class DefaultUnitarySynthesis(plugin.UnitarySynthesisPlugin):
744
745
  op = RXXGate(pi / 2)
745
746
  elif isinstance(op, RZXGate) and isinstance(op.params[0], Parameter):
746
747
  op = RZXGate(pi / 4)
748
+ elif isinstance(op, RZZGate) and isinstance(op.params[0], Parameter):
749
+ op = RZZGate(pi / 2)
747
750
  return op
748
751
 
749
752
  try:
@@ -96,8 +96,8 @@ def generate_preset_pass_manager(
96
96
  ):
97
97
  """Generate a preset :class:`~.PassManager`
98
98
 
99
- This function is used to quickly generate a preset pass manager. A preset pass
100
- manager are the default pass managers used by the :func:`~.transpile`
99
+ This function is used to quickly generate a preset pass manager. Preset pass
100
+ managers are the default pass managers used by the :func:`~.transpile`
101
101
  function. This function provides a convenient and simple method to construct
102
102
  a standalone :class:`~.PassManager` object that mirrors what the :func:`~.transpile`
103
103
  function internally builds and uses.
@@ -50,6 +50,7 @@ __all__ = ["Bloch"]
50
50
 
51
51
  import math
52
52
  import os
53
+ import re
53
54
  import numpy as np
54
55
  import matplotlib
55
56
  import matplotlib.pyplot as plt
@@ -60,6 +61,47 @@ from mpl_toolkits.mplot3d.art3d import Patch3D
60
61
  from .utils import matplotlib_close_if_inline
61
62
 
62
63
 
64
+ # This version pattern is taken from the pypa packaging project:
65
+ # https://github.com/pypa/packaging/blob/21.3/packaging/version.py#L223-L254
66
+ # which is dual licensed Apache 2.0 and BSD see the source for the original
67
+ # authors and other details
68
+ VERSION_PATTERN = (
69
+ "^"
70
+ + r"""
71
+ v?
72
+ (?:
73
+ (?:(?P<epoch>[0-9]+)!)? # epoch
74
+ (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
75
+ (?P<pre> # pre-release
76
+ [-_\.]?
77
+ (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
78
+ [-_\.]?
79
+ (?P<pre_n>[0-9]+)?
80
+ )?
81
+ (?P<post> # post release
82
+ (?:-(?P<post_n1>[0-9]+))
83
+ |
84
+ (?:
85
+ [-_\.]?
86
+ (?P<post_l>post|rev|r)
87
+ [-_\.]?
88
+ (?P<post_n2>[0-9]+)?
89
+ )
90
+ )?
91
+ (?P<dev> # dev release
92
+ [-_\.]?
93
+ (?P<dev_l>dev)
94
+ [-_\.]?
95
+ (?P<dev_n>[0-9]+)?
96
+ )?
97
+ )
98
+ (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
99
+ """
100
+ + "$"
101
+ )
102
+ VERSION_PATTERN_REGEX = re.compile(VERSION_PATTERN, re.VERBOSE | re.IGNORECASE)
103
+
104
+
63
105
  class Arrow3D(Patch3D, FancyArrowPatch):
64
106
  """Makes a fancy arrow"""
65
107
 
@@ -419,7 +461,8 @@ class Bloch:
419
461
  self.fig = plt.figure(figsize=self.figsize)
420
462
 
421
463
  if not self._ext_axes:
422
- if tuple(int(x) for x in matplotlib.__version__.split(".")) >= (3, 4, 0):
464
+ version_match = VERSION_PATTERN_REGEX.search(matplotlib.__version__)
465
+ if tuple(int(x) for x in version_match.group("release").split(".")) >= (3, 4, 0):
423
466
  self.axes = Axes3D(
424
467
  self.fig, azim=self.view[0], elev=self.view[1], auto_add_to_figure=False
425
468
  )
@@ -174,10 +174,13 @@ def dag_drawer(dag, scale=0.7, filename=None, style="color"):
174
174
  label = register_bit_labels.get(
175
175
  node.wire, f"q_{dag.find_bit(node.wire).index}"
176
176
  )
177
- else:
177
+ elif isinstance(node.wire, Clbit):
178
178
  label = register_bit_labels.get(
179
179
  node.wire, f"c_{dag.find_bit(node.wire).index}"
180
180
  )
181
+ else:
182
+ label = str(node.wire.name)
183
+
181
184
  n["label"] = label
182
185
  n["color"] = "black"
183
186
  n["style"] = "filled"
@@ -187,10 +190,12 @@ def dag_drawer(dag, scale=0.7, filename=None, style="color"):
187
190
  label = register_bit_labels.get(
188
191
  node.wire, f"q[{dag.find_bit(node.wire).index}]"
189
192
  )
190
- else:
193
+ elif isinstance(node.wire, Clbit):
191
194
  label = register_bit_labels.get(
192
195
  node.wire, f"c[{dag.find_bit(node.wire).index}]"
193
196
  )
197
+ else:
198
+ label = str(node.wire.name)
194
199
  n["label"] = label
195
200
  n["color"] = "black"
196
201
  n["style"] = "filled"
@@ -203,8 +208,10 @@ def dag_drawer(dag, scale=0.7, filename=None, style="color"):
203
208
  e = {}
204
209
  if isinstance(edge, Qubit):
205
210
  label = register_bit_labels.get(edge, f"q_{dag.find_bit(edge).index}")
206
- else:
211
+ elif isinstance(edge, Clbit):
207
212
  label = register_bit_labels.get(edge, f"c_{dag.find_bit(edge).index}")
213
+ else:
214
+ label = str(edge.name)
208
215
  e["label"] = label
209
216
  return e
210
217
 
@@ -176,7 +176,7 @@ def staged_pass_manager_drawer(pass_manager, filename=None, style=None, raw=Fals
176
176
  stage = getattr(pass_manager, st)
177
177
 
178
178
  if stage is not None:
179
- stagegraph = pydot.Cluster(str(st), label=str(st), fontname="helvetica", labeljust="l")
179
+ stagegraph = pydot.Cluster(str(st), fontname="helvetica", label=str(st), labeljust="l")
180
180
  for controller_group in stage.to_flow_controller().tasks:
181
181
  subgraph, component_id, prev_node = draw_subgraph(
182
182
  controller_group, component_id, style, prev_node, idx
@@ -201,7 +201,7 @@ def draw_subgraph(controller_group, component_id, style, prev_node, idx):
201
201
  label += f"{controller_group.__class__.__name__}"
202
202
 
203
203
  # create the subgraph for this controller
204
- subgraph = pydot.Cluster(str(component_id), label=label, fontname="helvetica", labeljust="l")
204
+ subgraph = pydot.Cluster(str(component_id), fontname="helvetica", label=label, labeljust="l")
205
205
  component_id += 1
206
206
 
207
207
  if isinstance(controller_group, BaseController):
@@ -233,19 +233,19 @@ def draw_subgraph(controller_group, component_id, style, prev_node, idx):
233
233
  # TODO recursively inject subgraph into subgraph
234
234
  node = pydot.Node(
235
235
  str(component_id),
236
- label="Nested flow controller",
237
236
  color="k",
238
- shape="rectangle",
239
237
  fontname="helvetica",
238
+ label="Nested flow controller",
239
+ shape="rectangle",
240
240
  )
241
241
  else:
242
242
  # label is the name of the pass
243
243
  node = pydot.Node(
244
244
  str(component_id),
245
- label=str(type(task).__name__),
246
245
  color=_get_node_color(task, style),
247
- shape="rectangle",
248
246
  fontname="helvetica",
247
+ label=str(type(task).__name__),
248
+ shape="rectangle",
249
249
  )
250
250
 
251
251
  subgraph.add_node(node)
@@ -268,12 +268,12 @@ def draw_subgraph(controller_group, component_id, style, prev_node, idx):
268
268
 
269
269
  input_node = pydot.Node(
270
270
  component_id,
271
- label=arg,
272
271
  color="black",
273
- shape="ellipse",
272
+ fontname="helvetica",
274
273
  fontsize=10,
274
+ label=arg,
275
+ shape="ellipse",
275
276
  style=nd_style,
276
- fontname="helvetica",
277
277
  )
278
278
  subgraph.add_node(input_node)
279
279
  component_id += 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qiskit
3
- Version: 1.1.1
3
+ Version: 1.1.2
4
4
  Summary: An open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
5
5
  Author-email: Qiskit Development Team <qiskit@us.ibm.com>
6
6
  License: Apache 2.0
@@ -28,29 +28,29 @@ Classifier: Topic :: Scientific/Engineering
28
28
  Requires-Python: >=3.8
29
29
  Description-Content-Type: text/markdown
30
30
  License-File: LICENSE.txt
31
- Requires-Dist: rustworkx >=0.14.0
32
- Requires-Dist: numpy <3,>=1.17
33
- Requires-Dist: scipy >=1.5
34
- Requires-Dist: sympy >=1.3
35
- Requires-Dist: dill >=0.3
36
- Requires-Dist: python-dateutil >=2.8.0
37
- Requires-Dist: stevedore >=3.0.0
31
+ Requires-Dist: rustworkx>=0.14.0
32
+ Requires-Dist: numpy<3,>=1.17
33
+ Requires-Dist: scipy>=1.5
34
+ Requires-Dist: sympy>=1.3
35
+ Requires-Dist: dill>=0.3
36
+ Requires-Dist: python-dateutil>=2.8.0
37
+ Requires-Dist: stevedore>=3.0.0
38
38
  Requires-Dist: typing-extensions
39
- Requires-Dist: symengine >=0.11
39
+ Requires-Dist: symengine>=0.11
40
40
  Provides-Extra: all
41
- Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization] ; extra == 'all'
41
+ Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization]; extra == "all"
42
42
  Provides-Extra: crosstalk-pass
43
- Requires-Dist: z3-solver >=4.7 ; extra == 'crosstalk-pass'
43
+ Requires-Dist: z3-solver>=4.7; extra == "crosstalk-pass"
44
44
  Provides-Extra: csp-layout-pass
45
- Requires-Dist: python-constraint >=1.4 ; extra == 'csp-layout-pass'
45
+ Requires-Dist: python-constraint>=1.4; extra == "csp-layout-pass"
46
46
  Provides-Extra: qasm3-import
47
- Requires-Dist: qiskit-qasm3-import >=0.1.0 ; extra == 'qasm3-import'
47
+ Requires-Dist: qiskit-qasm3-import>=0.1.0; extra == "qasm3-import"
48
48
  Provides-Extra: visualization
49
- Requires-Dist: matplotlib >=3.3 ; extra == 'visualization'
50
- Requires-Dist: pydot ; extra == 'visualization'
51
- Requires-Dist: Pillow >=4.2.1 ; extra == 'visualization'
52
- Requires-Dist: pylatexenc >=1.4 ; extra == 'visualization'
53
- Requires-Dist: seaborn >=0.9.0 ; extra == 'visualization'
49
+ Requires-Dist: matplotlib>=3.3; extra == "visualization"
50
+ Requires-Dist: pydot; extra == "visualization"
51
+ Requires-Dist: Pillow>=4.2.1; extra == "visualization"
52
+ Requires-Dist: pylatexenc>=1.4; extra == "visualization"
53
+ Requires-Dist: seaborn>=0.9.0; extra == "visualization"
54
54
 
55
55
  # Qiskit
56
56
 
@@ -1,20 +1,20 @@
1
1
  qiskit/version.py,sha256=MiraFeJt5GQEspFyvP3qJedHen2C1e8dNEttzg0u7YU,2498
2
2
  qiskit/__init__.py,sha256=-V2Nc5jRmFe8T5Xz56voQyKOeaeAEa8VTCHHSMJ_DuI,5088
3
- qiskit/_accelerate.abi3.so,sha256=KbRXw1lLeVqKyaOt9aAAL01tZjebuebBvj4_8kXkwqU,9296242
3
+ qiskit/_accelerate.abi3.so,sha256=DqVrFSHurw90pGTY6ftjz-IT7C_FMYJpd_ocq9XliPE,9283120
4
4
  qiskit/user_config.py,sha256=8pNxf1TlqHcIQoAYHrXKzZpwf2ur92HxQtlc_DUkiEc,9174
5
5
  qiskit/_numpy_compat.py,sha256=0zvOTOgoP-YLumVe0x7dYNt68jdaR6xQ0IEmsyXCft4,2814
6
6
  qiskit/exceptions.py,sha256=78bbfww9680_v4CaNgepavY5DwGTN7_j47Ckob3lLPM,5619
7
- qiskit/VERSION.txt,sha256=zFL2eISLgUNzdXtGA4O_YZYOSUPCA3Na3eCjULPlCYk,6
7
+ qiskit/VERSION.txt,sha256=dxI7jkvb1UUFv26AIVJ6xgKBYCoG_jB1ZFMsTbo528o,6
8
8
  qiskit/visualization/circuit_visualization.py,sha256=6R-A96Uwb_RZOovsSB0LGVsC7lP5IhtLNp6VP2yVBwE,698
9
9
  qiskit/visualization/counts_visualization.py,sha256=rgoEqV0gucL9Auz33wf1LiRWR3yFQzjK94zzBF830iY,16791
10
- qiskit/visualization/pass_manager_visualization.py,sha256=tSY5Tg_DSPUHYFfplvmK-TUojgL_EMhi2D7zhrP9ycw,11220
10
+ qiskit/visualization/pass_manager_visualization.py,sha256=ng5koUMIFfEYU-PsOmvs_4eawOJyFXJzUlxDF1Kedyk,11220
11
11
  qiskit/visualization/state_visualization.py,sha256=zHd-QX_WsHIiivqmNQK6pp86KxR2sqwYrU4qKaSoyQc,52232
12
12
  qiskit/visualization/library.py,sha256=oCzruZqrshriwA17kSfCeY0ujZehr6WZnWvZNmvUw7g,1295
13
- qiskit/visualization/bloch.py,sha256=5qBRMdwnM8kjNaJY1in3ORZrlmy6uwxW1IF0V9LRVmk,29058
13
+ qiskit/visualization/bloch.py,sha256=ODJAO9M4BRJTu-UtwOGaUk_86G18ZHWIEC-i_AXMVoc,30458
14
14
  qiskit/visualization/transition_visualization.py,sha256=Cnb6Itg_0KHFVZft2Z9DiSc_fDkIhJOUg94PR_KUbY8,12171
15
15
  qiskit/visualization/gate_map.py,sha256=5Doji9QG_rcx_MQPp9dCXX7Rc7H-3yoqUaW2yPYkbxQ,36392
16
16
  qiskit/visualization/__init__.py,sha256=HPgzHp8pY3wXCLYnEKla1YiMMjHbjM6suvJcV4pVmw8,7645
17
- qiskit/visualization/dag_visualization.py,sha256=SrrQ2egjnBZdFPrr61RxPh0aUl4R89qVIRtztul3h6c,8774
17
+ qiskit/visualization/dag_visualization.py,sha256=Vy8eIDWbQh8NvDg_0-aW4Z0GXBeIPCI3-bkl69hpY-A,9070
18
18
  qiskit/visualization/utils.py,sha256=OPB2TA5SCZk19mhuUcm8RdrXzJfPX3A_Cu-Aoouw0a4,1776
19
19
  qiskit/visualization/exceptions.py,sha256=XPB9Z5EUJiAbYjCW6WX7TxEg0AKcw3av1xV0jywRRrY,682
20
20
  qiskit/visualization/array.py,sha256=EMatkIJjuvpJopOINM1ahRbt0DfnOCpBSAmZIEFdQ0E,7924
@@ -61,9 +61,9 @@ qiskit/visualization/timeline/plotters/base_plotter.py,sha256=1do-sZjHjUzqh3HI3M
61
61
  qiskit/visualization/timeline/plotters/matplotlib.py,sha256=Ihybu3Cr6aLeUxH3mROZVUYKruj5Jp8eDDveQsRYm9k,6951
62
62
  qiskit/visualization/timeline/plotters/__init__.py,sha256=3uM5AgCcqxqBHhslUGjjmqEL6Q04hVSGvl3d2bsUtTI,572
63
63
  qiskit/transpiler/timing_constraints.py,sha256=TAFuarfaeLdH4AdWO1Cexv7jo8VC8IGhAOPYTDLBFdE,2382
64
- qiskit/transpiler/layout.py,sha256=MOr3v2o82L4XkWltH5G9ZyJfF4PsrqIrNxuwJ7imuvM,28081
64
+ qiskit/transpiler/layout.py,sha256=FhsoZxKDJ-i9j-DVCKzzmuSPtaDhu3dHDLxwJVTO3fY,28084
65
65
  qiskit/transpiler/coupling.py,sha256=C7EoGfItd9cJDx79KJxCdsdwK5IZ4ME5LXARxGNZPFQ,18609
66
- qiskit/transpiler/__init__.py,sha256=hGp7P1YU2Px07J6eE09qxmaj6W4Ojz0dbLON55gS9u4,48688
66
+ qiskit/transpiler/__init__.py,sha256=aAjL8q9arfgCwbhM3VgPU-_Jmx2153JCH2QD2QJ3epw,48683
67
67
  qiskit/transpiler/basepasses.py,sha256=s6Av22HpFL2ll5YSjx89oAOz2VowJMXr8j7gqujTcUc,8769
68
68
  qiskit/transpiler/passmanager.py,sha256=pRw9VgLQgiVY-me35krHZu7cFTUvbc7-r2mbUZ7dF0E,20198
69
69
  qiskit/transpiler/passmanager_config.py,sha256=W0Vi73vGspwn6Z8jwUeiU3CZQdbFBbyYt1a2fgjpbko,9220
@@ -143,7 +143,7 @@ qiskit/transpiler/passes/optimization/remove_reset_in_zero_state.py,sha256=xE5ok
143
143
  qiskit/transpiler/passes/optimization/cx_cancellation.py,sha256=EbwBAEM751bO4c5mJgJ0nYJ2TyPJM12Kl30SgHqJ1eQ,2336
144
144
  qiskit/transpiler/passes/optimization/normalize_rx_angle.py,sha256=23ZddjkU924Yc7hLCXKOCmMCkHVGvaueEg8OYBbQvV4,6255
145
145
  qiskit/transpiler/passes/optimization/commutative_cancellation.py,sha256=zJSmCN1OvvChdODCYDlPnM76m1EpbJRWYFRWRNTdmkk,9137
146
- qiskit/transpiler/passes/optimization/collect_cliffords.py,sha256=lWJ8AZ47Zn7PT9o7z5HF3pQ_ghauXEaO2j4ygZNc90o,3014
146
+ qiskit/transpiler/passes/optimization/collect_cliffords.py,sha256=EYi7j6iDQyMLwGiex4FhbIc6t92xkeTgwN6K_lWwkNw,3074
147
147
  qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py,sha256=jPTWmAaFVCSRD0fF5yJs7VH6byHnynie7r0xX2WXgp0,9838
148
148
  qiskit/transpiler/passes/optimization/inverse_cancellation.py,sha256=T-2k7AkTZfj1H1NQP6zz-75jgn7YLxo10aHRWGdh8bI,6848
149
149
  qiskit/transpiler/passes/optimization/_gate_extension.py,sha256=_rOObudQUvzSnaa9wAYbdKX7ZVc-vpazKc4pSWhXICw,3306
@@ -184,7 +184,7 @@ qiskit/transpiler/passes/synthesis/__init__.py,sha256=VYO9Sl_SJyoZ_bLronrkvK9u8k
184
184
  qiskit/transpiler/passes/synthesis/plugin.py,sha256=99Nx6lQwfc6mEohDA0Pnqz9NO9zuRMSgwcghrFi26N0,30829
185
185
  qiskit/transpiler/passes/synthesis/linear_functions_synthesis.py,sha256=Q1r-52HMETK_7iWTMmJKGU39rNws-MrmGDHh7TgQVj4,1407
186
186
  qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=7fgQAVI-wOEF51VnxwXPdGbIfmV0KT89cQ5LrvEEv_4,40693
187
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py,sha256=DVZPFSdpyDvD_Rg2uTDhZRqF4CKtVV15WjNVpoewdzE,43509
187
+ qiskit/transpiler/passes/synthesis/unitary_synthesis.py,sha256=jfZfLfnYS12rm5a8FCFFn4g-MQXtc6CrsBRZrywiOm8,43641
188
188
  qiskit/transpiler/passes/synthesis/aqc_plugin.py,sha256=SDgHqcCHR0hON50ckSHQDrVnBzOc-I7hYibE6r6oaB8,5343
189
189
  qiskit/transpiler/passes/routing/__init__.py,sha256=SHAsTgVHmWlf1wp9WirLqN5kz9HOK-RkwjOxX4qzMMQ,942
190
190
  qiskit/transpiler/passes/routing/layout_transformation.py,sha256=RdwvDw6zxPZeofX9QPbMqRBPZ_hB7KVxgOm0dX3_MoA,4640
@@ -195,7 +195,7 @@ qiskit/transpiler/passes/routing/lookahead_swap.py,sha256=o4Itq4BsYk6LeqPzCJgttk
195
195
  qiskit/transpiler/passes/routing/sabre_swap.py,sha256=c3b7op4UChjIAmns-eynqWQB2a7qs3mEkSRylrUy9Qk,18718
196
196
  qiskit/transpiler/passes/routing/stochastic_swap.py,sha256=PfuqrnDr-1ca3nyDol_M75743JoxYW-FfBQsA8oikZ0,23054
197
197
  qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_block.py,sha256=LihCUwM6kX9J5e_52grD8iyOuvNDEgxcVREib5CtO74,2012
198
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/pauli_2q_evolution_commutation.py,sha256=hvNKABT8Rfn6QIyCFvv9M1qSGCgXJL1WJBlovcnCIrE,4999
198
+ qiskit/transpiler/passes/routing/commuting_2q_gate_routing/pauli_2q_evolution_commutation.py,sha256=y7FbjU3Yu3cUa4G5AeKa48hDM1pyZK8f61F6zNdNFsY,5133
199
199
  qiskit/transpiler/passes/routing/commuting_2q_gate_routing/__init__.py,sha256=9EmiNpQaoMwMwmQCFLASmR3xaIc5LRbxnAA9_IH3rGc,1230
200
200
  qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py,sha256=HIpQAWFUUmDdrdINjWCd0vYE4746pZ9Ry8FNBxyH3zg,17762
201
201
  qiskit/transpiler/passes/routing/commuting_2q_gate_routing/swap_strategy.py,sha256=u271dRCx8Y3DErXQzyWTbzhdaGQXo6GudA_AOlHF75U,12349
@@ -211,7 +211,7 @@ qiskit/transpiler/passes/basis/basis_translator.py,sha256=DJ4egY2GLqJVwNBuoW_GIn
211
211
  qiskit/transpiler/passes/basis/unroll_custom_definitions.py,sha256=dsxj95JOPYRAUOH7dIEczW4QTyhlOhrkuIrOxn4orU4,4391
212
212
  qiskit/transpiler/preset_passmanagers/builtin_plugins.py,sha256=2tUf6kD4tL0wHSoMNoY6tnrAErGck35hXRpV_WcQG9E,40137
213
213
  qiskit/transpiler/preset_passmanagers/level0.py,sha256=bE5Md9gV1x_0kPSO2Ni0FUJBCNaFLrWDGRsz1rLBzKY,4282
214
- qiskit/transpiler/preset_passmanagers/__init__.py,sha256=BibMCItzU_s39z6Up0Tjv13FTo1YH3xDsL-GW_aoqyo,14979
214
+ qiskit/transpiler/preset_passmanagers/__init__.py,sha256=eDSbIPySkWM2wkUBNqJdyiiUu7DkayOcKrbOpmoITL0,14978
215
215
  qiskit/transpiler/preset_passmanagers/level1.py,sha256=15OG8az6JecM-3CjyFNgIrTL8HW_2hiFRmoZvpu8c_k,4806
216
216
  qiskit/transpiler/preset_passmanagers/common.py,sha256=3jSJXTfgcGUvHoGKphfuPW301Ai3TBI504rVszeuX24,25918
217
217
  qiskit/transpiler/preset_passmanagers/level2.py,sha256=Bt0EAyreXQb5cxAR6JF_4XoieaJVwi2qO5UyxYSHZiY,4731
@@ -273,7 +273,7 @@ qiskit/circuit/controlledgate.py,sha256=tvn9yyfLJcgGJOvjld42ZPQprQPSw5FTAqAZOju4
273
273
  qiskit/circuit/bit.py,sha256=CRVp2JMA65QjktYSH3JzF6zmGqefOc1-ksGjswgmORc,3124
274
274
  qiskit/circuit/exceptions.py,sha256=QoT6kFuoVLe6lWUlTKkSMWufVtyfDCgaUe1kyv79WAY,691
275
275
  qiskit/circuit/equivalence_library.py,sha256=7f2T6c7sbDWaVQNVALNJL0olLVFZmHgA9xzcy7_FdDQ,708
276
- qiskit/circuit/quantumcircuit.py,sha256=nZ6O3H86UMH3KSJYJfGjeK3r8unt3uFQjOM7epoQqeI,292825
276
+ qiskit/circuit/quantumcircuit.py,sha256=HEwR-07dcu-rA4wYuDTYRJlg2cD6yDfQa2blbcq7dHI,292897
277
277
  qiskit/circuit/_standard_gates_commutations.py,sha256=6lsU_f27w7T1r0vPqT3IgiGF8IXxKthwtYgG4sbuFg4,85750
278
278
  qiskit/circuit/instruction.py,sha256=bpnwR3lJu5UvFi70TK1tFREzJhVlj4dGhnB2UwD5s4Y,24557
279
279
  qiskit/circuit/equivalence.py,sha256=Ld7dZHiJ-I-jlLIoJBVsWYRkobK9g8jPFe7InGO2wUo,11287
@@ -283,7 +283,7 @@ qiskit/circuit/_utils.py,sha256=BvlI7n1xUJ0kOgRykfgAzhzXTHEtQd9LNYQIqMcIP08,6927
283
283
  qiskit/circuit/commutation_library.py,sha256=uoghnYE4cdFMb-Yiwpe01iVSNYIZkzJI8slulUWDmwg,850
284
284
  qiskit/circuit/classicalfunction/classical_element.py,sha256=a1YkLC2mckF9LjVx_ft2uZSO06GGL_0EgU08yYko88s,1834
285
285
  qiskit/circuit/classicalfunction/classical_function_visitor.py,sha256=F56IahWr3AvYoyIMTGJsoyXqkYvLH0-WlhuhfII9NPA,6026
286
- qiskit/circuit/classicalfunction/__init__.py,sha256=-ILPBBNtQAhtjofjDjp4n_Mna70rqaMQgP0tzQDtrzo,4008
286
+ qiskit/circuit/classicalfunction/__init__.py,sha256=4RvA-WLTwneaydzchLK1RKjjMuwrBq3MzRfyDObhyeM,4334
287
287
  qiskit/circuit/classicalfunction/boolean_expression.py,sha256=jDeVtPVjozAnFSnyQ1b-e-b621SDTMcAePscxNIBKh4,4840
288
288
  qiskit/circuit/classicalfunction/types.py,sha256=QqLAIlxEdem9RwO2nKLswVvf67PJEfbViCnNiw28Pic,604
289
289
  qiskit/circuit/classicalfunction/utils.py,sha256=reQtD-3tVLNBPB5k75jGfb0ulwE-pWxofMVYx5fnx8A,2940
@@ -362,7 +362,7 @@ qiskit/circuit/library/standard_gates/r.py,sha256=DKfy98MW6LQ-qN5fNxyXKKS2p4c2GX
362
362
  qiskit/circuit/library/standard_gates/swap.py,sha256=RqqAMg_kejCFqVhjHVZC-7t-raP-vj0prJvejkQb3Kg,8771
363
363
  qiskit/circuit/library/standard_gates/y.py,sha256=egrXVM2-yM-Zwm7bnHWbk0PkkxvQ1rHd5dUhWE0OKgk,7750
364
364
  qiskit/circuit/library/standard_gates/__init__.py,sha256=BI6SQ9xb2FdKjWRKTum1Q3Ux-jDJLP7sWoiE_ivaFQo,3730
365
- qiskit/circuit/library/standard_gates/x.py,sha256=-SSavQ-JY1i6r0oqi5XS5X96JgyrebWmWXu3VkRwHHM,51793
365
+ qiskit/circuit/library/standard_gates/x.py,sha256=Hq3iSJOvZHZYp1-LiCUaVZrDkzbJHr7RlpQA3xNDs5E,51936
366
366
  qiskit/circuit/library/standard_gates/global_phase.py,sha256=0mrldoLjY2U0s7mrdF_bCt5cyJGsXDFNffu7QFmSB2c,2810
367
367
  qiskit/circuit/library/standard_gates/rzz.py,sha256=xwcvNn7AEpz0V9t0UiRcBspUGZyUolzJY3Mbl6mBkLs,5166
368
368
  qiskit/circuit/library/standard_gates/xx_minus_yy.py,sha256=T8CgJxr4WhAczGf3v88menKr9O5jh-RohVjjUnKcy2Y,6771
@@ -503,7 +503,7 @@ qiskit/providers/fake_provider/fake_1q.py,sha256=pzBYc48EvR1-9OfdivBMPBF8VHD6uSg
503
503
  qiskit/providers/fake_provider/fake_backend.py,sha256=AFmLFMk6lTD6PsMA72Xu3USyCp2kaml_dEXtDQ00f2g,5682
504
504
  qiskit/providers/fake_provider/__init__.py,sha256=uYrGKlJgnTxhe1qFRYNArWVv8JMYgv7ZglWr6ozvt3U,2899
505
505
  qiskit/providers/fake_provider/fake_pulse_backend.py,sha256=vIVfM6yIIWiZ0Elo_pYaBizCTEOdZtySV2abFPtn-UI,1446
506
- qiskit/providers/fake_provider/generic_backend_v2.py,sha256=c2X4yMjQ_fM4HMTHBQlmsvAlDx8U-RqfMXo1wXVBumg,25368
506
+ qiskit/providers/fake_provider/generic_backend_v2.py,sha256=DDi0fMKZp41SUtT0eQTQ5coJIZlpK06wmDlSM3ndFfw,25621
507
507
  qiskit/providers/fake_provider/fake_qasm_backend.py,sha256=fxms3OVSOsKjaFTI53zWGJuFX3SW_jwwJP38kXCLXtE,2296
508
508
  qiskit/providers/fake_provider/fake_openpulse_3q.py,sha256=bty8lGnTRrhYDrz6xbGM2QcLF6-qhwsVhw9TtHOs66s,15296
509
509
  qiskit/providers/fake_provider/fake_openpulse_2q.py,sha256=iFUCDyWUWEdcURR_bayR328PnG1Xu5rF7rL_CneLl9w,16323
@@ -558,7 +558,7 @@ qiskit/pulse/macros.py,sha256=GrvLysMSZENzhsk2JvWxKQWyFzrm0UQE9SCS5lR6xy4,10707
558
558
  qiskit/pulse/exceptions.py,sha256=TRLIXtga3yaOqLr6ZEfL8LlFZyO4XEMnWVjhY2M4ItA,1279
559
559
  qiskit/pulse/channels.py,sha256=0mdKXpU3nIZrYNF6645rI70rdI0tglL9NHMDmNqk6ME,7435
560
560
  qiskit/pulse/reference_manager.py,sha256=Zetcf3osTMPqGcgWNkRl4JXMLiUVaNPtIhaVZVsYiSc,2045
561
- qiskit/pulse/schedule.py,sha256=-T_XlwXjbgYMRz3ILyIXT3DENuvh3GBZvwWvz8wHDDE,73133
561
+ qiskit/pulse/schedule.py,sha256=uiZXNDSuvz_NmTa9CEAlGvA4-8AtwDIhNmd1Lc-scYk,73149
562
562
  qiskit/pulse/filters.py,sha256=vNodu-QJfG3eJvq4llWlMOnc_bJ5lxAK757HOPS-pTM,10208
563
563
  qiskit/pulse/instructions/phase.py,sha256=496jJZT7FTURbF4CVjkN1SLEqPDZyBaz5EM8NsFzUZ4,5211
564
564
  qiskit/pulse/instructions/frequency.py,sha256=quGhzkybIGSWpy8MzNG-1holposRHjiRgdkvPD7mSoQ,4440
@@ -601,7 +601,7 @@ qiskit/dagcircuit/dagdependency_v2.py,sha256=3ICFx6dJJqCRt6F--kJs5o69Ana3oZ8N6Xh
601
601
  qiskit/dagcircuit/__init__.py,sha256=_EqnZKmQ3CdSov9QQDTSYcV21NKMluxy-YKluO9llPE,1192
602
602
  qiskit/dagcircuit/exceptions.py,sha256=Jy8-MnQBLRphHwwE1PAeDfj9HOY70qp7r0k1sC_CiZE,1234
603
603
  qiskit/dagcircuit/dagnode.py,sha256=YUfxidtm48VGxmhxoiPF8d2P7DjPe0fvl986ULRjVYg,12066
604
- qiskit/dagcircuit/dagcircuit.py,sha256=cD6AMewcTRCgx2BbJ6ttwmxKjHqkm1X1MduqfwriCp8,103504
604
+ qiskit/dagcircuit/dagcircuit.py,sha256=31NukGn0iq5PkCl5eGzR26RM2Q604OOBphtA5Pshm2g,103850
605
605
  qiskit/scheduler/config.py,sha256=qiKdqRPRQ2frKJxgXP9mHlz6_KCYrcc6yNvxhG1WVmc,1264
606
606
  qiskit/scheduler/sequence.py,sha256=VTfMT1KVuhsVs5lWED-KLmgHpxA5yocJhUwKogdru7E,3979
607
607
  qiskit/scheduler/lowering.py,sha256=yPpoxxT8AdR6ZBwiUF9g9imrsX0XOnqvsCBPBLE0lDM,8336
@@ -683,10 +683,10 @@ qiskit/synthesis/linear_phase/cnot_phase_synth.py,sha256=PyONT436ehjuJ8MeBXwCWhs
683
683
  qiskit/synthesis/linear_phase/cz_depth_lnn.py,sha256=vr3WdJXL1h4q-ZfSSic2_XpvofxZkNq-vrtEAVvffQ4,6176
684
684
  qiskit/synthesis/linear_phase/__init__.py,sha256=L68gn0ALnVL3H9W83Nwkj0TorHJT-a2lvnJK2Cu62tI,685
685
685
  qiskit/synthesis/discrete_basis/gate_sequence.py,sha256=FLVVnihU8IA1BboTZGk9Wy-08Di3SdiOctjXDSsEKJU,13908
686
- qiskit/synthesis/discrete_basis/generate_basis_approximations.py,sha256=gv0mRXLMZ_1hJX86Ix7Y2dQj4Uy5SNNgRE_zd8ouNSM,5247
686
+ qiskit/synthesis/discrete_basis/generate_basis_approximations.py,sha256=kx1WDTa07wB9VATO2W5HxUQ9YDKd1BZgeSNFVHAFFNY,5272
687
687
  qiskit/synthesis/discrete_basis/__init__.py,sha256=enFeQyxhsY3GD9HtoVPZ-A3DRyjTJJUhrh-yaeD8wD4,656
688
688
  qiskit/synthesis/discrete_basis/commutator_decompose.py,sha256=POPNbXgBAiWivXVLgtTwJV6K_f4hYR3GAoDsc1yehuM,7553
689
- qiskit/synthesis/discrete_basis/solovay_kitaev.py,sha256=IOwa7gb6WI-vNxQb1ll9ta8T9PkqX5jBzCQdERPd5UA,8166
689
+ qiskit/synthesis/discrete_basis/solovay_kitaev.py,sha256=R_Wg73oQuujFXJ0NPuVZgV9lLc3gZU--IUSiqhgzxKk,8822
690
690
  qiskit/primitives/backend_estimator_v2.py,sha256=T4FI4JQpWk0jKlvN-NE3gr-huC5hCjaHcqr2aXr6-pQ,17389
691
691
  qiskit/primitives/backend_estimator.py,sha256=U8vjKB1jJZKvndrok3eDC3N2cMZXeZrQcpDoz4hcVR4,18439
692
692
  qiskit/primitives/statevector_estimator.py,sha256=Q-DQ6YvzhWLUUpEfc9YPkqGOg8HoJCA1BdUIob4Feqk,6631
@@ -706,7 +706,7 @@ qiskit/primitives/containers/bindings_array.py,sha256=1I8rMBRvrMAlLJ7aWNAlHhykSQ
706
706
  qiskit/primitives/containers/__init__.py,sha256=c0z9S5Et_qlbnj4cBfZVdhRFYJmr4L50h0zNSonjfXQ,950
707
707
  qiskit/primitives/containers/estimator_pub.py,sha256=hr4B-q4cctt32NT_DLWDM7Q_zeMxR-qbGkYWljXsVSQ,8130
708
708
  qiskit/primitives/containers/sampler_pub_result.py,sha256=LIU3h3C5-fdnVwtTaWKM-7LurtFLfeaHF5yNSiR9O04,2790
709
- qiskit/primitives/containers/bit_array.py,sha256=sfRXrMjJI-rTD6y3bNEBmK1oxlBPXyNThg6Tbg4haz4,26729
709
+ qiskit/primitives/containers/bit_array.py,sha256=l9gvUbmGH6r7cPn4ER1x9Jiss1c-lS7uNjUXXBgflSk,26916
710
710
  qiskit/primitives/containers/shape.py,sha256=imdlfOIXwJx8655ISpNa06t1KqMC06iBIWCUDKxQGGY,3899
711
711
  qiskit/primitives/containers/pub_result.py,sha256=IIM3jKczU2N4appeY1kh0BftssVD4LcwhbD2J791DTQ,1420
712
712
  qiskit/primitives/containers/observables_array.py,sha256=OAKP7IDwiadZxXqV58wZYX3BA10pdSQ6-uh_sm8OzlY,10198
@@ -777,7 +777,7 @@ qiskit/quantum_info/operators/symplectic/__init__.py,sha256=avNZ9y84Y0x1_hfwZ7dv
777
777
  qiskit/quantum_info/operators/symplectic/clifford.py,sha256=VYHN9yHqePZcYW8xvtO-DC6rPCpTMT7BWvF5xUD1igk,38596
778
778
  qiskit/quantum_info/operators/symplectic/random.py,sha256=84y5EBei5Tpl-aFrkja60m1NtxS-2b82gOEQgWIJOF4,8896
779
779
  qiskit/quantum_info/operators/symplectic/pauli_list.py,sha256=gbzveip-_buT6T2wkGNKsJZ2YzB7XrgeYzAVEafzP7Y,46205
780
- qiskit/quantum_info/operators/symplectic/pauli.py,sha256=omQXOa4PdgxeVxQUnQBwEqnGTOSciQb3DobjMaVdKZQ,28437
780
+ qiskit/quantum_info/operators/symplectic/pauli.py,sha256=Xf_d_uJs3eh5y2Hi50YLquGVfPz15MIBWYL3Jcs9Akk,28546
781
781
  qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py,sha256=7CvVDgyQoPR7gQ4KYeFKGp5NvYfjJ10lL61jr-hvmuo,46917
782
782
  qiskit/quantum_info/operators/dihedral/dihedral_circuits.py,sha256=qlkFv1Xueq8tQ88dC3cSbGLmXu3HT1I0-KVvKucFjlE,8839
783
783
  qiskit/quantum_info/operators/dihedral/dihedral.py,sha256=I7ORwj-sBZtUy0KdcnoY48lFImh5gokudpjWHizpAmI,20341
@@ -810,9 +810,9 @@ qiskit/compiler/__init__.py,sha256=Far4-zXOyDGCqdNmFP4Q8zV47meApMw6sbIdd1t_wM4,9
810
810
  qiskit/compiler/assembler.py,sha256=lj9JUtIyE0J-8NG0kwr5hiVihcj3NJohVw_4-PkhtVs,24341
811
811
  qiskit/compiler/transpiler.py,sha256=Y43KJwBjBSng5YwVX_Y6ha1P5uGmoS0WwKeUMyzfqJA,27502
812
812
  qiskit/compiler/scheduler.py,sha256=K_D6Fx648Xkqlghft03jsKbJEI4gVID0_OylxtfDnbk,4404
813
- qiskit-1.1.1.dist-info/RECORD,,
814
- qiskit-1.1.1.dist-info/WHEEL,sha256=pnArJm6e7uJFOPMQH37QkyNCM-nVY-myS8F9bltZD6g,113
815
- qiskit-1.1.1.dist-info/entry_points.txt,sha256=uQCOTD4Z3t6tvAzZ5Ql1hwGTDdKvYWfW93C8oTvYH80,3301
816
- qiskit-1.1.1.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
817
- qiskit-1.1.1.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
818
- qiskit-1.1.1.dist-info/METADATA,sha256=ghhpWdjFWpdDJwfCy0KlRvz0pZlbOsypLmHhmOHoDGc,12908
813
+ qiskit-1.1.2.dist-info/RECORD,,
814
+ qiskit-1.1.2.dist-info/WHEEL,sha256=lmqPbMnkYfRLFzK4tzuBqPppyHOzdJYfX2reiDko3_0,113
815
+ qiskit-1.1.2.dist-info/entry_points.txt,sha256=uQCOTD4Z3t6tvAzZ5Ql1hwGTDdKvYWfW93C8oTvYH80,3301
816
+ qiskit-1.1.2.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
817
+ qiskit-1.1.2.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
818
+ qiskit-1.1.2.dist-info/METADATA,sha256=PTwmDg7o3CzGuTyGKnPvDS__4c-CBWq-vwquB0DdaUk,12884
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp38-abi3-macosx_10_9_universal2
5
5