qiskit 1.3.0__cp39-abi3-macosx_11_0_arm64.whl → 1.3.0rc1__cp39-abi3-macosx_11_0_arm64.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 CHANGED
@@ -1 +1 @@
1
- 1.3.0
1
+ 1.3.0rc1
Binary file
@@ -36,7 +36,7 @@ For example, to append a multi-controlled CNOT:
36
36
  circuit.append(gate, [0, 1, 4, 2, 3])
37
37
  circuit.draw('mpl')
38
38
 
39
- The library is organized in several sections. The function
39
+ The library is organized in several sections. The function
40
40
  :func:`.get_standard_gate_name_mapping` allows you to see the available standard gates and operations.
41
41
 
42
42
  .. autofunction:: get_standard_gate_name_mapping
@@ -221,10 +221,10 @@ or of a set of qubit states.
221
221
  OrGate
222
222
  XOR
223
223
  BitwiseXorGate
224
- random_bitwise_xor
225
224
  InnerProduct
226
225
  InnerProductGate
227
226
 
227
+ .. autofunction:: random_bitwise_xor
228
228
 
229
229
  Basis Change Circuits
230
230
  =====================
@@ -280,9 +280,6 @@ Adders
280
280
  CDKMRippleCarryAdder
281
281
  VBERippleCarryAdder
282
282
  WeightedAdder
283
- ModularAdderGate
284
- HalfAdderGate
285
- FullAdderGate
286
283
 
287
284
  Multipliers
288
285
  -----------
@@ -293,7 +290,6 @@ Multipliers
293
290
 
294
291
  HRSCumulativeMultiplier
295
292
  RGQFTMultiplier
296
- MultiplierGate
297
293
 
298
294
  Comparators
299
295
  -----------
@@ -325,40 +321,29 @@ Other arithmetic functions
325
321
  Particular Quantum Circuits
326
322
  ===========================
327
323
 
328
- The following gates and quantum circuits define specific
329
- quantum circuits of interest:
330
-
331
324
  .. autosummary::
332
325
  :toctree: ../stubs/
333
326
  :template: autosummary/class_no_inherited_members.rst
334
327
 
335
328
  FourierChecking
329
+ fourier_checking
336
330
  GraphState
337
331
  GraphStateGate
338
332
  HiddenLinearFunction
333
+ hidden_linear_function
339
334
  IQP
335
+ iqp
336
+ random_iqp
340
337
  QuantumVolume
338
+ quantum_volume
341
339
  PhaseEstimation
340
+ phase_estimation
342
341
  GroverOperator
342
+ grover_operator
343
343
  PhaseOracle
344
344
  PauliEvolutionGate
345
345
  HamiltonianGate
346
346
  UnitaryOverlap
347
-
348
- For circuits that have a well-defined structure it is preferrable
349
- to use the following functions to construct them:
350
-
351
- .. autosummary::
352
- :toctree: ../stubs/
353
- :template: autosummary/class_no_inherited_members.rst
354
-
355
- fourier_checking
356
- hidden_linear_function
357
- iqp
358
- random_iqp
359
- quantum_volume
360
- phase_estimation
361
- grover_operator
362
347
  unitary_overlap
363
348
 
364
349
 
@@ -377,7 +362,6 @@ a broad set of variational quantum algorithms:
377
362
  real_amplitudes
378
363
  pauli_two_design
379
364
  excitation_preserving
380
- qaoa_ansatz
381
365
  hamiltonian_variational_ansatz
382
366
  evolved_operator_ansatz
383
367
 
@@ -402,7 +386,7 @@ They are heavily used in near-term algorithms in e.g. Chemistry, Physics or Opti
402
386
  Data encoding circuits
403
387
  ======================
404
388
 
405
- The following functions return a parameterized :class:`.QuantumCircuit` to use as data
389
+ The following functions return a parameterized :class:`.QuantumCircuit` to use as data
406
390
  encoding circuits in a series of variational quantum algorithms:
407
391
 
408
392
  .. autosummary::
@@ -423,17 +407,6 @@ data in quantum states and are used as feature maps for classification.
423
407
  PauliFeatureMap
424
408
  ZFeatureMap
425
409
  ZZFeatureMap
426
-
427
-
428
- Data preparation circuits
429
- =========================
430
-
431
- The following operations are used for state preparation:
432
-
433
- .. autosummary::
434
- :toctree: ../stubs/
435
- :template: autosummary/class_no_inherited_members.rst
436
-
437
410
  StatePreparation
438
411
  Initialize
439
412
 
@@ -21,7 +21,7 @@ from qiskit.utils.deprecation import deprecate_func
21
21
  class Adder(QuantumCircuit):
22
22
  r"""Compute the sum of two equally sized qubit registers.
23
23
 
24
- For two registers :math:`|a\rangle_n` and :math:`|b\rangle_n` with :math:`n` qubits each, an
24
+ For two registers :math:`|a\rangle_n` and :math:|b\rangle_n` with :math:`n` qubits each, an
25
25
  adder performs the following operation
26
26
 
27
27
  .. math::
@@ -74,7 +74,7 @@ class Adder(QuantumCircuit):
74
74
  class HalfAdderGate(Gate):
75
75
  r"""Compute the sum of two equally-sized qubit registers, including a carry-out bit.
76
76
 
77
- For two registers :math:`|a\rangle_n` and :math:`|b\rangle_n` with :math:`n` qubits each, an
77
+ For two registers :math:`|a\rangle_n` and :math:|b\rangle_n` with :math:`n` qubits each, an
78
78
  adder performs the following operation
79
79
 
80
80
  .. math::
@@ -120,7 +120,7 @@ class HalfAdderGate(Gate):
120
120
  class ModularAdderGate(Gate):
121
121
  r"""Compute the sum modulo :math:`2^n` of two :math:`n`-sized qubit registers.
122
122
 
123
- For two registers :math:`|a\rangle_n` and :math:`|b\rangle_n` with :math:`n` qubits each, an
123
+ For two registers :math:`|a\rangle_n` and :math:|b\rangle_n` with :math:`n` qubits each, an
124
124
  adder performs the following operation
