qiskit 1.0.2__cp38-abi3-win32.whl → 1.1.0__cp38-abi3-win32.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/__init__.py +27 -16
- qiskit/_accelerate.pyd +0 -0
- qiskit/_numpy_compat.py +73 -0
- qiskit/assembler/__init__.py +5 -10
- qiskit/assembler/disassemble.py +5 -6
- qiskit/circuit/__init__.py +1061 -232
- qiskit/circuit/_classical_resource_map.py +10 -6
- qiskit/circuit/_utils.py +18 -8
- qiskit/circuit/annotated_operation.py +21 -0
- qiskit/circuit/barrier.py +10 -13
- qiskit/circuit/bit.py +0 -1
- qiskit/circuit/classical/__init__.py +2 -2
- qiskit/circuit/classical/expr/__init__.py +39 -5
- qiskit/circuit/classical/expr/constructors.py +84 -1
- qiskit/circuit/classical/expr/expr.py +83 -13
- qiskit/circuit/classical/expr/visitors.py +83 -0
- qiskit/circuit/classical/types/__init__.py +5 -4
- qiskit/circuit/classicalfunction/__init__.py +1 -0
- qiskit/circuit/commutation_checker.py +86 -51
- qiskit/circuit/controlflow/_builder_utils.py +9 -1
- qiskit/circuit/controlflow/break_loop.py +8 -22
- qiskit/circuit/controlflow/builder.py +116 -1
- qiskit/circuit/controlflow/continue_loop.py +8 -22
- qiskit/circuit/controlflow/control_flow.py +47 -8
- qiskit/circuit/controlflow/for_loop.py +8 -23
- qiskit/circuit/controlflow/if_else.py +13 -27
- qiskit/circuit/controlflow/switch_case.py +14 -21
- qiskit/circuit/controlflow/while_loop.py +9 -23
- qiskit/circuit/controlledgate.py +2 -2
- qiskit/circuit/delay.py +7 -5
- qiskit/circuit/gate.py +20 -7
- qiskit/circuit/instruction.py +31 -30
- qiskit/circuit/instructionset.py +9 -22
- qiskit/circuit/library/__init__.py +3 -13
- qiskit/circuit/library/arithmetic/integer_comparator.py +2 -2
- qiskit/circuit/library/arithmetic/quadratic_form.py +3 -2
- qiskit/circuit/library/blueprintcircuit.py +29 -7
- qiskit/circuit/library/data_preparation/state_preparation.py +6 -5
- qiskit/circuit/library/generalized_gates/diagonal.py +5 -4
- qiskit/circuit/library/generalized_gates/isometry.py +51 -254
- qiskit/circuit/library/generalized_gates/pauli.py +2 -2
- qiskit/circuit/library/generalized_gates/permutation.py +4 -1
- qiskit/circuit/library/generalized_gates/rv.py +15 -11
- qiskit/circuit/library/generalized_gates/uc.py +2 -98
- qiskit/circuit/library/generalized_gates/unitary.py +9 -4
- qiskit/circuit/library/hamiltonian_gate.py +11 -5
- qiskit/circuit/library/n_local/efficient_su2.py +5 -5
- qiskit/circuit/library/n_local/n_local.py +100 -49
- qiskit/circuit/library/n_local/two_local.py +3 -59
- qiskit/circuit/library/overlap.py +3 -3
- qiskit/circuit/library/phase_oracle.py +1 -1
- qiskit/circuit/library/quantum_volume.py +39 -38
- qiskit/circuit/library/standard_gates/equivalence_library.py +50 -0
- qiskit/circuit/library/standard_gates/global_phase.py +4 -2
- qiskit/circuit/library/standard_gates/i.py +1 -2
- qiskit/circuit/library/standard_gates/iswap.py +1 -2
- qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +11 -5
- qiskit/circuit/library/standard_gates/p.py +31 -15
- qiskit/circuit/library/standard_gates/r.py +4 -3
- qiskit/circuit/library/standard_gates/rx.py +7 -4
- qiskit/circuit/library/standard_gates/rxx.py +4 -3
- qiskit/circuit/library/standard_gates/ry.py +7 -4
- qiskit/circuit/library/standard_gates/ryy.py +4 -3
- qiskit/circuit/library/standard_gates/rz.py +7 -4
- qiskit/circuit/library/standard_gates/rzx.py +4 -3
- qiskit/circuit/library/standard_gates/rzz.py +4 -3
- qiskit/circuit/library/standard_gates/s.py +4 -8
- qiskit/circuit/library/standard_gates/t.py +2 -4
- qiskit/circuit/library/standard_gates/u.py +16 -11
- qiskit/circuit/library/standard_gates/u1.py +6 -2
- qiskit/circuit/library/standard_gates/u2.py +4 -2
- qiskit/circuit/library/standard_gates/u3.py +9 -5
- qiskit/circuit/library/standard_gates/x.py +22 -11
- qiskit/circuit/library/standard_gates/xx_minus_yy.py +4 -3
- qiskit/circuit/library/standard_gates/xx_plus_yy.py +7 -5
- qiskit/circuit/library/standard_gates/z.py +1 -2
- qiskit/circuit/measure.py +4 -1
- qiskit/circuit/operation.py +13 -8
- qiskit/circuit/parameter.py +11 -6
- qiskit/circuit/quantumcircuit.py +1910 -260
- qiskit/circuit/quantumcircuitdata.py +2 -2
- qiskit/circuit/reset.py +5 -2
- qiskit/circuit/store.py +95 -0
- qiskit/compiler/assembler.py +22 -22
- qiskit/compiler/transpiler.py +63 -112
- qiskit/converters/__init__.py +17 -2
- qiskit/converters/circuit_to_dag.py +7 -0
- qiskit/converters/circuit_to_dagdependency_v2.py +47 -0
- qiskit/converters/circuit_to_gate.py +2 -0
- qiskit/converters/circuit_to_instruction.py +22 -0
- qiskit/converters/dag_to_circuit.py +4 -0
- qiskit/converters/dag_to_dagdependency_v2.py +44 -0
- qiskit/dagcircuit/collect_blocks.py +15 -10
- qiskit/dagcircuit/dagcircuit.py +434 -124
- qiskit/dagcircuit/dagdependency.py +19 -12
- qiskit/dagcircuit/dagdependency_v2.py +641 -0
- qiskit/dagcircuit/dagdepnode.py +19 -16
- qiskit/dagcircuit/dagnode.py +14 -4
- qiskit/passmanager/passmanager.py +11 -11
- qiskit/primitives/__init__.py +22 -12
- qiskit/primitives/backend_estimator.py +3 -5
- qiskit/primitives/backend_estimator_v2.py +410 -0
- qiskit/primitives/backend_sampler_v2.py +287 -0
- qiskit/primitives/base/base_estimator.py +4 -9
- qiskit/primitives/base/base_sampler.py +2 -2
- qiskit/primitives/containers/__init__.py +6 -4
- qiskit/primitives/containers/bit_array.py +293 -2
- qiskit/primitives/containers/data_bin.py +123 -50
- qiskit/primitives/containers/estimator_pub.py +10 -3
- qiskit/primitives/containers/observables_array.py +2 -2
- qiskit/primitives/containers/pub_result.py +1 -1
- qiskit/primitives/containers/sampler_pub.py +19 -3
- qiskit/primitives/containers/sampler_pub_result.py +74 -0
- qiskit/primitives/containers/shape.py +4 -4
- qiskit/primitives/statevector_estimator.py +4 -4
- qiskit/primitives/statevector_sampler.py +7 -12
- qiskit/providers/__init__.py +65 -34
- qiskit/providers/backend.py +2 -2
- qiskit/providers/backend_compat.py +8 -10
- qiskit/providers/basic_provider/__init__.py +2 -23
- qiskit/providers/basic_provider/basic_provider_tools.py +67 -31
- qiskit/providers/basic_provider/basic_simulator.py +81 -21
- qiskit/providers/fake_provider/__init__.py +1 -1
- qiskit/providers/fake_provider/fake_1q.py +1 -1
- qiskit/providers/fake_provider/fake_backend.py +3 -408
- qiskit/providers/fake_provider/generic_backend_v2.py +26 -14
- qiskit/providers/models/__init__.py +2 -2
- qiskit/providers/provider.py +16 -0
- qiskit/pulse/builder.py +4 -1
- qiskit/pulse/parameter_manager.py +60 -4
- qiskit/pulse/schedule.py +29 -13
- qiskit/pulse/utils.py +61 -20
- qiskit/qasm2/__init__.py +1 -5
- qiskit/qasm2/parse.py +1 -4
- qiskit/qasm3/__init__.py +42 -5
- qiskit/qasm3/ast.py +19 -0
- qiskit/qasm3/exporter.py +178 -106
- qiskit/qasm3/printer.py +27 -5
- qiskit/qobj/converters/pulse_instruction.py +6 -6
- qiskit/qpy/__init__.py +299 -67
- qiskit/qpy/binary_io/circuits.py +216 -47
- qiskit/qpy/binary_io/schedules.py +42 -36
- qiskit/qpy/binary_io/value.py +201 -22
- qiskit/qpy/common.py +1 -1
- qiskit/qpy/exceptions.py +20 -0
- qiskit/qpy/formats.py +29 -0
- qiskit/qpy/type_keys.py +21 -0
- qiskit/quantum_info/analysis/distance.py +3 -3
- qiskit/quantum_info/analysis/make_observable.py +2 -1
- qiskit/quantum_info/analysis/z2_symmetries.py +2 -1
- qiskit/quantum_info/operators/channel/chi.py +9 -8
- qiskit/quantum_info/operators/channel/choi.py +10 -9
- qiskit/quantum_info/operators/channel/kraus.py +2 -1
- qiskit/quantum_info/operators/channel/ptm.py +10 -9
- qiskit/quantum_info/operators/channel/quantum_channel.py +2 -1
- qiskit/quantum_info/operators/channel/stinespring.py +2 -1
- qiskit/quantum_info/operators/channel/superop.py +12 -11
- qiskit/quantum_info/operators/channel/transformations.py +12 -11
- qiskit/quantum_info/operators/dihedral/dihedral.py +5 -4
- qiskit/quantum_info/operators/operator.py +43 -30
- qiskit/quantum_info/operators/scalar_op.py +10 -9
- qiskit/quantum_info/operators/symplectic/base_pauli.py +70 -59
- qiskit/quantum_info/operators/symplectic/clifford.py +36 -9
- qiskit/quantum_info/operators/symplectic/pauli.py +53 -6
- qiskit/quantum_info/operators/symplectic/pauli_list.py +36 -14
- qiskit/quantum_info/operators/symplectic/random.py +3 -2
- qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +61 -36
- qiskit/quantum_info/states/densitymatrix.py +13 -13
- qiskit/quantum_info/states/stabilizerstate.py +3 -3
- qiskit/quantum_info/states/statevector.py +14 -13
- qiskit/quantum_info/states/utils.py +5 -3
- qiskit/result/__init__.py +6 -0
- qiskit/result/mitigation/correlated_readout_mitigator.py +3 -2
- qiskit/result/mitigation/local_readout_mitigator.py +2 -1
- qiskit/result/mitigation/utils.py +3 -2
- qiskit/scheduler/__init__.py +10 -1
- qiskit/scheduler/methods/__init__.py +1 -8
- qiskit/synthesis/__init__.py +3 -6
- qiskit/synthesis/discrete_basis/commutator_decompose.py +2 -2
- qiskit/synthesis/evolution/lie_trotter.py +7 -14
- qiskit/synthesis/evolution/qdrift.py +3 -4
- qiskit/synthesis/linear/cnot_synth.py +1 -3
- qiskit/synthesis/linear/linear_circuits_utils.py +1 -1
- qiskit/synthesis/linear_phase/cz_depth_lnn.py +4 -18
- qiskit/synthesis/permutation/__init__.py +1 -0
- qiskit/synthesis/permutation/permutation_reverse_lnn.py +90 -0
- qiskit/synthesis/qft/qft_decompose_lnn.py +2 -6
- qiskit/synthesis/two_qubit/two_qubit_decompose.py +165 -954
- qiskit/synthesis/two_qubit/xx_decompose/circuits.py +13 -12
- qiskit/synthesis/two_qubit/xx_decompose/decomposer.py +7 -1
- qiskit/synthesis/unitary/aqc/__init__.py +1 -1
- qiskit/synthesis/unitary/aqc/cnot_structures.py +2 -1
- qiskit/synthesis/unitary/aqc/fast_gradient/fast_gradient.py +2 -1
- qiskit/synthesis/unitary/qsd.py +3 -2
- qiskit/transpiler/__init__.py +7 -3
- qiskit/transpiler/layout.py +140 -61
- qiskit/transpiler/passes/__init__.py +10 -2
- qiskit/transpiler/passes/basis/basis_translator.py +9 -4
- qiskit/transpiler/passes/basis/unroll_3q_or_more.py +1 -1
- qiskit/transpiler/passes/basis/unroll_custom_definitions.py +1 -1
- qiskit/transpiler/passes/calibration/rzx_builder.py +2 -1
- qiskit/transpiler/passes/layout/apply_layout.py +8 -3
- qiskit/transpiler/passes/layout/sabre_layout.py +15 -3
- qiskit/transpiler/passes/layout/set_layout.py +1 -1
- qiskit/transpiler/passes/optimization/__init__.py +2 -0
- qiskit/transpiler/passes/optimization/commutation_analysis.py +2 -2
- qiskit/transpiler/passes/optimization/commutative_cancellation.py +1 -1
- qiskit/transpiler/passes/optimization/consolidate_blocks.py +1 -1
- qiskit/transpiler/passes/optimization/cx_cancellation.py +10 -0
- qiskit/transpiler/passes/optimization/elide_permutations.py +114 -0
- qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py +9 -3
- qiskit/transpiler/passes/optimization/optimize_annotated.py +248 -12
- qiskit/transpiler/passes/optimization/remove_final_reset.py +37 -0
- qiskit/transpiler/passes/optimization/template_matching/forward_match.py +1 -3
- qiskit/transpiler/passes/routing/__init__.py +1 -0
- qiskit/transpiler/passes/routing/basic_swap.py +13 -2
- qiskit/transpiler/passes/routing/commuting_2q_gate_routing/commuting_2q_gate_router.py +8 -1
- qiskit/transpiler/passes/routing/lookahead_swap.py +7 -1
- qiskit/transpiler/passes/routing/sabre_swap.py +10 -6
- qiskit/transpiler/passes/routing/star_prerouting.py +417 -0
- qiskit/transpiler/passes/routing/stochastic_swap.py +24 -8
- qiskit/transpiler/passes/scheduling/__init__.py +1 -1
- qiskit/transpiler/passes/scheduling/alap.py +1 -2
- qiskit/transpiler/passes/scheduling/alignments/align_measures.py +1 -2
- qiskit/transpiler/passes/scheduling/alignments/check_durations.py +9 -6
- qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +8 -0
- qiskit/transpiler/passes/scheduling/alignments/reschedule.py +13 -4
- qiskit/transpiler/passes/scheduling/asap.py +1 -2
- qiskit/transpiler/passes/scheduling/base_scheduler.py +21 -2
- qiskit/transpiler/passes/scheduling/dynamical_decoupling.py +26 -4
- qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +24 -2
- qiskit/transpiler/passes/scheduling/time_unit_conversion.py +28 -4
- qiskit/transpiler/passes/synthesis/aqc_plugin.py +2 -2
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py +120 -13
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py +162 -55
- qiskit/transpiler/passes/utils/gates_basis.py +3 -3
- qiskit/transpiler/passmanager.py +44 -1
- qiskit/transpiler/preset_passmanagers/__init__.py +3 -3
- qiskit/transpiler/preset_passmanagers/builtin_plugins.py +34 -16
- qiskit/transpiler/preset_passmanagers/common.py +4 -6
- qiskit/transpiler/preset_passmanagers/plugin.py +9 -1
- qiskit/utils/__init__.py +3 -2
- qiskit/utils/optionals.py +6 -2
- qiskit/utils/parallel.py +24 -15
- qiskit/visualization/array.py +1 -1
- qiskit/visualization/bloch.py +2 -3
- qiskit/visualization/circuit/matplotlib.py +44 -14
- qiskit/visualization/circuit/text.py +38 -18
- qiskit/visualization/counts_visualization.py +3 -6
- qiskit/visualization/dag_visualization.py +6 -7
- qiskit/visualization/gate_map.py +9 -1
- qiskit/visualization/pulse_v2/interface.py +8 -3
- qiskit/visualization/state_visualization.py +3 -2
- qiskit/visualization/timeline/interface.py +18 -8
- {qiskit-1.0.2.dist-info → qiskit-1.1.0.dist-info}/METADATA +12 -8
- {qiskit-1.0.2.dist-info → qiskit-1.1.0.dist-info}/RECORD +261 -251
- {qiskit-1.0.2.dist-info → qiskit-1.1.0.dist-info}/WHEEL +1 -1
- qiskit/_qasm2.pyd +0 -0
- qiskit/_qasm3.pyd +0 -0
- {qiskit-1.0.2.dist-info → qiskit-1.1.0.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.0.2.dist-info → qiskit-1.1.0.dist-info}/entry_points.txt +0 -0
- {qiskit-1.0.2.dist-info → qiskit-1.1.0.dist-info}/top_level.txt +0 -0
qiskit/VERSION.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
qiskit/__init__.py
CHANGED
@@ -43,35 +43,46 @@ else:
|
|
43
43
|
" Qiskit unfortunately cannot enforce this requirement during environment resolution."
|
44
44
|
" See https://qisk.it/packaging-1-0 for more detail."
|
45
45
|
)
|
46
|
+
if sys.version_info < (3, 9):
|
47
|
+
warnings.warn(
|
48
|
+
"Using Qiskit with Python 3.8 is deprecated as of the 1.1.0 release. "
|
49
|
+
"Support for running Qiskit with Python 3.8 will be removed in the "
|
50
|
+
"1.3.0 release, which coincides with when Python 3.8 goes end of life.",
|
51
|
+
DeprecationWarning,
|
52
|
+
)
|
46
53
|
|
47
|
-
import qiskit._accelerate
|
48
54
|
|
55
|
+
import qiskit._accelerate
|
56
|
+
import qiskit._numpy_compat
|
49
57
|
|
50
58
|
# Globally define compiled submodules. The normal import mechanism will not find compiled submodules
|
51
59
|
# in _accelerate because it relies on file paths, but PyO3 generates only one shared library file.
|
52
60
|
# We manually define them on import so people can directly import qiskit._accelerate.* submodules
|
53
61
|
# and not have to rely on attribute access. No action needed for top-level extension packages.
|
54
|
-
sys.modules["qiskit._accelerate.
|
55
|
-
sys.modules["qiskit._accelerate.
|
56
|
-
|
57
|
-
|
58
|
-
sys.modules["qiskit._accelerate.sabre_layout"] = qiskit._accelerate.sabre_layout
|
59
|
-
sys.modules["qiskit._accelerate.pauli_expval"] = qiskit._accelerate.pauli_expval
|
62
|
+
sys.modules["qiskit._accelerate.circuit"] = qiskit._accelerate.circuit
|
63
|
+
sys.modules["qiskit._accelerate.convert_2q_block_matrix"] = (
|
64
|
+
qiskit._accelerate.convert_2q_block_matrix
|
65
|
+
)
|
60
66
|
sys.modules["qiskit._accelerate.dense_layout"] = qiskit._accelerate.dense_layout
|
61
|
-
sys.modules["qiskit._accelerate.sparse_pauli_op"] = qiskit._accelerate.sparse_pauli_op
|
62
|
-
sys.modules["qiskit._accelerate.results"] = qiskit._accelerate.results
|
63
|
-
sys.modules["qiskit._accelerate.optimize_1q_gates"] = qiskit._accelerate.optimize_1q_gates
|
64
|
-
sys.modules["qiskit._accelerate.sampled_exp_val"] = qiskit._accelerate.sampled_exp_val
|
65
|
-
sys.modules["qiskit._accelerate.vf2_layout"] = qiskit._accelerate.vf2_layout
|
66
67
|
sys.modules["qiskit._accelerate.error_map"] = qiskit._accelerate.error_map
|
68
|
+
sys.modules["qiskit._accelerate.isometry"] = qiskit._accelerate.isometry
|
69
|
+
sys.modules["qiskit._accelerate.uc_gate"] = qiskit._accelerate.uc_gate
|
67
70
|
sys.modules["qiskit._accelerate.euler_one_qubit_decomposer"] = (
|
68
71
|
qiskit._accelerate.euler_one_qubit_decomposer
|
69
72
|
)
|
70
|
-
sys.modules["qiskit._accelerate.
|
71
|
-
|
72
|
-
|
73
|
+
sys.modules["qiskit._accelerate.nlayout"] = qiskit._accelerate.nlayout
|
74
|
+
sys.modules["qiskit._accelerate.optimize_1q_gates"] = qiskit._accelerate.optimize_1q_gates
|
75
|
+
sys.modules["qiskit._accelerate.pauli_expval"] = qiskit._accelerate.pauli_expval
|
76
|
+
sys.modules["qiskit._accelerate.qasm2"] = qiskit._accelerate.qasm2
|
77
|
+
sys.modules["qiskit._accelerate.qasm3"] = qiskit._accelerate.qasm3
|
78
|
+
sys.modules["qiskit._accelerate.results"] = qiskit._accelerate.results
|
79
|
+
sys.modules["qiskit._accelerate.sabre"] = qiskit._accelerate.sabre
|
80
|
+
sys.modules["qiskit._accelerate.sampled_exp_val"] = qiskit._accelerate.sampled_exp_val
|
81
|
+
sys.modules["qiskit._accelerate.sparse_pauli_op"] = qiskit._accelerate.sparse_pauli_op
|
82
|
+
sys.modules["qiskit._accelerate.stochastic_swap"] = qiskit._accelerate.stochastic_swap
|
83
|
+
sys.modules["qiskit._accelerate.two_qubit_decompose"] = qiskit._accelerate.two_qubit_decompose
|
84
|
+
sys.modules["qiskit._accelerate.vf2_layout"] = qiskit._accelerate.vf2_layout
|
73
85
|
|
74
|
-
# qiskit errors operator
|
75
86
|
from qiskit.exceptions import QiskitError, MissingOptionalLibraryError
|
76
87
|
|
77
88
|
# The main qiskit operators
|
qiskit/_accelerate.pyd
CHANGED
Binary file
|
qiskit/_numpy_compat.py
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# This code is part of Qiskit.
|
2
|
+
#
|
3
|
+
# (C) Copyright IBM 2024.
|
4
|
+
#
|
5
|
+
# This code is licensed under the Apache License, Version 2.0. You may
|
6
|
+
# obtain a copy of this license in the LICENSE.txt file in the root directory
|
7
|
+
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
|
8
|
+
#
|
9
|
+
# Any modifications or derivative works of this code must retain this
|
10
|
+
# copyright notice, and modified files need to carry a notice indicating
|
11
|
+
# that they have been altered from the originals.
|
12
|
+
|
13
|
+
"""Compatiblity helpers for the Numpy 1.x to 2.0 transition."""
|
14
|
+
|
15
|
+
import re
|
16
|
+
import typing
|
17
|
+
import warnings
|
18
|
+
|
19
|
+
import numpy as np
|
20
|
+
|
21
|
+
# This version pattern is taken from the pypa packaging project:
|
22
|
+
# https://github.com/pypa/packaging/blob/21.3/packaging/version.py#L223-L254 which is dual licensed
|
23
|
+
# Apache 2.0 and BSD see the source for the original authors and other details.
|
24
|
+
_VERSION_PATTERN = r"""
|
25
|
+
v?
|
26
|
+
(?:
|
27
|
+
(?:(?P<epoch>[0-9]+)!)? # epoch
|
28
|
+
(?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
|
29
|
+
(?P<pre> # pre-release
|
30
|
+
[-_\.]?
|
31
|
+
(?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
|
32
|
+
[-_\.]?
|
33
|
+
(?P<pre_n>[0-9]+)?
|
34
|
+
)?
|
35
|
+
(?P<post> # post release
|
36
|
+
(?:-(?P<post_n1>[0-9]+))
|
37
|
+
|
|
38
|
+
(?:
|
39
|
+
[-_\.]?
|
40
|
+
(?P<post_l>post|rev|r)
|
41
|
+
[-_\.]?
|
42
|
+
(?P<post_n2>[0-9]+)?
|
43
|
+
)
|
44
|
+
)?
|
45
|
+
(?P<dev> # dev release
|
46
|
+
[-_\.]?
|
47
|
+
(?P<dev_l>dev)
|
48
|
+
[-_\.]?
|
49
|
+
(?P<dev_n>[0-9]+)?
|
50
|
+
)?
|
51
|
+
)
|
52
|
+
(?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
|
53
|
+
"""
|
54
|
+
|
55
|
+
VERSION = np.lib.NumpyVersion(np.__version__)
|
56
|
+
VERSION_PARTS: typing.Tuple[int, ...]
|
57
|
+
"""The numeric parts of the Numpy release version, e.g. ``(2, 0, 0)``. Does not include pre- or
|
58
|
+
post-release markers (e.g. ``rc1``)."""
|
59
|
+
if match := re.fullmatch(_VERSION_PATTERN, np.__version__, flags=re.VERBOSE | re.IGNORECASE):
|
60
|
+
# Assuming Numpy won't ever introduce epochs, and we don't care about pre/post markers.
|
61
|
+
VERSION_PARTS = tuple(int(x) for x in match["release"].split("."))
|
62
|
+
else:
|
63
|
+
# Just guess a version. We know all existing Numpys have good version strings, so the only way
|
64
|
+
# this should trigger is from a new or a dev version.
|
65
|
+
warnings.warn(
|
66
|
+
f"Unrecognized version string for Numpy: '{np.__version__}'. Assuming Numpy 2.0.",
|
67
|
+
RuntimeWarning,
|
68
|
+
)
|
69
|
+
VERSION_PARTS = (2, 0, 0)
|
70
|
+
|
71
|
+
COPY_ONLY_IF_NEEDED = None if VERSION_PARTS >= (2, 0, 0) else False
|
72
|
+
"""The sentinel value given to ``np.array`` and ``np.ndarray.astype`` (etc) to indicate that a copy
|
73
|
+
should be made only if required."""
|
qiskit/assembler/__init__.py
CHANGED
@@ -17,23 +17,18 @@ Circuit and Schedule Assembler (:mod:`qiskit.assembler`)
|
|
17
17
|
|
18
18
|
.. currentmodule:: qiskit.assembler
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
Functions
|
21
|
+
=========
|
22
22
|
|
23
|
-
.. autofunction:: assemble_circuits
|
24
23
|
|
25
|
-
|
26
|
-
==================
|
24
|
+
.. autofunction:: assemble_circuits
|
27
25
|
|
28
26
|
.. autofunction:: assemble_schedules
|
29
27
|
|
30
|
-
Disassembler
|
31
|
-
============
|
32
|
-
|
33
28
|
.. autofunction:: disassemble
|
34
29
|
|
35
|
-
|
36
|
-
|
30
|
+
Classes
|
31
|
+
=======
|
37
32
|
|
38
33
|
.. autosummary::
|
39
34
|
:toctree: ../stubs/
|
qiskit/assembler/disassemble.py
CHANGED
@@ -231,13 +231,12 @@ def _experiments_to_circuits(qobj):
|
|
231
231
|
pulse_lib = qobj.config.pulse_library if hasattr(qobj.config, "pulse_library") else []
|
232
232
|
# The dict update method did not work here; could investigate in the future
|
233
233
|
if hasattr(qobj.config, "calibrations"):
|
234
|
-
circuit.calibrations =
|
235
|
-
**circuit.calibrations,
|
236
|
-
|
234
|
+
circuit.calibrations = {
|
235
|
+
**circuit.calibrations,
|
236
|
+
**_qobj_to_circuit_cals(qobj, pulse_lib),
|
237
|
+
}
|
237
238
|
if hasattr(exp.config, "calibrations"):
|
238
|
-
circuit.calibrations =
|
239
|
-
**circuit.calibrations, **_qobj_to_circuit_cals(exp, pulse_lib)
|
240
|
-
)
|
239
|
+
circuit.calibrations = {**circuit.calibrations, **_qobj_to_circuit_cals(exp, pulse_lib)}
|
241
240
|
circuits.append(circuit)
|
242
241
|
return circuits
|
243
242
|
|