qiskit 1.3.0__cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl → 1.3.0rc1__cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.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
@@ -3,8 +3,8 @@ qiskit/__init__.py,sha256=MHSxG7bMhoESBIzoz9DdWdolCdPTwnwHJ80zjWMoRd4,7483
3
3
  qiskit/_numpy_compat.py,sha256=ZlnDTF2KBTKcVF489ZuxoBk6r9KLsMuhAlozFhOn0a8,2815
4
4
  qiskit/version.py,sha256=MiraFeJt5GQEspFyvP3qJedHen2C1e8dNEttzg0u7YU,2498
5
5
  qiskit/user_config.py,sha256=I7QCF9W2IDpleWunxDjgYGySsVUlq57gfj_137o0Dac,10109
6
- qiskit/_accelerate.abi3.so,sha256=1ETuvqC0Mh97xKHckYNilFebp8kV2Mp0ARijRNfHYsY,10316256
7
- qiskit/VERSION.txt,sha256=ZNI_hY71Gw-Zbklm1OJ8A3G0N-LSeHiQsfetItTsVmM,6
6
+ qiskit/_accelerate.abi3.so,sha256=R0NtvvfCmXrIU9GTpdnno-gpu9KTR4hVO4r89WjPJEE,10320852
7
+ qiskit/VERSION.txt,sha256=oF8wcE1KomvaQ5YkAnT5Eqcilzx2jXMriqOqa8SgqQA,9
8
8
  qiskit/transpiler/passmanager_config.py,sha256=u0Ag_6ygdUjsBFksd0ptbEdkPH7aZ4ORmcJ8aqqhKDg,10487
9
9
  qiskit/transpiler/passmanager.py,sha256=mxdKQQkV9ZJ1tB1TFbqlkex_0B8HItILGzk6CNFikzE,20399
10
10
  qiskit/transpiler/instruction_durations.py,sha256=sXX_-jbf6I5R4cHpBBheQaTaRRa4b24Fp7E750AhrC0,11236
@@ -19,7 +19,7 @@ qiskit/transpiler/preset_passmanagers/level1.py,sha256=15OG8az6JecM-3CjyFNgIrTL8
19
19
  qiskit/transpiler/preset_passmanagers/level0.py,sha256=emrcxdh3Rnv5pyAo5WuMJlY3tfz6WnkKJlGao7vSYAI,4277
20
20
  qiskit/transpiler/preset_passmanagers/level3.py,sha256=t6WoVq84nfZo3SHSqbkEfXkw91akYevsVivh-r25r8I,4919
21
21
  qiskit/transpiler/preset_passmanagers/common.py,sha256=_y0ABya647oTEbl8s8EcnXr8bInYVztN7BCnB5iFjRk,26522
22
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py,sha256=oxkjpVKJ0Dup3eKhn4LRXCFGlqnmoERc28C_pC2xKDE,30890
22
+ qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py,sha256=P7-8j2mbdWrqwDhPNCy-va_Q9Lzhc8jUUUs4FLkO9CM,30850
23
23
  qiskit/transpiler/preset_passmanagers/__init__.py,sha256=i6t27h2cHewTwN6g8JAyR98obTTP9Aimzqdl2SRdiwQ,2758
24
24
  qiskit/transpiler/preset_passmanagers/level2.py,sha256=Bt0EAyreXQb5cxAR6JF_4XoieaJVwi2qO5UyxYSHZiY,4731
25
25
  qiskit/transpiler/preset_passmanagers/plugin.py,sha256=sxSLs-dwSfPgILjvtRTb4NHqzg_7AQKuRtAMDw4Sd08,14919
@@ -51,10 +51,10 @@ qiskit/transpiler/passes/routing/algorithms/types.py,sha256=9yX3_8JFvA4T5_tXWb3T
51
51
  qiskit/transpiler/passes/synthesis/aqc_plugin.py,sha256=SDgHqcCHR0hON50ckSHQDrVnBzOc-I7hYibE6r6oaB8,5343
52
52
  qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py,sha256=xM0KHNaH8N9-tn5rhC5tAGc5-faID8GvVFbH6HCqnsE,11052