125
125
 
126
126
  .. math::
@@ -166,12 +166,12 @@ class ModularAdderGate(Gate):
166
166
  class FullAdderGate(Gate):
167
167
  r"""Compute the sum of two :math:`n`-sized qubit registers, including carry-in and -out bits.
168
168
 
169
- For two registers :math:`|a\rangle_n` and :math:`|b\rangle_n` with :math:`n` qubits each, an
169
+ For two registers :math:`|a\rangle_n` and :math:|b\rangle_n` with :math:`n` qubits each, an
170
170
  adder performs the following operation
171
171
 
172
172
  .. math::
173
173
 
174
- |c_{\text{in}}\rangle_1 |a\rangle_n |b\rangle_n
174
+ |c_{\text{in}\rangle_1 |a\rangle_n |b\rangle_n
175
175
  \mapsto |a\rangle_n |c_{\text{in}} + a + b \rangle_{n + 1}.
176
176
 
177
177
  The quantum register :math:`|a\rangle_n` (and analogously :math:`|b\rangle_n`)
@@ -84,7 +84,7 @@ class CDKMRippleCarryAdder(Adder):
84
84
  :class:`.ModularAdderGate`: A generic inplace adder, modulo :math:`2^n`. This
85
85
  is functionally equivalent to ``kind="fixed"``.
86
86
 
87
- :class:`.HalfAdderGate`: A generic inplace adder. This
87
+ :class:`.AdderGate`: A generic inplace adder. This
88
88
  is functionally equivalent to ``kind="half"``.
89
89
 
90
90
  :class:`.FullAdderGate`: A generic inplace adder, with a carry-in bit. This
@@ -54,7 +54,7 @@ class DraperQFTAdder(Adder):
54
54
  :class:`.ModularAdderGate`: A generic inplace adder, modulo :math:`2^n`. This
55
55
  is functionally equivalent to ``kind="fixed"``.
56
56
 
57
- :class:`.HalfAdderGate`: A generic inplace adder. This
57
+ :class:`.AdderGate`: A generic inplace adder. This
58
58
  is functionally equivalent to ``kind="half"``.
59
59
 
60
60
  **References:**
@@ -60,7 +60,7 @@ class VBERippleCarryAdder(Adder):
60
60
  :class:`.ModularAdderGate`: A generic inplace adder, modulo :math:`2^n`. This
61
61
  is functionally equivalent to ``kind="fixed"``.
62
62
 
63
- :class:`.HalfAdderGate`: A generic inplace adder. This
63
+ :class:`.AdderGate`: A generic inplace adder. This
64
64
  is functionally equivalent to ``kind="half"``.
65
65
 
66
66
  :class:`.FullAdderGate`: A generic inplace adder, with a carry-in bit. This
@@ -82,7 +82,7 @@ def init_observable(observable: BaseOperator | str) -> SparsePauliOp:
82
82
  since="1.2",
83
83
  additional_msg="Use ``QuantumCircuit.layout`` and ``SparsePauliOp.apply_layout`` "
84
84
  + "to adjust an operator for a layout. Otherwise, use ``mthree.utils.final_measurement_mapping``. "
85
- + "See <https://qiskit.github.io/qiskit-addon-mthree/apidocs/utils> for details.",
85
+ + "See https://qiskit-extensions.github.io/mthree/apidocs/utils.html for details.",
86
86
  )
87
87
  def final_measurement_mapping(circuit: QuantumCircuit) -> dict[int, int]:
88
88
  """Return the final measurement mapping for the circuit.
@@ -160,7 +160,7 @@ steps for writing a provider are:
160
160
  interacting with a running job.
161
161
 
162
162
  For a simple example of a provider, see the
163
- `qiskit-aqt-provider <https://github.com/qiskit-community/qiskit-aqt-provider>`__
163
+ `qiskit-aqt-provider <https://github.com/Qiskit-Partners/qiskit-aqt-provider>`__
164
164
 
165
165
  Provider
166
166
  --------
@@ -664,7 +664,7 @@ that abstract away the mechanics of getting the best result efficiently, to
664
664
  concentrate on higher level applications using these outputs.
665
665
 
666
666
  For example, if your backends were well suited to leverage
667
- `mthree <https://github.com/Qiskit/qiskit-addon-mthree>`__ measurement
667
+ `mthree <https://github.com/Qiskit-Partners/mthree/>`__ measurement
668
668
  mitigation to improve the quality of the results, you could implement a
669
669
  provider-specific :class:`~.Sampler` implementation that leverages the
670
670
  ``M3Mitigation`` class internally to run the circuits and return
@@ -476,7 +476,7 @@ class Statevector(QuantumState, TolerancesMixin):
476
476
  pauli_phase = (-1j) ** pauli.phase if pauli.phase else 1
477
477
 
478
478
  if x_mask + z_mask == 0:
479
- return pauli_phase * np.linalg.norm(self.data) ** 2
479
+ return pauli_phase * np.linalg.norm(self.data)
480
480
 
481
481
  if x_mask == 0:
482
482
  return pauli_phase * expval_pauli_no_x(self.data, self.num_qubits, z_mask)
@@ -12,11 +12,9 @@
12
12
 
13
13
  """Replace each block of consecutive gates by a single Unitary node."""
14
14
  from __future__ import annotations
