qiskit 1.2.1__cp38-abi3-macosx_10_9_universal2.whl → 1.2.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.
- qiskit/VERSION.txt +1 -1
- qiskit/_accelerate.abi3.so +0 -0
- qiskit/circuit/library/pauli_evolution.py +1 -0
- qiskit/dagcircuit/dagcircuit.py +1 -1
- qiskit/primitives/base/base_estimator.py +2 -2
- qiskit/primitives/containers/data_bin.py +9 -1
- qiskit/pulse/builder.py +16 -7
- qiskit/pulse/instructions/directives.py +5 -0
- qiskit/pulse/schedule.py +5 -9
- qiskit/pulse/transforms/alignments.py +3 -1
- qiskit/pulse/transforms/dag.py +7 -0
- qiskit/qasm2/parse.py +29 -0
- qiskit/qasm3/exporter.py +13 -6
- qiskit/quantum_info/operators/symplectic/pauli.py +2 -0
- qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +5 -0
- qiskit/transpiler/__init__.py +6 -1
- qiskit/transpiler/passes/calibration/rx_builder.py +1 -1
- qiskit/transpiler/passes/optimization/elide_permutations.py +2 -2
- qiskit/transpiler/passes/scheduling/padding/pad_delay.py +3 -0
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py +16 -6
- qiskit/transpiler/preset_passmanagers/builtin_plugins.py +2 -1
- qiskit/visualization/pass_manager_visualization.py +3 -14
- {qiskit-1.2.1.dist-info → qiskit-1.2.2.dist-info}/METADATA +1 -1
- {qiskit-1.2.1.dist-info → qiskit-1.2.2.dist-info}/RECORD +28 -28
- {qiskit-1.2.1.dist-info → qiskit-1.2.2.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.2.1.dist-info → qiskit-1.2.2.dist-info}/WHEEL +0 -0
- {qiskit-1.2.1.dist-info → qiskit-1.2.2.dist-info}/entry_points.txt +0 -0
- {qiskit-1.2.1.dist-info → qiskit-1.2.2.dist-info}/top_level.txt +0 -0
qiskit/VERSION.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.2
|
qiskit/_accelerate.abi3.so
CHANGED
Binary file
|
qiskit/dagcircuit/dagcircuit.py
CHANGED
@@ -2090,7 +2090,7 @@ class DAGCircuit:
|
|
2090
2090
|
new_layer = self.copy_empty_like(vars_mode=vars_mode)
|
2091
2091
|
|
2092
2092
|
for node in op_nodes:
|
2093
|
-
new_layer._apply_op_node_back(node, check=False)
|
2093
|
+
new_layer._apply_op_node_back(copy.copy(node), check=False)
|
2094
2094
|
|
2095
2095
|
# The quantum registers that have an operation in this layer.
|
2096
2096
|
support_list = [
|
@@ -92,7 +92,7 @@ class BaseEstimatorV1(BasePrimitive, Generic[T]):
|
|
92
92
|
# calculate [ <psi1(theta1)|H1|psi1(theta1)> ]
|
93
93
|
job = estimator.run([psi1], [H1], [theta1])
|
94
94
|
job_result = job.result() # It will block until the job finishes.
|
95
|
-
print(f"The primitive-job finished with result {job_result}")
|
95
|
+
print(f"The primitive-job finished with result {job_result}")
|
96
96
|
|
97
97
|
# calculate [ <psi1(theta1)|H1|psi1(theta1)>,
|
98
98
|
# <psi2(theta2)|H2|psi2(theta2)>,
|
@@ -144,7 +144,7 @@ class BaseEstimatorV1(BasePrimitive, Generic[T]):
|
|
144
144
|
|
145
145
|
.. code-block:: python
|
146
146
|
|
147
|
-
values = parameter_values[i]
|
147
|
+
values = parameter_values[i]
|
148
148
|
|
149
149
|
Args:
|
150
150
|
circuits: one or more circuit objects.
|
@@ -34,14 +34,22 @@ class DataBin(ShapedMixin):
|
|
34
34
|
|
35
35
|
.. code-block:: python
|
36
36
|
|
37
|
+
import numpy as np
|
38
|
+
from qiskit.primitives import DataBin, BitArray
|
39
|
+
|
37
40
|
data = DataBin(
|
38
|
-
alpha=BitArray.
|
41
|
+
alpha=BitArray.from_samples(["0010"]),
|
39
42
|
beta=np.array([1.2])
|
40
43
|
)
|
41
44
|
|
42
45
|
print("alpha data:", data.alpha)
|
43
46
|
print("beta data:", data.beta)
|
44
47
|
|
48
|
+
.. code-block::
|
49
|
+
|
50
|
+
alpha data: BitArray(<shape=(), num_shots=1, num_bits=2>)
|
51
|
+
beta data: [1.2]
|
52
|
+
|
45
53
|
"""
|
46
54
|
|
47
55
|
__slots__ = ("_data", "_shape")
|
qiskit/pulse/builder.py
CHANGED
@@ -137,7 +137,6 @@ In the example below we demonstrate some more features of the pulse builder:
|
|
137
137
|
from qiskit.compiler import schedule
|
138
138
|
|
139
139
|
from qiskit import pulse, QuantumCircuit
|
140
|
-
from qiskit.pulse import library
|
141
140
|
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
142
141
|
|
143
142
|
backend = FakeOpenPulse2Q()
|
@@ -147,7 +146,7 @@ In the example below we demonstrate some more features of the pulse builder:
|
|
147
146
|
|
148
147
|
with pulse.build(backend) as pulse_prog:
|
149
148
|
# Create a pulse.
|
150
|
-
gaussian_pulse =
|
149
|
+
gaussian_pulse = pulse.Gaussian(10, 1.0, 2)
|
151
150
|
# Get the qubit's corresponding drive channel from the backend.
|
152
151
|
d0 = pulse.drive_channel(0)
|
153
152
|
d1 = pulse.drive_channel(1)
|
@@ -285,7 +284,7 @@ Pulse instructions are available within the builder interface. Here's an example
|
|
285
284
|
d0 = pulse.drive_channel(0)
|
286
285
|
a0 = pulse.acquire_channel(0)
|
287
286
|
|
288
|
-
pulse.play(pulse.
|
287
|
+
pulse.play(pulse.Constant(10, 1.0), d0)
|
289
288
|
pulse.delay(20, d0)
|
290
289
|
pulse.shift_phase(3.14/2, d0)
|
291
290
|
pulse.set_phase(3.14, d0)
|
@@ -293,8 +292,8 @@ Pulse instructions are available within the builder interface. Here's an example
|
|
293
292
|
pulse.set_frequency(5e9, d0)
|
294
293
|
|
295
294
|
with pulse.build() as temp_sched:
|
296
|
-
pulse.play(pulse.
|
297
|
-
pulse.play(pulse.
|
295
|
+
pulse.play(pulse.Gaussian(20, 1.0, 3.0), d0)
|
296
|
+
pulse.play(pulse.Gaussian(20, -1.0, 3.0), d0)
|
298
297
|
|
299
298
|
pulse.call(temp_sched)
|
300
299
|
pulse.acquire(30, a0, pulse.MemorySlot(0))
|
@@ -1327,7 +1326,9 @@ def frequency_offset(
|
|
1327
1326
|
:emphasize-lines: 7, 16
|
1328
1327
|
|
1329
1328
|
from qiskit import pulse
|
1329
|
+
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
1330
1330
|
|
1331
|
+
backend = FakeOpenPulse2Q()
|
1331
1332
|
d0 = pulse.DriveChannel(0)
|
1332
1333
|
|
1333
1334
|
with pulse.build(backend) as pulse_prog:
|
@@ -1969,19 +1970,23 @@ def barrier(*channels_or_qubits: chans.Channel | int, name: str | None = None):
|
|
1969
1970
|
.. code-block::
|
1970
1971
|
|
1971
1972
|
import math
|
1973
|
+
from qiskit import pulse
|
1974
|
+
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
1975
|
+
|
1976
|
+
backend = FakeOpenPulse2Q()
|
1972
1977
|
|
1973
1978
|
d0 = pulse.DriveChannel(0)
|
1974
1979
|
|
1975
1980
|
with pulse.build(backend) as pulse_prog:
|
1976
1981
|
with pulse.align_right():
|
1977
|
-
pulse.call(backend.defaults.instruction_schedule_map.get('
|
1982
|
+
pulse.call(backend.defaults().instruction_schedule_map.get('u1', (1,)))
|
1978
1983
|
# Barrier qubit 1 and d0.
|
1979
1984
|
pulse.barrier(1, d0)
|
1980
1985
|
# Due to barrier this will play before the gate on qubit 1.
|
1981
1986
|
pulse.play(pulse.Constant(10, 1.0), d0)
|
1982
1987
|
# This will end at the same time as the pulse above due to
|
1983
1988
|
# the barrier.
|
1984
|
-
pulse.call(backend.defaults.instruction_schedule_map.get('
|
1989
|
+
pulse.call(backend.defaults().instruction_schedule_map.get('u1', (1,)))
|
1985
1990
|
|
1986
1991
|
.. note:: Requires the active builder context to have a backend set if
|
1987
1992
|
qubits are barriered on.
|
@@ -2012,6 +2017,7 @@ def macro(func: Callable):
|
|
2012
2017
|
:include-source:
|
2013
2018
|
|
2014
2019
|
from qiskit import pulse
|
2020
|
+
from qiskit.providers.fake_provider import FakeOpenPulse2Q
|
2015
2021
|
|
2016
2022
|
@pulse.macro
|
2017
2023
|
def measure(qubit: int):
|
@@ -2021,6 +2027,9 @@ def macro(func: Callable):
|
|
2021
2027
|
|
2022
2028
|
return mem_slot
|
2023
2029
|
|
2030
|
+
|
2031
|
+
backend = FakeOpenPulse2Q()
|
2032
|
+
|
2024
2033
|
with pulse.build(backend=backend) as sched:
|
2025
2034
|
mem_slot = measure(0)
|
2026
2035
|
print(f"Qubit measured into {mem_slot}")
|
@@ -72,6 +72,8 @@ class TimeBlockade(Directive):
|
|
72
72
|
|
73
73
|
.. code-block:: python
|
74
74
|
|
75
|
+
from qiskit.pulse import Schedule, Play, Constant, DriveChannel
|
76
|
+
|
75
77
|
schedule = Schedule()
|
76
78
|
schedule.insert(120, Play(Constant(10, 0.1), DriveChannel(0)))
|
77
79
|
|
@@ -79,6 +81,9 @@ class TimeBlockade(Directive):
|
|
79
81
|
|
80
82
|
.. code-block:: python
|
81
83
|
|
84
|
+
from qiskit.pulse import ScheduleBlock, Play, Constant, DriveChannel
|
85
|
+
from qiskit.pulse.instructions import TimeBlockade
|
86
|
+
|
82
87
|
block = ScheduleBlock()
|
83
88
|
block.append(TimeBlockade(120, DriveChannel(0)))
|
84
89
|
block.append(Play(Constant(10, 0.1), DriveChannel(0)))
|
qiskit/pulse/schedule.py
CHANGED
@@ -81,6 +81,7 @@ class Schedule:
|
|
81
81
|
|
82
82
|
.. code-block:: python
|
83
83
|
|
84
|
+
from qiskit.pulse import Schedule, Gaussian, DriveChannel, Play
|
84
85
|
sched = Schedule()
|
85
86
|
sched += Play(Gaussian(160, 0.1, 40), DriveChannel(0))
|
86
87
|
|
@@ -653,8 +654,6 @@ class Schedule:
|
|
653
654
|
|
654
655
|
sched += pulse.Schedule(old)
|
655
656
|
|
656
|
-
sched = sched.flatten()
|
657
|
-
|
658
657
|
sched = sched.replace(old, new)
|
659
658
|
|
660
659
|
assert sched == pulse.Schedule(new)
|
@@ -899,11 +898,8 @@ class ScheduleBlock:
|
|
899
898
|
pulse.reference("grand_child")
|
900
899
|
pulse.play(pulse.Constant(200, amp2), pulse.DriveChannel(0))
|
901
900
|
|
902
|
-
|
903
|
-
|
904
|
-
.. code-block::
|
905
|
-
|
906
|
-
sched_outer.assign_references({("grand_child", ): sched_inner})
|
901
|
+
# Now assign the inner pulse program to this reference
|
902
|
+
sched_outer.assign_references({("grand_child",): sched_inner})
|
907
903
|
print(sched_outer.parameters)
|
908
904
|
|
909
905
|
.. parsed-literal::
|
@@ -1459,7 +1455,7 @@ class ScheduleBlock:
|
|
1459
1455
|
|
1460
1456
|
from qiskit import pulse
|
1461
1457
|
|
1462
|
-
with pulse.build() as
|
1458
|
+
with pulse.build() as nested_prog:
|
1463
1459
|
pulse.delay(10, pulse.DriveChannel(0))
|
1464
1460
|
|
1465
1461
|
with pulse.build() as sub_prog:
|
@@ -1490,7 +1486,7 @@ class ScheduleBlock:
|
|
1490
1486
|
.. code-block:: python
|
1491
1487
|
|
1492
1488
|
main_prog.assign_references({("B", ): sub_prog}, inplace=True)
|
1493
|
-
main_prog.references[("B", )].assign_references({"A": nested_prog}, inplace=True)
|
1489
|
+
main_prog.references[("B", )].assign_references({("A", ): nested_prog}, inplace=True)
|
1494
1490
|
|
1495
1491
|
Here :attr:`.references` returns a dict-like object, and you can
|
1496
1492
|
mutably update the nested reference of the particular subroutine.
|
qiskit/pulse/transforms/dag.py
CHANGED
@@ -32,6 +32,11 @@ def block_to_dag(block: ScheduleBlock) -> rx.PyDAG:
|
|
32
32
|
|
33
33
|
.. code-block:: python
|
34
34
|
|
35
|
+
from qiskit import pulse
|
36
|
+
|
37
|
+
my_gaussian0 = pulse.Gaussian(100, 0.5, 20)
|
38
|
+
my_gaussian1 = pulse.Gaussian(100, 0.3, 10)
|
39
|
+
|
35
40
|
with pulse.build() as sched1:
|
36
41
|
with pulse.align_left():
|
37
42
|
pulse.play(my_gaussian0, pulse.DriveChannel(0))
|
@@ -51,6 +56,8 @@ def block_to_dag(block: ScheduleBlock) -> rx.PyDAG:
|
|
51
56
|
|
52
57
|
.. code-block:: python
|
53
58
|
|
59
|
+
from qiskit import pulse
|
60
|
+
|
54
61
|
with pulse.build() as sched:
|
55
62
|
with pulse.align_left():
|
56
63
|
pulse.shift_phase(1.57, pulse.DriveChannel(1))
|
qiskit/qasm2/parse.py
CHANGED
@@ -89,6 +89,35 @@ class CustomInstruction:
|
|
89
89
|
There is a final ``builtin`` field. This is optional, and if set true will cause the
|
90
90
|
instruction to be defined and available within the parsing, even if there is no definition in
|
91
91
|
any included OpenQASM 2 file.
|
92
|
+
|
93
|
+
Examples:
|
94
|
+
|
95
|
+
Instruct the importer to use Qiskit's :class:`.ECRGate` and :class:`.RZXGate` objects to
|
96
|
+
interpret ``gate`` statements that are known to have been created from those same objects
|
97
|
+
during OpenQASM 2 export::
|
98
|
+
|
99
|
+
from qiskit import qasm2
|
100
|
+
from qiskit.circuit import QuantumCircuit, library
|
101
|
+
|
102
|
+
qc = QuantumCircuit(2)
|
103
|
+
qc.ecr(0, 1)
|
104
|
+
qc.rzx(0.3, 0, 1)
|
105
|
+
qc.rzx(0.7, 1, 0)
|
106
|
+
qc.rzx(1.5, 0, 1)
|
107
|
+
qc.ecr(1, 0)
|
108
|
+
|
109
|
+
# This output string includes `gate ecr q0, q1 { ... }` and `gate rzx(p) q0, q1 { ... }`
|
110
|
+
# statements, since `ecr` and `rzx` are neither built-in gates nor in ``qelib1.inc``.
|
111
|
+
dumped = qasm2.dumps(qc)
|
112
|
+
|
113
|
+
# Tell the importer how to interpret the `gate` statements, which we know are safe
|
114
|
+
# because we controlled the input OpenQASM 2 source.
|
115
|
+
custom = [
|
116
|
+
qasm2.CustomInstruction("ecr", 0, 2, library.ECRGate),
|
117
|
+
qasm2.CustomInstruction("rzx", 1, 2, library.RZXGate),
|
118
|
+
]
|
119
|
+
|
120
|
+
loaded = qasm2.loads(dumped, custom_instructions=custom)
|
92
121
|
"""
|
93
122
|
|
94
123
|
name: str
|
qiskit/qasm3/exporter.py
CHANGED
@@ -140,9 +140,16 @@ class Exporter:
|
|
140
140
|
):
|
141
141
|
"""
|
142
142
|
Args:
|
143
|
-
includes: the filenames that should be emitted as includes.
|
144
|
-
|
145
|
-
|
143
|
+
includes: the filenames that should be emitted as includes.
|
144
|
+
|
145
|
+
.. note::
|
146
|
+
|
147
|
+
At present, only the standard-library file ``stdgates.inc`` is properly
|
148
|
+
understood by the exporter, in the sense that it knows the gates it defines.
|
149
|
+
You can specify other includes, but you will need to pass the names of the gates
|
150
|
+
they define in the ``basis_gates`` argument to avoid the exporter outputting a
|
151
|
+
separate ``gate`` definition.
|
152
|
+
|
146
153
|
basis_gates: the basic defined gate set of the backend.
|
147
154
|
disable_constants: if ``True``, always emit floating-point constants for numeric
|
148
155
|
parameter values. If ``False`` (the default), then values close to multiples of
|
@@ -675,9 +682,9 @@ class QASM3Builder:
|
|
675
682
|
def build_includes(self):
|
676
683
|
"""Builds a list of included files."""
|
677
684
|
for filename in self.includes:
|
678
|
-
|
679
|
-
|
680
|
-
for name, gate in
|
685
|
+
# Note: unknown include files have a corresponding `include` statement generated, but do
|
686
|
+
# not actually define any gates; we rely on the user to pass those in `basis_gates`.
|
687
|
+
for name, gate in _KNOWN_INCLUDES.get(filename, {}).items():
|
681
688
|
self.symbols.register_gate_without_definition(name, gate)
|
682
689
|
yield ast.Include(filename)
|
683
690
|
|
@@ -792,6 +792,8 @@ class SparsePauliOp(LinearOp):
|
|
792
792
|
|
793
793
|
.. code-block:: python
|
794
794
|
|
795
|
+
from qiskit.quantum_info import SparsePauliOp
|
796
|
+
|
795
797
|
# via tuples and the full Pauli string
|
796
798
|
op = SparsePauliOp.from_list([("XIIZI", 1), ("IYIIY", 2)])
|
797
799
|
|
@@ -856,6 +858,8 @@ class SparsePauliOp(LinearOp):
|
|
856
858
|
|
857
859
|
.. code-block:: python
|
858
860
|
|
861
|
+
from qiskit.quantum_info import SparsePauliOp
|
862
|
+
|
859
863
|
# via triples and local Paulis with indices
|
860
864
|
op = SparsePauliOp.from_sparse_list([("ZX", [1, 4], 1), ("YY", [0, 3], 2)], num_qubits=5)
|
861
865
|
|
@@ -1051,6 +1055,7 @@ class SparsePauliOp(LinearOp):
|
|
1051
1055
|
|
1052
1056
|
.. code-block:: python
|
1053
1057
|
|
1058
|
+
>>> from qiskit.quantum_info import SparsePauliOp
|
1054
1059
|
>>> op = SparsePauliOp.from_list([("XX", 2), ("YY", 1), ("IZ",2j), ("ZZ",1j)])
|
1055
1060
|
>>> op.group_commuting()
|
1056
1061
|
[SparsePauliOp(["IZ", "ZZ"], coeffs=[0.+2.j, 0.+1j]),
|
qiskit/transpiler/__init__.py
CHANGED
@@ -106,8 +106,9 @@ also add initial logical optimization prior to routing, you would do something l
|
|
106
106
|
.. code-block:: python
|
107
107
|
|
108
108
|
import numpy as np
|
109
|
+
from qiskit.providers.fake_provider import GenericBackendV2
|
109
110
|
from qiskit.circuit.library import HGate, PhaseGate, RXGate, TdgGate, TGate, XGate
|
110
|
-
from qiskit.transpiler import PassManager
|
111
|
+
from qiskit.transpiler import PassManager, generate_preset_pass_manager
|
111
112
|
from qiskit.transpiler.passes import (
|
112
113
|
ALAPScheduleAnalysis,
|
113
114
|
CXCancellation,
|
@@ -115,6 +116,7 @@ also add initial logical optimization prior to routing, you would do something l
|
|
115
116
|
PadDynamicalDecoupling,
|
116
117
|
)
|
117
118
|
|
119
|
+
backend = GenericBackendV2(num_qubits=5)
|
118
120
|
dd_sequence = [XGate(), XGate()]
|
119
121
|
scheduling_pm = PassManager(
|
120
122
|
[
|
@@ -135,6 +137,9 @@ also add initial logical optimization prior to routing, you would do something l
|
|
135
137
|
]
|
136
138
|
)
|
137
139
|
|
140
|
+
pass_manager = generate_preset_pass_manager(
|
141
|
+
optimization_level=0
|
142
|
+
)
|
138
143
|
|
139
144
|
# Add pre-layout stage to run extra logical optimization
|
140
145
|
pass_manager.pre_layout = logical_opt
|
@@ -45,7 +45,7 @@ class RXCalibrationBuilder(CalibrationBuilder):
|
|
45
45
|
from qiskit.circuit.library import QuantumVolume
|
46
46
|
from qiskit.circuit.library.standard_gates import RXGate
|
47
47
|
|
48
|
-
from
|
48
|
+
from qiskit.transpiler.passes import RXCalibrationBuilder
|
49
49
|
|
50
50
|
qv = QuantumVolume(4, 4, seed=1004)
|
51
51
|
|
@@ -96,8 +96,8 @@ class ElidePermutations(TransformationPass):
|
|
96
96
|
elif isinstance(node.op, PermutationGate):
|
97
97
|
starting_indices = [qubit_mapping[dag.find_bit(qarg).index] for qarg in node.qargs]
|
98
98
|
pattern = node.op.params[0]
|
99
|
-
|
100
|
-
for i, j in zip(starting_indices,
|
99
|
+
updated_indices = [starting_indices[idx] for idx in pattern]
|
100
|
+
for i, j in zip(starting_indices, updated_indices):
|
101
101
|
qubit_mapping[i] = j
|
102
102
|
input_qubit_mapping = {qubit: index for index, qubit in enumerate(dag.qubits)}
|
103
103
|
self.property_set["original_layout"] = Layout(input_qubit_mapping)
|
@@ -27,6 +27,9 @@ class PadDelay(BasePadding):
|
|
27
27
|
|
28
28
|
.. code-block:: python
|
29
29
|
|
30
|
+
from qiskit import QuantumCircuit
|
31
|
+
from qiskit.transpiler import InstructionDurations
|
32
|
+
|
30
33
|
durations = InstructionDurations([("x", None, 160), ("cx", None, 800)])
|
31
34
|
|
32
35
|
qc = QuantumCircuit(2)
|
@@ -968,6 +968,10 @@ class QFTSynthesisFull(HighLevelSynthesisPlugin):
|
|
968
968
|
This plugin name is :``qft.full`` which can be used as the key on
|
969
969
|
an :class:`~.HLSConfig` object to use this method with :class:`~.HighLevelSynthesis`.
|
970
970
|
|
971
|
+
Note that the plugin mechanism is not applied if the gate is called ``qft`` but
|
972
|
+
is not an instance of ``QFTGate``. This allows users to create custom gates with
|
973
|
+
name ``qft``.
|
974
|
+
|
971
975
|
The plugin supports the following additional options:
|
972
976
|
|
973
977
|
* reverse_qubits (bool): Whether to synthesize the "QFT" operation (if ``False``,
|
@@ -995,10 +999,11 @@ class QFTSynthesisFull(HighLevelSynthesisPlugin):
|
|
995
999
|
|
996
1000
|
def run(self, high_level_object, coupling_map=None, target=None, qubits=None, **options):
|
997
1001
|
"""Run synthesis for the given QFTGate."""
|
1002
|
+
|
1003
|
+
# Even though the gate is called "qft", it's not a QFTGate,
|
1004
|
+
# and we should not synthesize it using the plugin.
|
998
1005
|
if not isinstance(high_level_object, QFTGate):
|
999
|
-
|
1000
|
-
"The synthesis plugin 'qft.full` only applies to objects of type QFTGate."
|
1001
|
-
)
|
1006
|
+
return None
|
1002
1007
|
|
1003
1008
|
reverse_qubits = options.get("reverse_qubits", False)
|
1004
1009
|
approximation_degree = options.get("approximation_degree", 0)
|
@@ -1023,6 +1028,10 @@ class QFTSynthesisLine(HighLevelSynthesisPlugin):
|
|
1023
1028
|
This plugin name is :``qft.line`` which can be used as the key on
|
1024
1029
|
an :class:`~.HLSConfig` object to use this method with :class:`~.HighLevelSynthesis`.
|
1025
1030
|
|
1031
|
+
Note that the plugin mechanism is not applied if the gate is called ``qft`` but
|
1032
|
+
is not an instance of ``QFTGate``. This allows users to create custom gates with
|
1033
|
+
name ``qft``.
|
1034
|
+
|
1026
1035
|
The plugin supports the following additional options:
|
1027
1036
|
|
1028
1037
|
* reverse_qubits (bool): Whether to synthesize the "QFT" operation (if ``False``,
|
@@ -1047,10 +1056,11 @@ class QFTSynthesisLine(HighLevelSynthesisPlugin):
|
|
1047
1056
|
|
1048
1057
|
def run(self, high_level_object, coupling_map=None, target=None, qubits=None, **options):
|
1049
1058
|
"""Run synthesis for the given QFTGate."""
|
1059
|
+
|
1060
|
+
# Even though the gate is called "qft", it's not a QFTGate,
|
1061
|
+
# and we should not synthesize it using the plugin.
|
1050
1062
|
if not isinstance(high_level_object, QFTGate):
|
1051
|
-
|
1052
|
-
"The synthesis plugin 'qft.line` only applies to objects of type QFTGate."
|
1053
|
-
)
|
1063
|
+
return None
|
1054
1064
|
|
1055
1065
|
reverse_qubits = options.get("reverse_qubits", False)
|
1056
1066
|
approximation_degree = options.get("approximation_degree", 0)
|
@@ -150,7 +150,8 @@ class DefaultInitPassManager(PassManagerStagePlugin):
|
|
150
150
|
pass_manager_config.unitary_synthesis_plugin_config,
|
151
151
|
pass_manager_config.hls_config,
|
152
152
|
)
|
153
|
-
|
153
|
+
if pass_manager_config.routing_method != "none":
|
154
|
+
init.append(ElidePermutations())
|
154
155
|
init.append(RemoveDiagonalGatesBeforeMeasure())
|
155
156
|
init.append(
|
156
157
|
InverseCancellation(
|
@@ -58,23 +58,12 @@ def pass_manager_drawer(pass_manager, filename=None, style=None, raw=False):
|
|
58
58
|
Example:
|
59
59
|
.. code-block::
|
60
60
|
|
61
|
-
%matplotlib inline
|
62
61
|
from qiskit import QuantumCircuit
|
63
|
-
from qiskit.
|
64
|
-
from qiskit.transpiler import PassManager
|
62
|
+
from qiskit.transpiler import generate_preset_pass_manager
|
65
63
|
from qiskit.visualization import pass_manager_drawer
|
66
|
-
from qiskit.transpiler.passes import Unroller
|
67
64
|
|
68
|
-
|
69
|
-
|
70
|
-
circ.draw()
|
71
|
-
|
72
|
-
pass_ = Unroller(['u1', 'u2', 'u3', 'cx'])
|
73
|
-
pm = PassManager(pass_)
|
74
|
-
new_circ = pm.run(circ)
|
75
|
-
new_circ.draw(output='mpl')
|
76
|
-
|
77
|
-
pass_manager_drawer(pm, "passmanager.jpg")
|
65
|
+
pm = generate_preset_pass_manager(optimization_level=0)
|
66
|
+
pass_manager_drawer(pm)
|
78
67
|
"""
|
79
68
|
import pydot
|
80
69
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: qiskit
|
3
|
-
Version: 1.2.
|
3
|
+
Version: 1.2.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
|
@@ -1,13 +1,13 @@
|
|
1
1
|
qiskit/version.py,sha256=MiraFeJt5GQEspFyvP3qJedHen2C1e8dNEttzg0u7YU,2498
|
2
2
|
qiskit/__init__.py,sha256=h_3PcAndCRLW2AhP-GzbxjFzpwd4RpSZ-cQg062et_w,5420
|
3
|
-
qiskit/_accelerate.abi3.so,sha256=
|
3
|
+
qiskit/_accelerate.abi3.so,sha256=ZixJJ9OcPNgLSpGhsmq2y4nZwFftKAWblpkr_K742y4,12273680
|
4
4
|
qiskit/user_config.py,sha256=I7QCF9W2IDpleWunxDjgYGySsVUlq57gfj_137o0Dac,10109
|
5
5
|
qiskit/_numpy_compat.py,sha256=ZlnDTF2KBTKcVF489ZuxoBk6r9KLsMuhAlozFhOn0a8,2815
|
6
6
|
qiskit/exceptions.py,sha256=78bbfww9680_v4CaNgepavY5DwGTN7_j47Ckob3lLPM,5619
|
7
|
-
qiskit/VERSION.txt,sha256=
|
7
|
+
qiskit/VERSION.txt,sha256=xipcxhrEUlk1dT9ewoTAoFKksdpLOjWA3OK313ohVK4,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=
|
10
|
+
qiskit/visualization/pass_manager_visualization.py,sha256=19m4pUdYG0csZgQbuxfFP-zfoVGnk0pJr0HVToD1Y04,10886
|
11
11
|
qiskit/visualization/state_visualization.py,sha256=nPx7YltijQcbdqoC5gA_AWqYIuREiHn4aXVvej-keJ4,52199
|
12
12
|
qiskit/visualization/library.py,sha256=oCzruZqrshriwA17kSfCeY0ujZehr6WZnWvZNmvUw7g,1295
|
13
13
|
qiskit/visualization/bloch.py,sha256=neJ5oBuIhdg5YHuNWE9eyM0I02aAONQrmzphsDBMqM4,30229
|
@@ -63,7 +63,7 @@ qiskit/visualization/timeline/plotters/__init__.py,sha256=3uM5AgCcqxqBHhslUGjjmq
|
|
63
63
|
qiskit/transpiler/timing_constraints.py,sha256=TAFuarfaeLdH4AdWO1Cexv7jo8VC8IGhAOPYTDLBFdE,2382
|
64
64
|
qiskit/transpiler/layout.py,sha256=OX1taS67SD31FuDD_1YdD-l4v6KYQw2AQU7_HTx1CIQ,28073
|
65
65
|
qiskit/transpiler/coupling.py,sha256=Lrh6U3hFXqEPk-X0xHrLZzdB-SXkJEVkLlAVzwEmKrA,18603
|
66
|
-
qiskit/transpiler/__init__.py,sha256=
|
66
|
+
qiskit/transpiler/__init__.py,sha256=zMqpUBFQq_zhweeIbztujh4jStvQ8x2IwpL2hgx5iqY,48968
|
67
67
|
qiskit/transpiler/basepasses.py,sha256=RV-B5Se3pt_4rOeKXw7YQQkbpW3g-ynBQZjIuPc-jKE,8769
|
68
68
|
qiskit/transpiler/passmanager.py,sha256=mxdKQQkV9ZJ1tB1TFbqlkex_0B8HItILGzk6CNFikzE,20399
|
69
69
|
qiskit/transpiler/passmanager_config.py,sha256=W0Vi73vGspwn6Z8jwUeiU3CZQdbFBbyYt1a2fgjpbko,9220
|
@@ -93,7 +93,7 @@ qiskit/transpiler/passes/scheduling/scheduling/asap.py,sha256=1uNc_81sImG35P0_VJ
|
|
93
93
|
qiskit/transpiler/passes/scheduling/scheduling/__init__.py,sha256=nuRmai-BprATkKLqoHzH-2vLu-E7VRPS9hbhTY8xiDo,654
|
94
94
|
qiskit/transpiler/passes/scheduling/scheduling/set_io_latency.py,sha256=NzdU1K_aBt5yQCIuUHUSjkwZhdVtk6SG3uOMT5bZVsU,2854
|
95
95
|
qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py,sha256=foLhgzDU0AmL9I8qUqbyte6ymRm2YMDdpkOozC6pqZk,20551
|
96
|
-
qiskit/transpiler/passes/scheduling/padding/pad_delay.py,sha256=
|
96
|
+
qiskit/transpiler/passes/scheduling/padding/pad_delay.py,sha256=EFlT4_sXezNZz8AuvSu7y9x0X_D30hu7eERlXiP34mM,2865
|
97
97
|
qiskit/transpiler/passes/scheduling/padding/__init__.py,sha256=SFLOuwUFgrBv5zRCemIWW5JQvlwCd0acsC3FytrYzII,629
|
98
98
|
qiskit/transpiler/passes/scheduling/padding/base_padding.py,sha256=4fsCiWzSs32nzBerm-fio_OHgjjLYtNEoCwHDb35nJI,10453
|
99
99
|
qiskit/transpiler/passes/scheduling/alignments/reschedule.py,sha256=vR0KR4MDD9J7qKKR5YFGBSj4P-J49YBjR0v_pRYatWI,10711
|
@@ -106,7 +106,7 @@ qiskit/transpiler/passes/calibration/base_builder.py,sha256=Ht70gUplj0Zy5rC-iVCP
|
|
106
106
|
qiskit/transpiler/passes/calibration/__init__.py,sha256=ZLR5wTLsIBAM2SGSeu6q9Q6hqux5CKtDzj-HoZF71bA,689
|
107
107
|
qiskit/transpiler/passes/calibration/rzx_templates.py,sha256=_M_e4eKeiKXP6CJobhU3CPWrdwjjzsDygQCN0Xk7JQg,1514
|
108
108
|
qiskit/transpiler/passes/calibration/exceptions.py,sha256=HDBOCj1WqLo8nFt6hDKg7EX63RzGzbpWDHRDN8LTVpg,777
|
109
|
-
qiskit/transpiler/passes/calibration/rx_builder.py,sha256=
|
109
|
+
qiskit/transpiler/passes/calibration/rx_builder.py,sha256=9069yyc18nvaTL1in2UVoKPowORf5ycMyqaKonJohLk,6061
|
110
110
|
qiskit/transpiler/passes/calibration/pulse_gate.py,sha256=2OlckFm242-vZYdcJINTtsA5xLRKJg4ZzgbgiDd0ngk,3721
|
111
111
|
qiskit/transpiler/passes/calibration/rzx_builder.py,sha256=brbX9e6lVEE0vm-AA-JXU5pPYPw1EkxzYdQjVF4GWmg,16461
|
112
112
|
qiskit/transpiler/passes/layout/sabre_layout.py,sha256=5eS5yFTKegyJe7XUOxLSKylYTC-2jB_-27y__KbnRL0,22474
|
@@ -133,7 +133,7 @@ qiskit/transpiler/passes/optimization/collect_and_collapse.py,sha256=av0er7p3EFQ
|
|
133
133
|
qiskit/transpiler/passes/optimization/split_2q_unitaries.py,sha256=F4w0SRt1TAZwAZ_fAqSuQFmZvD5CEPiw6LJF6z2KxSk,3743
|
134
134
|
qiskit/transpiler/passes/optimization/remove_final_reset.py,sha256=ZZ2za9NYZWh0eAUBEq1vcEU_iLe1P4jq6_1f3TRfHXA,1333
|
135
135
|
qiskit/transpiler/passes/optimization/collect_1q_runs.py,sha256=eE_pZv98vIMUMYIR6JDuG5Qv0p2t5ihyD-W1I4PYY58,1114
|
136
|
-
qiskit/transpiler/passes/optimization/elide_permutations.py,sha256=
|
136
|
+
qiskit/transpiler/passes/optimization/elide_permutations.py,sha256=BFPHOsTuqBsXncnIpBBV-J6ogZWr1w7_GYSfBQZbVKU,5369
|
137
137
|
qiskit/transpiler/passes/optimization/hoare_opt.py,sha256=A5DIB7lrIpmRB6kDVluKajsQUEFRwo0QDNYnwUzC-Gg,16291
|
138
138
|
qiskit/transpiler/passes/optimization/remove_diagonal_gates_before_measure.py,sha256=KdST9dwZUK8aMULjzw8Vs6EN9UlW8CIR5X-dEi5vyLs,2365
|
139
139
|
qiskit/transpiler/passes/optimization/commutation_analysis.py,sha256=ysK0nQMG0DD7MHTg-RAt54_oCC5Qc8BsIxTLu3-2cCk,3773
|
@@ -183,7 +183,7 @@ qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py,sha256=Ir5MFRZlNs
|
|
183
183
|
qiskit/transpiler/passes/synthesis/__init__.py,sha256=VYO9Sl_SJyoZ_bLronrkvK9u8kL-LW9G93LbWyWNEaM,925
|
184
184
|
qiskit/transpiler/passes/synthesis/plugin.py,sha256=XWXFQ92R0Fv4UM0YWPI2K2CtFflatlATuEHAKax7dH4,30815
|
185
185
|
qiskit/transpiler/passes/synthesis/linear_functions_synthesis.py,sha256=Q1r-52HMETK_7iWTMmJKGU39rNws-MrmGDHh7TgQVj4,1407
|
186
|
-
qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=
|
186
|
+
qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=zCyU9XKXoVewij6gXceeh4bh-hhXnohg2uXW7XcErLQ,48698
|
187
187
|
qiskit/transpiler/passes/synthesis/unitary_synthesis.py,sha256=JudMemqLzjPEcLoukmBnbuv_QaWyOp_Z8vEcnPgFnhY,44823
|
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
|
@@ -209,7 +209,7 @@ qiskit/transpiler/passes/basis/__init__.py,sha256=JF0s79eUZOJo-8T8rFUlq0nvF7Q-FS
|
|
209
209
|
qiskit/transpiler/passes/basis/unroll_3q_or_more.py,sha256=a3q5JEsP1zRrPJgijIhIzXMOWqGztkOCp1pd5zwe9Kk,3643
|
210
210
|
qiskit/transpiler/passes/basis/basis_translator.py,sha256=q6B0cthTiEeXE_kZpTixMN0IUcwu2p8hsu7Z4Nm7DDo,30885
|
211
211
|
qiskit/transpiler/passes/basis/unroll_custom_definitions.py,sha256=bWpl9bk7g8IyjRKAngnPvkf4oI62sjrFpgj7YVRD--s,4366
|
212
|
-
qiskit/transpiler/preset_passmanagers/builtin_plugins.py,sha256=
|
212
|
+
qiskit/transpiler/preset_passmanagers/builtin_plugins.py,sha256=AoGDx5V4BKDHzWiNRZhtJynhOG0YJ6evdVMknLh12Tk,42075
|
213
213
|
qiskit/transpiler/preset_passmanagers/level0.py,sha256=emrcxdh3Rnv5pyAo5WuMJlY3tfz6WnkKJlGao7vSYAI,4277
|
214
214
|
qiskit/transpiler/preset_passmanagers/__init__.py,sha256=i6t27h2cHewTwN6g8JAyR98obTTP9Aimzqdl2SRdiwQ,2758
|
215
215
|
qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py,sha256=nP4FCeQdAVyYFe9NxHgzXc1vbOF7z1WzAcDfD9yX8Xw,25987
|
@@ -219,7 +219,7 @@ qiskit/transpiler/preset_passmanagers/level2.py,sha256=Bt0EAyreXQb5cxAR6JF_4Xoie
|
|
219
219
|
qiskit/transpiler/preset_passmanagers/level3.py,sha256=t6WoVq84nfZo3SHSqbkEfXkw91akYevsVivh-r25r8I,4919
|
220
220
|
qiskit/transpiler/preset_passmanagers/plugin.py,sha256=kU2DXDDJhU4d4t4Dej7GZH1sevP-rZfeAYkz3DsV9HU,14920
|
221
221
|
qiskit/qasm3/experimental.py,sha256=w_0rdAuf6pzOztLYgvh9mxPS3DWZ_aJe2BHmp-l021Y,1992
|
222
|
-
qiskit/qasm3/exporter.py,sha256=
|
222
|
+
qiskit/qasm3/exporter.py,sha256=1qR_bN0zOAhnCcviPyMslRhnNNbY1SNmrtvsGkVpnss,60327
|
223
223
|
qiskit/qasm3/__init__.py,sha256=RbJicb-wSTD7xyigMZZHSn1CK__3mdTY-AMmnMAh5c0,13237
|
224
224
|
qiskit/qasm3/ast.py,sha256=bb4PA36VUeRVpdXKWAf4Jc2cXIxQ8sSCzOG61Zo8S3g,15523
|
225
225
|
qiskit/qasm3/exceptions.py,sha256=jNfCnD7kXAGCF_DbtLPfyJCidThqf0Vdp2ORPDqvm2c,909
|
@@ -248,7 +248,7 @@ qiskit/assembler/assemble_circuits.py,sha256=2T4vSDsfmDjyiCC5LejFUI85H1HSPwOa2C_
|
|
248
248
|
qiskit/qasm2/__init__.py,sha256=AgSA2ixOfl6PGsCwOfZX0WxSN9PHni_M2cPV3W-9Q2k,25110
|
249
249
|
qiskit/qasm2/export.py,sha256=m-nOkTT8YYilr0Rz-TQdl6I8Zxe4xBOjaVrsuMzTWYk,13222
|
250
250
|
qiskit/qasm2/exceptions.py,sha256=b5qiSLPTMLsfYq9vYB1kWC9XvDlgj3IBCVsK0NloFDo,923
|
251
|
-
qiskit/qasm2/parse.py,sha256=
|
251
|
+
qiskit/qasm2/parse.py,sha256=yFsbRbYYhT0jZyyMv_pOW7VkE9HuWfVAfw31c4hrVpQ,18581
|
252
252
|
qiskit/circuit/store.py,sha256=n8biU2kLaGj29P-gPhtN42-7r_MyRmHoMZ1lGsRLfPk,3374
|
253
253
|
qiskit/circuit/measure.py,sha256=T4Rt2MZ4IH2ERnKOHe5YepiX21poxnYKYJFUt1N2ZL4,1470
|
254
254
|
qiskit/circuit/parametertable.py,sha256=6sT2UO-U4MoHoz-w6UabDgdAZtpqdVfmJ-gb1uyVbqg,3269
|
@@ -292,7 +292,7 @@ qiskit/circuit/classicalfunction/classicalfunction.py,sha256=OfwE7HM__MemzDHlPy-
|
|
292
292
|
qiskit/circuit/classicalfunction/exceptions.py,sha256=oSfjWiM52Up-ndJN1QfpdlDwgILmzlyOef7FFZqp_Wg,1070
|
293
293
|
qiskit/circuit/tools/pi_check.py,sha256=6gwDvgfhud2I9nW3UikG4w4GFzPF-na0w6AoPevYTfk,7173
|
294
294
|
qiskit/circuit/tools/__init__.py,sha256=_Rpdz9Yqiksplpw9CSGq0gOAJDIxoXQ26BRkHi1x0HY,540
|
295
|
-
qiskit/circuit/library/pauli_evolution.py,sha256=
|
295
|
+
qiskit/circuit/library/pauli_evolution.py,sha256=FaOisdii-aAUVUfHWX60UEwqcAoE-CjwtY3U7xeAyRQ,6547
|
296
296
|
qiskit/circuit/library/hidden_linear_function.py,sha256=Mr5EP9KI96NSvQJWyh4aRh5QPijnbc2-bIWvGv_4w5M,3531
|
297
297
|
qiskit/circuit/library/blueprintcircuit.py,sha256=EkhYypixeVotvJSJEVWxl9RfnOYJEcZRb0v4xz_IhuU,7061
|
298
298
|
qiskit/circuit/library/graph_state.py,sha256=6XZC3YfhKb65-9poGAkY26w63Ggkle8Hi4H6lYLeTPM,3153
|
@@ -552,21 +552,21 @@ qiskit/pulse/configuration.py,sha256=VBix7Emn2xNzdEEcvITcZZDdn2w0xwexsTLlgdteg20
|
|
552
552
|
qiskit/pulse/parameter_manager.py,sha256=CJWpm6dz5TWc1GDsu9QzfDdNdY4lOlve7cNvvnpavc0,17698
|
553
553
|
qiskit/pulse/instruction_schedule_map.py,sha256=bABnsrxgX-swQCYmPl7TQ8yDEvr0FThRGsDzbAUNIy0,15526
|
554
554
|
qiskit/pulse/__init__.py,sha256=yI4aO85ZeeNQ6CxjMK1a6ixM5gWRvy_DI-NQuita_E0,3861
|
555
|
-
qiskit/pulse/builder.py,sha256=
|
555
|
+
qiskit/pulse/builder.py,sha256=Bh_M4m3KaEwGiLgp61P1ofMYrLpkd2ZFRmCysmIXb8Q,71314
|
556
556
|
qiskit/pulse/parser.py,sha256=f1OG9utHEMvIYqm2Sg9nlJdDDKCkD596Z576WiyTeSM,10052
|
557
557
|
qiskit/pulse/utils.py,sha256=VjQc_blid_AhjtUq-9fqCc2AglaVzorz78HCAVf_wfk,5973
|
558
558
|
qiskit/pulse/macros.py,sha256=cwDsbpajL13yPfo2JEXAgzvnztU2u4NR8YpEivkmKfg,10733
|
559
559
|
qiskit/pulse/exceptions.py,sha256=TRLIXtga3yaOqLr6ZEfL8LlFZyO4XEMnWVjhY2M4ItA,1279
|
560
560
|
qiskit/pulse/channels.py,sha256=0mdKXpU3nIZrYNF6645rI70rdI0tglL9NHMDmNqk6ME,7435
|
561
561
|
qiskit/pulse/reference_manager.py,sha256=Zetcf3osTMPqGcgWNkRl4JXMLiUVaNPtIhaVZVsYiSc,2045
|
562
|
-
qiskit/pulse/schedule.py,sha256=
|
562
|
+
qiskit/pulse/schedule.py,sha256=NvkVtz16IhNlGKoXH52UzMF4pc6gtTRH4zHpyKdpLao,72842
|
563
563
|
qiskit/pulse/filters.py,sha256=vNodu-QJfG3eJvq4llWlMOnc_bJ5lxAK757HOPS-pTM,10208
|
564
564
|
qiskit/pulse/instructions/phase.py,sha256=496jJZT7FTURbF4CVjkN1SLEqPDZyBaz5EM8NsFzUZ4,5211
|
565
565
|
qiskit/pulse/instructions/frequency.py,sha256=quGhzkybIGSWpy8MzNG-1holposRHjiRgdkvPD7mSoQ,4440
|
566
566
|
qiskit/pulse/instructions/acquire.py,sha256=h9-z0QbghlEJgKNUb8yGWQtJRZYRODj8pKQMGxPPb6w,6054
|
567
567
|
qiskit/pulse/instructions/__init__.py,sha256=XBp5VjRNvVUK5f51ohWvcMK2FlsMU_pgLZtp4QuAjWk,2277
|
568
568
|
qiskit/pulse/instructions/play.py,sha256=RANI7XRgzX-B7t2ucc8iFcr_atUH6Jf9ecxpQUHswV4,3777
|
569
|
-
qiskit/pulse/instructions/directives.py,sha256=
|
569
|
+
qiskit/pulse/instructions/directives.py,sha256=L4hCY22ckz31ys0eG0po0ajlltha5R4YuuYQobC_vz0,5166
|
570
570
|
qiskit/pulse/instructions/delay.py,sha256=Y-3blt4znCHHQCVINUk9gdmMyc9VkIZk1mTsz8eWjQY,2331
|
571
571
|
qiskit/pulse/instructions/reference.py,sha256=NyzwMx_3QVtvvezEwbKgQGktLX8466xzXdMZ3Is33Bk,4067
|
572
572
|
qiskit/pulse/instructions/instruction.py,sha256=ihYz_nLFxTJdlhabbkXldF_mqPFbYp_FTiA6kDgoIro,8759
|
@@ -580,8 +580,8 @@ qiskit/pulse/library/samplers/strategies.py,sha256=cHN62QP-retJTgY-HDzFaoWdpCTck
|
|
580
580
|
qiskit/pulse/library/samplers/__init__.py,sha256=nHVmHCAeluBjcCWHVi_pnOBgJXh3UwjE3mrZwguDVpQ,591
|
581
581
|
qiskit/pulse/library/samplers/decorators.py,sha256=wQu-Z1VpQKzZlV6Rzjh7ubRm2bj55S7pWrFRtQm_wGw,11479
|
582
582
|
qiskit/pulse/transforms/canonicalization.py,sha256=DCtBJbTARwR2YW-Q-RdjO4_1JCpFO9fz_CS5rEyyz1I,19044
|
583
|
-
qiskit/pulse/transforms/alignments.py,sha256=
|
584
|
-
qiskit/pulse/transforms/dag.py,sha256=
|
583
|
+
qiskit/pulse/transforms/alignments.py,sha256=1FYQBJ7_xHLd5ryP76-R8rngZxXUaQ8oplPYmTFWZFo,13841
|
584
|
+
qiskit/pulse/transforms/dag.py,sha256=x19_a3qVk1r_L50PRTjVNiR_oI2jkB_fPTCrtdrpec0,4201
|
585
585
|
qiskit/pulse/transforms/__init__.py,sha256=4-BGF8CMvejz-cPitYW6YkxyiXOQ6_rTyIHwXRh_Hq4,2493
|
586
586
|
qiskit/pulse/transforms/base_transforms.py,sha256=4UAs4ku2yYOLhF05AFvfl4e_FdcEvX8DqkMEggRxvTE,2401
|
587
587
|
qiskit/converters/dagdependency_to_dag.py,sha256=6nzlOvC-gN8cbUaqlFX-mdVZ0_x6UMfYHfFSEPhUfx8,1615
|
@@ -602,7 +602,7 @@ qiskit/dagcircuit/dagdependency_v2.py,sha256=XlQs00qboMSm9Z0YqUsALrbyNrzOmq1QrFr
|
|
602
602
|
qiskit/dagcircuit/__init__.py,sha256=_EqnZKmQ3CdSov9QQDTSYcV21NKMluxy-YKluO9llPE,1192
|
603
603
|
qiskit/dagcircuit/exceptions.py,sha256=Jy8-MnQBLRphHwwE1PAeDfj9HOY70qp7r0k1sC_CiZE,1234
|
604
604
|
qiskit/dagcircuit/dagnode.py,sha256=C9oHL1pMN77AKI8jPt0aq0OWFuQflJuOoQ6huYRGCug,9085
|
605
|
-
qiskit/dagcircuit/dagcircuit.py,sha256=
|
605
|
+
qiskit/dagcircuit/dagcircuit.py,sha256=eEW9ctP4K1sWE81Y8RqU3lY7XlR4gT5jceXwAtbAPM4,104928
|
606
606
|
qiskit/scheduler/config.py,sha256=qiKdqRPRQ2frKJxgXP9mHlz6_KCYrcc6yNvxhG1WVmc,1264
|
607
607
|
qiskit/scheduler/sequence.py,sha256=VTfMT1KVuhsVs5lWED-KLmgHpxA5yocJhUwKogdru7E,3979
|
608
608
|
qiskit/scheduler/lowering.py,sha256=N_G4ozWm_z2ypPd92k9BOPZb6H2GGCE-CaEwu4xTWoA,8326
|
@@ -700,7 +700,7 @@ qiskit/primitives/backend_sampler.py,sha256=7V3-oWVNWS-UUQp2aI19NKFHgD-q1Y9qudmu
|
|
700
700
|
qiskit/primitives/estimator.py,sha256=hgdVcoVSuTC-zDHezJjBvN6NqB1dIvxjU3p1QRmrxBk,6368
|
701
701
|
qiskit/primitives/sampler.py,sha256=H2sgcx66xTZsodunf4CpfdZ12aVLLNUYHjR7VmaUkj0,5861
|
702
702
|
qiskit/primitives/backend_sampler_v2.py,sha256=Kb4WKXZE7Z6UQhcMOiWkZeB17e4SwHLR1SGb4IOc9PE,10602
|
703
|
-
qiskit/primitives/containers/data_bin.py,sha256=
|
703
|
+
qiskit/primitives/containers/data_bin.py,sha256=M4XE40yTkGutlEwh1EZXwdcQ2uKFIOyFf1h87jD1Ht0,5430
|
704
704
|
qiskit/primitives/containers/sampler_pub.py,sha256=tvbOa4RHZeJAL3kxen_QvClgrZtR7XUGYjJuoRQYvhI,6667
|
705
705
|
qiskit/primitives/containers/object_array.py,sha256=V50bfBDMhpIiD9UNI5r4R9bPmUN2abvMbZs_yEEn21g,3375
|
706
706
|
qiskit/primitives/containers/primitive_result.py,sha256=Vou_bepYOMeTG9yncWKLzQzL34fmFIs-Bl7xY-El5GM,1719
|
@@ -712,7 +712,7 @@ qiskit/primitives/containers/bit_array.py,sha256=4uj5VbbehUi-9W2LXT4QwBInrxhM_wh
|
|
712
712
|
qiskit/primitives/containers/shape.py,sha256=x1efHbvXKMGDfANboE3UGVK08uNVxWj2koxYc3YSgHI,3866
|
713
713
|
qiskit/primitives/containers/pub_result.py,sha256=IIM3jKczU2N4appeY1kh0BftssVD4LcwhbD2J791DTQ,1420
|
714
714
|
qiskit/primitives/containers/observables_array.py,sha256=OAKP7IDwiadZxXqV58wZYX3BA10pdSQ6-uh_sm8OzlY,10198
|
715
|
-
qiskit/primitives/base/base_estimator.py,sha256=
|
715
|
+
qiskit/primitives/base/base_estimator.py,sha256=tMHbUhIssOcPt6Dx4tErjtTUM5AQYF_vrbsqD8MFKRQ,8764
|
716
716
|
qiskit/primitives/base/base_sampler.py,sha256=ETSpSEL5lcMbK7DKgUO2XSv49LvLk9AE7mJJJYnsD3U,6928
|
717
717
|
qiskit/primitives/base/sampler_result.py,sha256=40QJ9lSvk2guq7NrLlFGZlsg7i_ZbVO61uE49Pu76wk,1434
|
718
718
|
qiskit/primitives/base/__init__.py,sha256=x-L2lp9MqjhBkVLlJJ-SwVntuUtcTy7brUKNwylGNJY,764
|
@@ -779,8 +779,8 @@ qiskit/quantum_info/operators/symplectic/__init__.py,sha256=avNZ9y84Y0x1_hfwZ7dv
|
|
779
779
|
qiskit/quantum_info/operators/symplectic/clifford.py,sha256=Dlnx8GaQ4VobKeGVn0mQHb65RcRgMEPUkTm1_dRGmN4,38597
|
780
780
|
qiskit/quantum_info/operators/symplectic/random.py,sha256=MAfeBMGRe05L2Ge4anUyNZWBOvLIQ1xXWf8VQhV9_fI,8897
|
781
781
|
qiskit/quantum_info/operators/symplectic/pauli_list.py,sha256=CcIOzo82jNXbbo6JW1F06kI6lMyDm3Pz0epvoa0UHrE,46141
|
782
|
-
qiskit/quantum_info/operators/symplectic/pauli.py,sha256=
|
783
|
-
qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py,sha256=
|
782
|
+
qiskit/quantum_info/operators/symplectic/pauli.py,sha256=r6Nb2Dfg9GIxDCe2LHiZnOxfCeofjExu5-A0CryD5uc,28563
|
783
|
+
qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py,sha256=1vZRNLvOkZTFrMPi2ysYqaLjhWjrwZciSysE2KqjP98,47066
|
784
784
|
qiskit/quantum_info/operators/dihedral/dihedral_circuits.py,sha256=XEvzlJxblN0ZYPJbYuAlmQyqmQ8pYz_IJXutuDkWK0g,8799
|
785
785
|
qiskit/quantum_info/operators/dihedral/dihedral.py,sha256=dG3GTccskxAMnrzI0SDs_Sjv1629yJz_j5Bg0WKVWoc,20264
|
786
786
|
qiskit/quantum_info/operators/dihedral/__init__.py,sha256=z_a63ppM7gZqDiB3XJccyEIDyka2c4LkpsKzkYWDb-Y,586
|
@@ -812,9 +812,9 @@ qiskit/compiler/__init__.py,sha256=Far4-zXOyDGCqdNmFP4Q8zV47meApMw6sbIdd1t_wM4,9
|
|
812
812
|
qiskit/compiler/assembler.py,sha256=e6LEZ5gZKj5YkFvEUQswmgg5Q5z0wC1BsN-22Su-W-4,26709
|
813
813
|
qiskit/compiler/transpiler.py,sha256=LZYdnfqb2UDufn_Tdl1tVgT-_BY_zzEF7YDW182-FuE,24018
|
814
814
|
qiskit/compiler/scheduler.py,sha256=wjIqDBNkspcLMEuHxHxCUREKiq3FMx9xfo0Ug_QPBYA,4411
|
815
|
-
qiskit-1.2.
|
816
|
-
qiskit-1.2.
|
817
|
-
qiskit-1.2.
|
818
|
-
qiskit-1.2.
|
819
|
-
qiskit-1.2.
|
820
|
-
qiskit-1.2.
|
815
|
+
qiskit-1.2.2.dist-info/RECORD,,
|
816
|
+
qiskit-1.2.2.dist-info/WHEEL,sha256=lmqPbMnkYfRLFzK4tzuBqPppyHOzdJYfX2reiDko3_0,113
|
817
|
+
qiskit-1.2.2.dist-info/entry_points.txt,sha256=dCqiF7i6g_s6cYnXX7UUO1MM63xFFb5DCHYEYyGAeCc,3556
|
818
|
+
qiskit-1.2.2.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
|
819
|
+
qiskit-1.2.2.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
|
820
|
+
qiskit-1.2.2.dist-info/METADATA,sha256=xb2Gf4mENFXtfm_ZSVF_qu_Tv6wrDQqjbnqj5OmskfM,12867
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|