53
53
  qiskit/transpiler/passes/synthesis/unitary_synthesis.py,sha256=0Y97BlIvXgR1-PoQscwGHFiYDR8fyT2S1R9DMLQa-30,45663
54
- qiskit/transpiler/passes/synthesis/hls_plugins.py,sha256=cuQ6-6qDfks_oA8afqvP3u3hIw6fRXzi7-swGrPf9L0,58255
54
+ qiskit/transpiler/passes/synthesis/hls_plugins.py,sha256=WqMhSA0kBXjMgE7weLNp-JqKnvTQJiOrDyX-VtfP8Aw,58172
55
55
  qiskit/transpiler/passes/synthesis/__init__.py,sha256=VYO9Sl_SJyoZ_bLronrkvK9u8kL-LW9G93LbWyWNEaM,925
56
56
  qiskit/transpiler/passes/synthesis/linear_functions_synthesis.py,sha256=Q1r-52HMETK_7iWTMmJKGU39rNws-MrmGDHh7TgQVj4,1407
57
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=rTORc72gdQhty_0XE8VMESznuRbNiDdAp2O4QfCZl74,40585
57
+ qiskit/transpiler/passes/synthesis/high_level_synthesis.py,sha256=BMXJQAoNovO28dfCk7Yx0oR5cKZjOYJIDF-gEHoItoI,40580
58
58
  qiskit/transpiler/passes/synthesis/plugin.py,sha256=LnvGzGJ8Q5gSPKSJNmJ7fvnUub8lzG5iGGTqOTODpes,30806
59
59
  qiskit/transpiler/passes/layout/vf2_layout.py,sha256=hVV8XZgFsaYKdlqKg-CQE8fQwJVOoRZXR99GtUBgqmA,11968
60
60
  qiskit/transpiler/passes/layout/sabre_layout.py,sha256=Scf_SwBHKfkCeR7VxV2qKSoIOjQlETuEwFfsJOpE4ZE,22883
@@ -84,11 +84,11 @@ qiskit/transpiler/passes/optimization/collect_2q_blocks.py,sha256=IVQDvs70ZPzlX5
84
84
  qiskit/transpiler/passes/optimization/collect_cliffords.py,sha256=IYxqCHBu7ZsdLQ2VQT4nOeP60IFgwE5Wt7G_qA_7xRE,3572
85
85
  qiskit/transpiler/passes/optimization/collect_linear_functions.py,sha256=w0mhG9kwBMkdlyZrOX_oLtCknd-wAOUATpotNM-sgV0,2941
86
86
  qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py,sha256=JSo2J9PIXKmr44_zQ5_z3q8N3zsytUq-_0TLDk2jvmc,5553
87
- qiskit/transpiler/passes/optimization/inverse_cancellation.py,sha256=V9jj9BQlt5KfkwfPwjxExTlpme3UI0XD-AkbwjSfMzw,3524
87
+ qiskit/transpiler/passes/optimization/inverse_cancellation.py,sha256=2noeu1bmqDcZeKCwCsGJ2mt7trcNo6JNBxaotgY2qCM,3434
88
88
  qiskit/transpiler/passes/optimization/remove_reset_in_zero_state.py,sha256=xE5ok4OOLQ8idRN534W8Rev1E6QWeTZgcHVZ-tWPaYI,1247
89
89
  qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py,sha256=2PZ_1lheWvq8Y9ualZjn-qIzHH6dnX2BMUtjOir-efs,2011
90
90
  qiskit/transpiler/passes/optimization/optimize_1q_commutation.py,sha256=svyl0lMrgv0nGm5F59Yc-fgQXuJ2SngNmi_v6t6iZMQ,10315
91
- qiskit/transpiler/passes/optimization/consolidate_blocks.py,sha256=nEDNl8wbg95eAhD_TpZRvYLk7GwNfSr5S7bWoJgQFNM,5610
91
+ qiskit/transpiler/passes/optimization/consolidate_blocks.py,sha256=bzKn4TmdHDJ_z0PgPKvVhVCdZ7o59oGOBG7J3enGKl4,5354
92
92
  qiskit/transpiler/passes/optimization/remove_diagonal_gates_before_measure.py,sha256=liy5ZuFNO8PgmX4dZyRsXGOKxVJ6g24PnQP1h2Jr2Ws,1407