15
- from math import pi
16
15
 
17
16
  from qiskit.synthesis.two_qubit import TwoQubitBasisDecomposer
18
- from qiskit.circuit.library.standard_gates import CXGate, CZGate, iSwapGate, ECRGate, RXXGate
19
-
17
+ from qiskit.circuit.library.standard_gates import CXGate, CZGate, iSwapGate, ECRGate
20
18
  from qiskit.transpiler.basepasses import TransformationPass
21
19
  from qiskit.transpiler.passmanager import PassManager
22
20
  from qiskit._accelerate.consolidate_blocks import consolidate_blocks
@@ -29,7 +27,6 @@ KAK_GATE_NAMES = {
29
27
  "cz": CZGate(),
30
28
  "iswap": iSwapGate(),
31
29
  "ecr": ECRGate(),
32
- "rxx": RXXGate(pi / 2),
33
30
  }
34
31
 
35
32
 
@@ -73,6 +70,7 @@ class ConsolidateBlocks(TransformationPass):
73
70
  if basis_gates is not None:
74
71
  self.basis_gates = set(basis_gates)
75
72
  self.force_consolidate = force_consolidate
73
+
76
74
  if kak_basis_gate is not None:
77
75
  self.decomposer = TwoQubitBasisDecomposer(kak_basis_gate)
78
76
  elif basis_gates is not None:
@@ -81,12 +79,8 @@ class ConsolidateBlocks(TransformationPass):
81
79
  self.decomposer = TwoQubitBasisDecomposer(
82
80
  KAK_GATE_NAMES[kak_gates.pop()], basis_fidelity=approximation_degree or 1.0
83
81
  )
84
- elif "rzx" in basis_gates:
85
- self.decomposer = TwoQubitBasisDecomposer(
86
- CXGate(), basis_fidelity=approximation_degree or 1.0
87
- )
88
82
  else:
89
- self.decomposer = None
83
+ self.decomposer = TwoQubitBasisDecomposer(CXGate())
90
84
  else:
91
85
  self.decomposer = TwoQubitBasisDecomposer(CXGate())
92
86
 
@@ -109,7 +103,6 @@ class ConsolidateBlocks(TransformationPass):
109
103
  consolidate_blocks(
110
104
  dag,
111
105
  self.decomposer._inner_decomposer,
112
- self.decomposer.gate.name,
113
106
  self.force_consolidate,
114
107
  target=self.target,
115
108
  basis_gates=self.basis_gates,
@@ -19,7 +19,6 @@ from qiskit.circuit import Gate
19
19
  from qiskit.dagcircuit import DAGCircuit
20
20
  from qiskit.transpiler.basepasses import TransformationPass
21
21
  from qiskit.transpiler.exceptions import TranspilerError
22
- from qiskit.transpiler.passes.utils import control_flow
23
22
 
24
23
  from qiskit._accelerate.inverse_cancellation import inverse_cancellation
25
24
 
@@ -75,7 +74,6 @@ class InverseCancellation(TransformationPass):
75
74
 
76
75
  super().__init__()
77
76
 
78
- @control_flow.trivial_recurse
79
77
  def run(self, dag: DAGCircuit):
80
78
  """Run the InverseCancellation pass on `dag`.
81
79
 
@@ -382,7 +382,7 @@ class HighLevelSynthesis(TransformationPass):
382
382
 
383
383
  # If the synthesis changed the operation (i.e. it is not None), store the result.
384
384
  if synthesized is not None:
385
- synthesized_nodes[node._node_id] = (synthesized, synthesized_context)
385
+ synthesized_nodes[node] = (synthesized, synthesized_context)
386
386
 
387
387
  # If the synthesis did not change anything, just update the qubit tracker.
388
388
  elif not processed:
@@ -407,9 +407,8 @@ class HighLevelSynthesis(TransformationPass):
407
407
  outer_to_local = context.to_local_mapping()
408
408
 
409
409
  for node in dag.topological_op_nodes():
410
-
411
- if op_tuple := synthesized_nodes.get(node._node_id, None):
412
- op, op_context = op_tuple
410
+ if node in synthesized_nodes:
411
+ op, op_context = synthesized_nodes[node]
413
412
 
414
413
  if isinstance(op, Operation):
415
414
  out.apply_operation_back(op, node.qargs, node.cargs)
@@ -814,7 +813,6 @@ class HighLevelSynthesis(TransformationPass):
814
813
  dag._has_calibration_for(node)
815
814
  or len(node.qargs) < self._min_qubits
816
815
  or node.is_directive()
817
- or (self._instruction_supported(node.name, qubits) and not node.is_control_flow())
818
816
  ):
819
817
  return True
820
818
 
@@ -832,12 +830,15 @@ class HighLevelSynthesis(TransformationPass):
832
830
  # If all the above constraints hold, and it's already supported or the basis translator
833
831
  # can handle it, we'll leave it be.
834
832
  and (
833
+ self._instruction_supported(node.name, qubits)
835
834
  # This uses unfortunately private details of `EquivalenceLibrary`, but so does the
836
835
  # `BasisTranslator`, and this is supposed to just be temporary til this is moved
837
836
  # into Rust space.
838
- self._equiv_lib is not None
839
- and equivalence.Key(name=node.name, num_qubits=node.num_qubits)
840
- in self._equiv_lib.keys()
837
+ or (
838
+ self._equiv_lib is not None
839
+ and equivalence.Key(name=node.name, num_qubits=node.num_qubits)
840
+ in self._equiv_lib.keys()
841
+ )
841
842
  )
842
843
  )
843
844
 
@@ -263,12 +263,11 @@ Pauli Evolution Synthesis
263
263
  - Targeted connectivity
264
264
  * - ``"rustiq"``
265
265
  - :class:`~.PauliEvolutionSynthesisRustiq`
266
- - use the synthesis method from `Rustiq circuit synthesis library
267
- <https://github.com/smartiel/rustiq-core>`_
266
+ - use a diagonalizing Clifford per Pauli term
268
267
  - all-to-all
269
268
  * - ``"default"``
270
269
  - :class:`~.PauliEvolutionSynthesisDefault`
271
- - use a diagonalizing Clifford per Pauli term
270
+ - use ``rustiq_core`` synthesis library
272
271
  - all-to-all
273
272
 
274
273
  .. autosummary::
@@ -376,7 +375,7 @@ Multiplier Synthesis
376
375
  - Description
377
376
  * - ``"cumulative"``
378
377
  - :class:`.MultiplierSynthesisH18`
379
- - depending on the :class:`.HalfAdderGate` used
378
+ - depending on the :class:`.AdderGate` used
380
379
  - a cumulative adder based on controlled adders
381
380
  * - ``"qft"``
382
381
  - :class:`.MultiplierSynthesisR17`
@@ -479,11 +479,10 @@ def _parse_basis_gates(basis_gates, backend, inst_map, skip_target):
479
479
  if inst not in standard_gates and inst not in default_gates:
480
480
  warnings.warn(
481
481
  category=DeprecationWarning,
482
- message=f"Providing non-standard gates ({inst}) through the ``basis_gates`` "
483
- "argument is deprecated for both ``transpile`` and ``generate_preset_pass_manager`` "
484
- "as of Qiskit 1.3.0. "
482
+ message="Providing custom gates through the ``basis_gates`` argument is deprecated "
483
+ "for both ``transpile`` and ``generate_preset_pass_manager`` as of Qiskit 1.3.0. "
485
484
  "It will be removed in Qiskit 2.0. The ``target`` parameter should be used instead. "
486
- "You can build a target instance using ``Target.from_configuration()`` and provide "
485
+ "You can build a target instance using ``Target.from_configuration()`` and provide"
487
486
  "custom gate definitions with the ``custom_name_mapping`` argument.",
488
487
  )
489
488
  skip_target = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qiskit
3
- Version: 1.3.0
3
+ Version: 1.3.0rc1
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
@@ -37,6 +37,12 @@ Requires-Dist: python-dateutil>=2.8.0
37
37
  Requires-Dist: stevedore>=3.0.0
38
38
  Requires-Dist: typing-extensions
39
39
  Requires-Dist: symengine<0.14,>=0.11
40
+ Provides-Extra: all
41
+ Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization]; extra == "all"
42
+ Provides-Extra: crosstalk-pass
43
+ Requires-Dist: z3-solver>=4.7; extra == "crosstalk-pass"
44
+ Provides-Extra: csp-layout-pass
45
+ Requires-Dist: python-constraint>=1.4; extra == "csp-layout-pass"
40
46
  Provides-Extra: qasm3-import
41
47
  Requires-Dist: qiskit-qasm3-import>=0.1.0; extra == "qasm3-import"
42
48
  Provides-Extra: visualization
@@ -45,12 +51,6 @@ Requires-Dist: pydot; extra == "visualization"
45
51
  Requires-Dist: Pillow>=4.2.1; extra == "visualization"
46
52
  Requires-Dist: pylatexenc>=1.4; extra == "visualization"
47
53
  Requires-Dist: seaborn>=0.9.0; extra == "visualization"
48
- Provides-Extra: crosstalk-pass
49
- Requires-Dist: z3-solver>=4.7; extra == "crosstalk-pass"
50
- Provides-Extra: csp-layout-pass
51
- Requires-Dist: python-constraint>=1.4; extra == "csp-layout-pass"
52
- Provides-Extra: all
53
- Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization]; extra == "all"
54
54
 
55
55
  # Qiskit
56
56
 
@@ -120,13 +120,13 @@ we use `measure_all(inplace=False)` to get a copy of the circuit in which all th
120
120
  qc_measured = qc_example.measure_all(inplace=False)
121
121
 
122
122
  # 3. Execute using the Sampler primitive
123
- from qiskit.primitives import StatevectorSampler
124
- sampler = StatevectorSampler()
125
- job = sampler.run([qc_measured], shots=1000)
123
+ from qiskit.primitives.sampler import Sampler
124
+ sampler = Sampler()
125
+ job = sampler.run(qc_measured, shots=1000)
126
126
  result = job.result()
127
- print(f" > Counts: {result[0].meas.get_counts()}")
127
+ print(f" > Quasi probability distribution: {result.quasi_dists}")
128
128
  ```
129
- Running this will give an outcome similar to `{'000': 497, '111': 503}` which is `000` 50% of the time and `111` 50% of the time up to statistical fluctuations.
129
+ Running this will give an outcome similar to `{0: 0.497, 7: 0.503}` which is `000` 50% of the time and `111` 50% of the time up to statistical fluctuations.
130
130
  To illustrate the power of Estimator, we now use the quantum information toolbox to create the operator $XXY+XYX+YXX-YYY$ and pass it to the `run()` function, along with our quantum circuit. Note the Estimator requires a circuit _**without**_ measurement, so we use the `qc_example` circuit we created earlier.
131
131
 
132
132
  ```python
@@ -135,17 +135,17 @@ from qiskit.quantum_info import SparsePauliOp
135
135
  operator = SparsePauliOp.from_list([("XXY", 1), ("XYX", 1), ("YXX", 1), ("YYY", -1)])
136
136
 
137
137
  # 3. Execute using the Estimator primitive
138
- from qiskit.primitives import StatevectorEstimator
139
- estimator = StatevectorEstimator()
140
- job = estimator.run([(qc_example, operator)], precision=1e-3)
138
+ from qiskit.primitives import Estimator
139
+ estimator = Estimator()
140
+ job = estimator.run(qc_example, operator, shots=1000)
141
141
  result = job.result()
142
- print(f" > Expectation values: {result[0].data.evs}")
142
+ print(f" > Expectation values: {result.values}")
143
143
  ```
144
144
 
145
145
  Running this will give the outcome `4`. For fun, try to assign a value of +/- 1 to each single-qubit operator X and Y
146
146
  and see if you can achieve this outcome. (Spoiler alert: this is not possible!)
147
147
 
148
- Using the Qiskit-provided `qiskit.primitives.StatevectorSampler` and `qiskit.primitives.StatevectorEstimator` will not take you very far.
148
+ Using the Qiskit-provided `qiskit.primitives.Sampler` and `qiskit.primitives.Estimator` will not take you very far.
149
149
  The power of quantum computing cannot be simulated on classical computers and you need to use real quantum hardware to scale to larger quantum circuits.
150
150
  However, running a quantum circuit on hardware requires rewriting to the basis gates and connectivity of the quantum hardware.
151
151
  The tool that does this is the [transpiler](https://docs.quantum.ibm.com/api/qiskit/transpiler), and Qiskit includes transpiler passes for synthesis, optimization, mapping, and scheduling.
@@ -160,7 +160,7 @@ qc_transpiled = transpile(qc_example, basis_gates = ['cz', 'sx', 'rz'], coupling
160
160
  ### Executing your code on real quantum hardware
161
161
 
162
162
  Qiskit provides an abstraction layer that lets users run quantum circuits on hardware from any vendor that provides a compatible interface.
163
- The best way to use Qiskit is with a runtime environment that provides optimized implementations of `sampler` and `estimator` for a given hardware platform. This runtime may involve using pre- and post-processing, such as optimized transpiler passes with error suppression, error mitigation, and, eventually, error correction built in. A runtime implements `qiskit.primitives.BaseSamplerV2` and `qiskit.primitives.BaseEstimatorV2` interfaces. For example,
163
+ The best way to use Qiskit is with a runtime environment that provides optimized implementations of `sampler` and `estimator` for a given hardware platform. This runtime may involve using pre- and post-processing, such as optimized transpiler passes with error suppression, error mitigation, and, eventually, error correction built in. A runtime implements `qiskit.primitives.BaseSampler` and `qiskit.primitives.BaseEstimator` interfaces. For example,
164
164
  some packages that provide implementations of a runtime primitive implementation are:
165
165
 
166
166
  * https://github.com/Qiskit/qiskit-ibm-runtime
@@ -1,10 +1,10 @@
1
1
  qiskit/version.py,sha256=MiraFeJt5GQEspFyvP3qJedHen2C1e8dNEttzg0u7YU,2498
2
2
  qiskit/__init__.py,sha256=MHSxG7bMhoESBIzoz9DdWdolCdPTwnwHJ80zjWMoRd4,7483
3
- qiskit/_accelerate.abi3.so,sha256=UhClPzNVratEUU8pd2t7i9E_dSAQfHub4_dE2lAxc94,8713032
3
+ qiskit/_accelerate.abi3.so,sha256=NlsFLTyDfoLYocte-eoLclwwUTYamrhnYdQwJ2jKG8Q,8746344
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=ZNI_hY71Gw-Zbklm1OJ8A3G0N-LSeHiQsfetItTsVmM,6
7
+ qiskit/VERSION.txt,sha256=oF8wcE1KomvaQ5YkAnT5Eqcilzx2jXMriqOqa8SgqQA,9
8
8
  qiskit/visualization/circuit_visualization.py,sha256=6R-A96Uwb_RZOovsSB0LGVsC7lP5IhtLNp6VP2yVBwE,698
9
9
  qiskit/visualization/counts_visualization.py,sha256=rgoEqV0gucL9Auz33wf1LiRWR3yFQzjK94zzBF830iY,16791
10
10
  qiskit/visualization/pass_manager_visualization.py,sha256=19m4pUdYG0csZgQbuxfFP-zfoVGnk0pJr0HVToD1Y04,10886
@@ -147,13 +147,13 @@ qiskit/transpiler/passes/optimization/normalize_rx_angle.py,sha256=23ZddjkU924Yc
147
147
  qiskit/transpiler/passes/optimization/commutative_cancellation.py,sha256=2IA7m3K-iIV9xMUpUyOiGlpu2JCA6w0dTXJZBAa8ZrQ,3274
148
148
  qiskit/transpiler/passes/optimization/collect_cliffords.py,sha256=IYxqCHBu7ZsdLQ2VQT4nOeP60IFgwE5Wt7G_qA_7xRE,3572
149
149
  qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py,sha256=MppN-ahGFLNfVsnUCnoBhjz1dZqZJslSqeiJYwgLDpQ,9840
150
- qiskit/transpiler/passes/optimization/inverse_cancellation.py,sha256=V9jj9BQlt5KfkwfPwjxExTlpme3UI0XD-AkbwjSfMzw,3524
150
+ qiskit/transpiler/passes/optimization/inverse_cancellation.py,sha256=2noeu1bmqDcZeKCwCsGJ2mt7trcNo6JNBxaotgY2qCM,3434
151
151
  qiskit/transpiler/passes/optimization/_gate_extension.py,sha256=_rOObudQUvzSnaa9wAYbdKX7ZVc-vpazKc4pSWhXICw,3306
152
152
  qiskit/transpiler/passes/optimization/template_optimization.py,sha256=biZ_UD1AJcpZ9bLknXumMgk1KGui7i-ZkeyKD2B7aFU,6733
153
153
  qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py,sha256=UMrjcUB5cbHCuuSTp6kA8664IBV1R7WwLBWaKj_PjHs,9951
154
154
  qiskit/transpiler/passes/optimization/optimize_cliffords.py,sha256=GXX8c_M1i4I6l6sCbftGpZpjXROL4arLbH6_l1hWSBE,3221
155
155
  qiskit/transpiler/passes/optimization/optimize_annotated.py,sha256=3lGbhP_KwOgM8qfkkqxIf13T80h55JVwn3nqoPD3kaw,18785
156
- qiskit/transpiler/passes/optimization/consolidate_blocks.py,sha256=nEDNl8wbg95eAhD_TpZRvYLk7GwNfSr5S7bWoJgQFNM,5610
156
+ qiskit/transpiler/passes/optimization/consolidate_blocks.py,sha256=bzKn4TmdHDJ_z0PgPKvVhVCdZ7o59oGOBG7J3enGKl4,5354
157
157
  qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py,sha256=2PZ_1lheWvq8Y9ualZjn-qIzHH6dnX2BMUtjOir-efs,2011
158
158
  qiskit/transpiler/passes/optimization/optimize_1q_commutation.py,sha256=svyl0lMrgv0nGm5F59Yc-fgQXuJ2SngNmi_v6t6iZMQ,10315
159
159
  qiskit/transpiler/passes/optimization/template_matching/template_matching.py,sha256=Rmry8mO4rgB1uWvQ4UC7XGVjh53VT8eR-uQzRO3o9Xs,17655
@@ -181,11 +181,11 @@ qiskit/transpiler/passes/utils/gates_basis.py,sha256=9AQ8uKi4CmiGF0CBnLQfc07ca_H
181
181
  qiskit/transpiler/passes/utils/barrier_before_final_measurements.py,sha256=1N8OMvteNo9UpRPn7aST62D56u8ikSTYK8ZFZWKOYGE,1530
182
182
  qiskit/transpiler/passes/utils/fixed_point.py,sha256=AiwkNvu-SLHvodddJRKfFEl7FPC62u1f3CB9lRne9eY,1773
183
183
  qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py,sha256=xM0KHNaH8N9-tn5rhC5tAGc5-faID8GvVFbH6HCqnsE,11052
184
- qiskit/transpiler/passes/synthesis/hls_plugins.py,sha256=cuQ6-6qDfks_oA8afqvP3u3hIw6fRXzi7-swGrPf9L0,58255
184
+ qiskit/transpiler/passes/synthesis/hls_plugins.py,sha256=WqMhSA0kBXjMgE7weLNp-JqKnvTQJiOrDyX-VtfP8Aw,58172
185
185
  qiskit/transpiler/passes/synthesis/__init__.py,sha256=VYO9Sl_SJyoZ_bLronrkvK9u8kL-LW9G93LbWyWNEaM,925
186
186
  qiskit/transpiler/passes/synthesis/plugin.py,sha256=LnvGzGJ8Q5gSPKSJNmJ7fvnUub8lzG5iGGTqOTODpes,30806
187
187
  qiskit/transpiler/passes/synthesis/linear_functions_synthesis.py,sha256=Q1r-52HMETK_7iWTMmJKGU39rNws-MrmGDHh7TgQVj4,1407
188
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=rTORc72gdQhty_0XE8VMESznuRbNiDdAp2O4QfCZl74,40585
188
+ qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=BMXJQAoNovO28dfCk7Yx0oR5cKZjOYJIDF-gEHoItoI,40580
189
189
  qiskit/transpiler/passes/synthesis/unitary_synthesis.py,sha256=0Y97BlIvXgR1-PoQscwGHFiYDR8fyT2S1R9DMLQa-30,45663
190
190
  qiskit/transpiler/passes/synthesis/aqc_plugin.py,sha256=SDgHqcCHR0hON50ckSHQDrVnBzOc-I7hYibE6r6oaB8,5343
191
191
  qiskit/transpiler/passes/routing/__init__.py,sha256=SHAsTgVHmWlf1wp9WirLqN5kz9HOK-RkwjOxX4qzMMQ,942
@@ -214,7 +214,7 @@ qiskit/transpiler/passes/basis/unroll_custom_definitions.py,sha256=X5YkxVycMGDbz
214
214
  qiskit/transpiler/preset_passmanagers/builtin_plugins.py,sha256=H94fshiPOA8c-M0WfkvV3LmjdgRbQYWbi7yP8PgTl08,43969
215
215
  qiskit/transpiler/preset_passmanagers/level0.py,sha256=emrcxdh3Rnv5pyAo5WuMJlY3tfz6WnkKJlGao7vSYAI,4277
216
216
  qiskit/transpiler/preset_passmanagers/__init__.py,sha256=i6t27h2cHewTwN6g8JAyR98obTTP9Aimzqdl2SRdiwQ,2758
217
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py,sha256=oxkjpVKJ0Dup3eKhn4LRXCFGlqnmoERc28C_pC2xKDE,30890
217
+ qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py,sha256=P7-8j2mbdWrqwDhPNCy-va_Q9Lzhc8jUUUs4FLkO9CM,30850
218
218
  qiskit/transpiler/preset_passmanagers/level1.py,sha256=15OG8az6JecM-3CjyFNgIrTL8HW_2hiFRmoZvpu8c_k,4806
219
219
  qiskit/transpiler/preset_passmanagers/common.py,sha256=_y0ABya647oTEbl8s8EcnXr8bInYVztN7BCnB5iFjRk,26522
220
220
  qiskit/transpiler/preset_passmanagers/level2.py,sha256=Bt0EAyreXQb5cxAR6JF_4XoieaJVwi2qO5UyxYSHZiY,4731
@@ -301,7 +301,7 @@ qiskit/circuit/library/blueprintcircuit.py,sha256=Iqh8gGTfAHwBzeCW1Iy1foUnBBCLAD
301
301
  qiskit/circuit/library/graph_state.py,sha256=bOCAj8qsC7k-OS6qWkhUH8nBBd2I5uKOkrzLh2Aek1g,6113
302
302
  qiskit/circuit/library/iqp.py,sha256=0NtQQFsp2HcdbPGkIzjugQ6ym6uow0IOHX_-mTvmrEk,5754
303
303
  qiskit/circuit/library/fourier_checking.py,sha256=h81zaCc4AWF3luFyy8stGoU-UWcubP-Srqs92duqDQw,6252
304
- qiskit/circuit/library/__init__.py,sha256=jo55p9TvRYOO-qlNanHILFsYF1gryw5J8d5zuW7n9kA,15885
304
+ qiskit/circuit/library/__init__.py,sha256=AUVh1_a8ia9OHV09MGakHrKXpQYLV9lxT4o-kRCFvHU,15300
305
305
  qiskit/circuit/library/quantum_volume.py,sha256=YsK0LdG0aofbR9RTJ46EpdN_eqTICDF4Zs9kPE-XS1c,6614
306
306
  qiskit/circuit/library/phase_estimation.py,sha256=Sc5SjPTOjuqkO-liA5iybqzjEfMJyMbMlFfnOwhPplU,6456
307
307
  qiskit/circuit/library/overlap.py,sha256=JTSg9L6lMKL4xnatIWnQupb8GJYJrDV-DM8wXJsjjhU,7085
@@ -350,11 +350,11 @@ qiskit/circuit/library/arithmetic/polynomial_pauli_rotations.py,sha256=yRJCMelQy
350
350
  qiskit/circuit/library/arithmetic/weighted_adder.py,sha256=Eie1pZuUYF67QbtrVavAwaXswWp44rYAKloUMYdIBWs,12829
351
351
  qiskit/circuit/library/arithmetic/functional_pauli_rotations.py,sha256=dM5UO0YraoIXYKXOnaGpH78JZUfeKYMxPdqKDVeP7cQ,3615
352
352
  qiskit/circuit/library/arithmetic/piecewise_polynomial_pauli_rotations.py,sha256=gphgftLaugjiC8bSLlGG0l7xmJRx02X3uhguvgbusHY,11791
353
- qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py,sha256=hSk8Yis542uIJl7xn4UsdVYWUBG0Igvf4eFYxiGdG3M,4943
354
- qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py,sha256=6_t_r2qB9Ancp24EnrZ8bOB0k9W-_akT7rcRDmPz-CE,7460
353
+ qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py,sha256=h0A_2Q8Ixw8QcxOYboVAhhd7XVqES0AoxU4Rlx6BWwA,4939
354
+ qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py,sha256=MdHBDzhXIg5G0ePIFCVlBAAIr_inngSp4i2ElDukRvI,7456
355
355
  qiskit/circuit/library/arithmetic/adders/__init__.py,sha256=PRrSLxGAtAMm-9L6UIFnL3ta0NSYUIhEklpf_i9bE5s,743
356
- qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py,sha256=bUV7q1nbQoftKVjX0D-HcW_kyJqWrJpP8muXnV7SeRU,6039
357
- qiskit/circuit/library/arithmetic/adders/adder.py,sha256=nE-I8_yAB7_CLSIIm_LcRH-_r72wVnd5N9JnlSilc9Q,6669
356
+ qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py,sha256=LSSf_JNjtslMGYDfoykZzrZcp-Cu2EqgG_rTyfRIiE4,6035
357
+ qiskit/circuit/library/arithmetic/adders/adder.py,sha256=nXr5arh1aX2Vkh_IVD3bY3KAd336_kCojDc_wpmzRo4,6664
358
358
  qiskit/circuit/library/arithmetic/multipliers/multiplier.py,sha256=ie_IV_oX4axsjJyI6tdr0p69w28pdvBBrxlOzxuPBNY,6967
359
359
  qiskit/circuit/library/arithmetic/multipliers/__init__.py,sha256=vRtcHF2PRcyK_lfBQFqsWlpeaGwkcK3PK1KeduHvfOE,672
360
360
  qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py,sha256=oJIWVc2wFLz-GbU06jurKU3xcyxWdd7AbsH7SVMu0-c,6850
@@ -500,7 +500,7 @@ qiskit/providers/providerutils.py,sha256=yz5irsmPJAFcbiZsWi24Yp96SWQUIUuisK3r3Aq
500
500
  qiskit/providers/provider.py,sha256=he8imx5J_XiElFfaWPbjDYPx2xuTR54G9l84iRFQ-mA,3182
501
501
  qiskit/providers/jobstatus.py,sha256=KZH3Dgcg6Gk__lkfOhTkDY0kCrO07CnR9Mqrgp-_JnU,990
502
502
  qiskit/providers/job.py,sha256=bl452OQlamT98hbHNI6l9F6pFoLayMvR4M49p_pYq80,5048
503
- qiskit/providers/__init__.py,sha256=jzxclSA7PaP6bdMO_Qvqg0kSHIXQqxtGY6jnbSOqYxw,35468
503
+ qiskit/providers/__init__.py,sha256=ZpN-CdBhJhc8Uq7CoWmVC4xetxfWVcp2WxaRsnta4Qc,35464
504
504
  qiskit/providers/exceptions.py,sha256=cXxlril0FQI0suiLBUlBQmtBAzhFrvEZRAo5iV4CFFM,1169
505
505
  qiskit/providers/backend_compat.py,sha256=E_vtTyuTWVmQzMNtoT0Dj8wOc9IVOll6nUfr9ahhomA,19666
506
506
  qiskit/providers/fake_provider/fake_1q.py,sha256=pzBYc48EvR1-9OfdivBMPBF8VHD6uSgCP2pJNAyYN4w,3102
@@ -710,7 +710,7 @@ qiskit/primitives/statevector_estimator.py,sha256=JwxjQQQG0kH6r457E8AMTM3veQmpvo
710
710
  qiskit/primitives/statevector_sampler.py,sha256=7IkvHKw0sPsuKPzjHb_b4TyA0ONc0Uabh3M505TX0hY,10993
711
711
  qiskit/primitives/__init__.py,sha256=HvNeFcnzLd3yH34dB3lul7xHFKEg087TUHfq3vMsWS8,16899
712
712
  qiskit/primitives/primitive_job.py,sha256=qImFX0DlKQCQqPe_YOLV4narEa2sU_LAY4KArDh1GwI,2617
713
- qiskit/primitives/utils.py,sha256=32gJvSOdFOh08DLlUBvZ2js4ijkrKk2vBGHViZHd20s,8346
713
+ qiskit/primitives/utils.py,sha256=d5B2RvCa_vN7wFvpTbEpyxBZ7LiIq262tXXe6IR5MUs,8347
714
714
  qiskit/primitives/backend_sampler.py,sha256=7V3-oWVNWS-UUQp2aI19NKFHgD-q1Y9qudmu-YNQA1Y,8272
715
715
  qiskit/primitives/estimator.py,sha256=Y7bxOSDPmZ5L9Ut-Y48SJtP0iT1maojsnFhpBgyEM1w,6734
716
716
  qiskit/primitives/sampler.py,sha256=H2sgcx66xTZsodunf4CpfdZ12aVLLNUYHjR7VmaUkj0,5861
@@ -816,7 +816,7 @@ qiskit/quantum_info/operators/channel/kraus.py,sha256=P_pB739LfvC9n13L9LwMVzLXLm
816
816
  qiskit/quantum_info/operators/channel/chi.py,sha256=uyEetmFAOZaft22AfhNPrUIPfdNXDRnXkxBw4jSsouM,7782
817
817
  qiskit/quantum_info/operators/channel/quantum_channel.py,sha256=T8ohen29CZUyrnAWvt_uRpu_ETU7w3P1HfR9U5oVKWY,13981
818
818
  qiskit/quantum_info/states/stabilizerstate.py,sha256=XX2iNbTXtyelFOc4smcFz1nqytgcJdYoDzX__e4T-AI,29713
819
- qiskit/quantum_info/states/statevector.py,sha256=t1g8uhLhuKxXImWJuH2Fp3KyyLML8Z9mU8sA1o_j4tE,36811
819
+ qiskit/quantum_info/states/statevector.py,sha256=SzC5VI6yx7JLfS4HnrNTfBYV2kfj4jPxcjRMgUXQfTw,36806
820
820
  qiskit/quantum_info/states/__init__.py,sha256=Zepc7tCs93UIRVkLJYks3FH3pCoIe48f-rVtQ0X6qoQ,897
821
821
  qiskit/quantum_info/states/random.py,sha256=oxQWWdCpZVxTnbrBUfdRodVKhRhhFD-pW4zcxUt5dM0,5062
822
822
  qiskit/quantum_info/states/measures.py,sha256=9YvouvJ5I9D8_BZBe3oiyrQwdtOIapV12bhCYCuWZUo,9753
@@ -828,9 +828,9 @@ qiskit/compiler/__init__.py,sha256=Far4-zXOyDGCqdNmFP4Q8zV47meApMw6sbIdd1t_wM4,9
828
828
  qiskit/compiler/assembler.py,sha256=nsF7XRgHJVgBrJ5BIj44YsGpNsN5OpqvTYCrGVl9IlY,27813
829
829
  qiskit/compiler/transpiler.py,sha256=dJ_MpUw1COntDag6pefwoVB09zk4sg-5taNEaKiQzO8,26504
830
830
  qiskit/compiler/scheduler.py,sha256=RYwAaSym3Y4GwRhbx356FtsvF_JN_rhOLwKP84nUp9E,4532
831
- qiskit-1.3.0.dist-info/RECORD,,
832
- qiskit-1.3.0.dist-info/WHEEL,sha256=UKjR--1pVIq9MkMJj-FaHQIj2iexFlBKvgRqgi4PbrA,107
833
- qiskit-1.3.0.dist-info/entry_points.txt,sha256=5Xf0jdIYmLoQN2KoTrdTAfJm9FSd0-w4O0fckxQl7KQ,5669
834
- qiskit-1.3.0.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
835
- qiskit-1.3.0.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
836
- qiskit-1.3.0.dist-info/METADATA,sha256=PK2oVEBWOMAprG23iYxs88LBans3HdIh35cJUOf_iQg,12940
831
+ qiskit-1.3.0rc1.dist-info/RECORD,,
832
+ qiskit-1.3.0rc1.dist-info/WHEEL,sha256=1qErML6YqFxN_XS_V-1-ngeCgl7YYuC6riQVNLLZepI,107
833
+ qiskit-1.3.0rc1.dist-info/entry_points.txt,sha256=5Xf0jdIYmLoQN2KoTrdTAfJm9FSd0-w4O0fckxQl7KQ,5669
834
+ qiskit-1.3.0rc1.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
835
+ qiskit-1.3.0rc1.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
836
+ qiskit-1.3.0rc1.dist-info/METADATA,sha256=UVN5eR3xeqOk1K41cLSRwjBB4BObCtc4Q95D67au2_w,12877
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp39-abi3-macosx_11_0_arm64
5
5