93
93
  qiskit/transpiler/passes/optimization/template_optimization.py,sha256=biZ_UD1AJcpZ9bLknXumMgk1KGui7i-ZkeyKD2B7aFU,6733
94
94
  qiskit/transpiler/passes/optimization/commutative_cancellation.py,sha256=2IA7m3K-iIV9xMUpUyOiGlpu2JCA6w0dTXJZBAa8ZrQ,3274
@@ -373,7 +373,7 @@ qiskit/quantum_info/operators/utils/double_commutator.py,sha256=fXW2YPgzPyzHOSbP
373
373
  qiskit/quantum_info/operators/utils/__init__.py,sha256=E-Z7NJUaWRxqJN1lcYdDqSupLLKE1QUejl9ttQ8_04U,704
374
374
  qiskit/quantum_info/operators/utils/anti_commutator.py,sha256=mn8j5qsW4ZRED8OMcZX76-HCJoxOWPj_KsTwUUBe8_k,977
375
375
  qiskit/quantum_info/states/utils.py,sha256=Trw5T6EX3FHpjgKoQm6788wZwe4JtFJIvD4V-MA0Qwg,8758
376
- qiskit/quantum_info/states/statevector.py,sha256=t1g8uhLhuKxXImWJuH2Fp3KyyLML8Z9mU8sA1o_j4tE,36811
376
+ qiskit/quantum_info/states/statevector.py,sha256=SzC5VI6yx7JLfS4HnrNTfBYV2kfj4jPxcjRMgUXQfTw,36806
377
377
  qiskit/quantum_info/states/random.py,sha256=oxQWWdCpZVxTnbrBUfdRodVKhRhhFD-pW4zcxUt5dM0,5062
378
378
  qiskit/quantum_info/states/quantum_state.py,sha256=v__EAFkAu2aJwafAfaVDce5_525fTkTrTaJdrdQhAr0,17774
379
379
  qiskit/quantum_info/states/__init__.py,sha256=Zepc7tCs93UIRVkLJYks3FH3pCoIe48f-rVtQ0X6qoQ,897
@@ -471,7 +471,7 @@ qiskit/qobj/converters/pulse_instruction.py,sha256=w73IzHQpxFAn55jMeNdk2JTV7K2ga
471
471
  qiskit/qobj/converters/__init__.py,sha256=Akm9I--eCKJngKWrNe47Jx9mfZhH7TPMhpVq_lICmXs,691
472
472
  qiskit/qobj/converters/lo_config.py,sha256=UczPUYOm820G-vm1YXjSFAlRsMI4WndnkNZCPu-ty9Q,6912
473
473
  qiskit/primitives/statevector_sampler.py,sha256=7IkvHKw0sPsuKPzjHb_b4TyA0ONc0Uabh3M505TX0hY,10993
474
- qiskit/primitives/utils.py,sha256=32gJvSOdFOh08DLlUBvZ2js4ijkrKk2vBGHViZHd20s,8346
474
+ qiskit/primitives/utils.py,sha256=d5B2RvCa_vN7wFvpTbEpyxBZ7LiIq262tXXe6IR5MUs,8347
475
475
  qiskit/primitives/backend_sampler.py,sha256=7V3-oWVNWS-UUQp2aI19NKFHgD-q1Y9qudmu-YNQA1Y,8272
476
476
  qiskit/primitives/statevector_estimator.py,sha256=JwxjQQQG0kH6r457E8AMTM3veQmpvomsjH6eEfBOyrI,7100
477
477
  qiskit/primitives/backend_estimator.py,sha256=gYRa8EpGF9uEikthCpaCgRxYPrc3XE_6lJj2PPbdHcQ,19128
@@ -574,7 +574,7 @@ qiskit/circuit/library/graph_state.py,sha256=bOCAj8qsC7k-OS6qWkhUH8nBBd2I5uKOkrz
574
574
  qiskit/circuit/library/phase_oracle.py,sha256=n2QVk7hELNiDWOGWLWh7kquMDIVTIHIoEWuHydXIv4E,6665
575
575
  qiskit/circuit/library/overlap.py,sha256=JTSg9L6lMKL4xnatIWnQupb8GJYJrDV-DM8wXJsjjhU,7085
576
576
  qiskit/circuit/library/fourier_checking.py,sha256=h81zaCc4AWF3luFyy8stGoU-UWcubP-Srqs92duqDQw,6252
577
- qiskit/circuit/library/__init__.py,sha256=jo55p9TvRYOO-qlNanHILFsYF1gryw5J8d5zuW7n9kA,15885
577
+ qiskit/circuit/library/__init__.py,sha256=AUVh1_a8ia9OHV09MGakHrKXpQYLV9lxT4o-kRCFvHU,15300
578
578
  qiskit/circuit/library/pauli_evolution.py,sha256=K5z629DK2KRqeAVTQ7yRHLO1VPXegV0gI-GE0ejFRBg,6584
579
579
  qiskit/circuit/library/grover_operator.py,sha256=MhGiVhTMmwTwgqNexe2KZWe7BH8oAIQSkWJtiDaBc6A,28185
580
580
  qiskit/circuit/library/hidden_linear_function.py,sha256=WMqwqNUFAp3aFWPi20GmU17zkUQ013QPT1dTQIs1vLE,5540
@@ -606,11 +606,11 @@ qiskit/circuit/library/arithmetic/multipliers/multiplier.py,sha256=ie_IV_oX4axsj
606
606
  qiskit/circuit/library/arithmetic/multipliers/__init__.py,sha256=vRtcHF2PRcyK_lfBQFqsWlpeaGwkcK3PK1KeduHvfOE,672
607
607
  qiskit/circuit/library/arithmetic/multipliers/hrs_cumulative_multiplier.py,sha256=oJIWVc2wFLz-GbU06jurKU3xcyxWdd7AbsH7SVMu0-c,6850
608
608
  qiskit/circuit/library/arithmetic/multipliers/rg_qft_multiplier.py,sha256=fhFUM0wTyK8X8CLDQEKs05Ezzos5uS_kybCoj9zSeuw,6215
609
- qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py,sha256=bUV7q1nbQoftKVjX0D-HcW_kyJqWrJpP8muXnV7SeRU,6039
610
- qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py,sha256=hSk8Yis542uIJl7xn4UsdVYWUBG0Igvf4eFYxiGdG3M,4943
609
+ qiskit/circuit/library/arithmetic/adders/draper_qft_adder.py,sha256=LSSf_JNjtslMGYDfoykZzrZcp-Cu2EqgG_rTyfRIiE4,6035
610
+ qiskit/circuit/library/arithmetic/adders/vbe_ripple_carry_adder.py,sha256=h0A_2Q8Ixw8QcxOYboVAhhd7XVqES0AoxU4Rlx6BWwA,4939
611
611
  qiskit/circuit/library/arithmetic/adders/__init__.py,sha256=PRrSLxGAtAMm-9L6UIFnL3ta0NSYUIhEklpf_i9bE5s,743
612
- qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py,sha256=6_t_r2qB9Ancp24EnrZ8bOB0k9W-_akT7rcRDmPz-CE,7460
613
- qiskit/circuit/library/arithmetic/adders/adder.py,sha256=nE-I8_yAB7_CLSIIm_LcRH-_r72wVnd5N9JnlSilc9Q,6669
612
+ qiskit/circuit/library/arithmetic/adders/cdkm_ripple_carry_adder.py,sha256=MdHBDzhXIg5G0ePIFCVlBAAIr_inngSp4i2ElDukRvI,7456
613
+ qiskit/circuit/library/arithmetic/adders/adder.py,sha256=nXr5arh1aX2Vkh_IVD3bY3KAd336_kCojDc_wpmzRo4,6664
614
614
  qiskit/circuit/library/n_local/two_local.py,sha256=DNgYjVcSvm5OpCSGj4CNOsn3CnBKyUCVUESDJvPmN4E,17004
615
615
  qiskit/circuit/library/n_local/n_local.py,sha256=cgVfChYh6JDOgSzKW2JpKS8zwUIHqLLt2oGVyoGgPPQ,60739
616
616
  qiskit/circuit/library/n_local/efficient_su2.py,sha256=VODdAqmnqR0vMR-6mnhwUUvjo3DeFxCHcOqb76Jp7Qc,15270
@@ -775,7 +775,7 @@ qiskit/qasm/libs/dummy/stdgates.inc,sha256=P-k26UtYNXkqZMHknr4ExkGXIgS3Q71AcmqCK
775
775
  qiskit/providers/backend_compat.py,sha256=E_vtTyuTWVmQzMNtoT0Dj8wOc9IVOll6nUfr9ahhomA,19666
776
776
  qiskit/providers/providerutils.py,sha256=yz5irsmPJAFcbiZsWi24Yp96SWQUIUuisK3r3AqcEhQ,3872
777
777
  qiskit/providers/exceptions.py,sha256=cXxlril0FQI0suiLBUlBQmtBAzhFrvEZRAo5iV4CFFM,1169
778
- qiskit/providers/__init__.py,sha256=jzxclSA7PaP6bdMO_Qvqg0kSHIXQqxtGY6jnbSOqYxw,35468
778
+ qiskit/providers/__init__.py,sha256=ZpN-CdBhJhc8Uq7CoWmVC4xetxfWVcp2WxaRsnta4Qc,35464
779
779
  qiskit/providers/job.py,sha256=bl452OQlamT98hbHNI6l9F6pFoLayMvR4M49p_pYq80,5048
780
780
  qiskit/providers/backend.py,sha256=id2-Zw-FTZELRaPCQUltgqHnB_u8YHnsdhWAeXb4emM,25424
781
781
  qiskit/providers/provider.py,sha256=he8imx5J_XiElFfaWPbjDYPx2xuTR54G9l84iRFQ-mA,3182
@@ -828,9 +828,9 @@ qiskit/providers/fake_provider/backends_v1/fake_7q_pulse/fake_7q_pulse_v1.py,sha
828
828
  qiskit/providers/fake_provider/utils/backend_converter.py,sha256=YPogiOaB1GfDVKbI4cZYYo2OHyYVMjj1zclJ_A3JnEU,6677
829
829
  qiskit/providers/fake_provider/utils/__init__.py,sha256=qVHEcGCFq7OsK-gv3C5mKmPZ1xnAgshrVMT6FMgRaBc,511
830
830
  qiskit/providers/fake_provider/utils/json_decoder.py,sha256=vm5bogS834RJ-zChlipPuhlbVfROuqdsn1dPCFRm1gI,3506
831
- qiskit-1.3.0.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
832
- qiskit-1.3.0.dist-info/RECORD,,
833
- qiskit-1.3.0.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
834
- qiskit-1.3.0.dist-info/entry_points.txt,sha256=5Xf0jdIYmLoQN2KoTrdTAfJm9FSd0-w4O0fckxQl7KQ,5669
835
- qiskit-1.3.0.dist-info/METADATA,sha256=PK2oVEBWOMAprG23iYxs88LBans3HdIh35cJUOf_iQg,12940
836
- qiskit-1.3.0.dist-info/WHEEL,sha256=IZbIVxqAiF9pdpAY3hv4kiUNhDK2qOhw2_dp-_gT7ew,143
831
+ qiskit-1.3.0rc1.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
832
+ qiskit-1.3.0rc1.dist-info/RECORD,,
833
+ qiskit-1.3.0rc1.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
834
+ qiskit-1.3.0rc1.dist-info/entry_points.txt,sha256=5Xf0jdIYmLoQN2KoTrdTAfJm9FSd0-w4O0fckxQl7KQ,5669
835
+ qiskit-1.3.0rc1.dist-info/METADATA,sha256=UVN5eR3xeqOk1K41cLSRwjBB4BObCtc4Q95D67au2_w,12877
836
+ qiskit-1.3.0rc1.dist-info/WHEEL,sha256=Xobv8QdYCw2Y0U97q1b6dyVussU32VwxX92CsxH2TwY,143
@@ -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-manylinux_2_17_i686
5
5
  Tag: cp39-abi3-manylinux2014_i686