qiskit 1.2.0rc1__cp38-abi3-win32.whl → 1.2.2__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/_accelerate.pyd +0 -0
- qiskit/circuit/__init__.py +15 -2
- qiskit/circuit/library/basis_change/qft.py +3 -1
- qiskit/circuit/library/data_preparation/initializer.py +5 -2
- qiskit/circuit/library/data_preparation/state_preparation.py +2 -2
- qiskit/circuit/library/pauli_evolution.py +1 -0
- qiskit/circuit/library/standard_gates/__init__.py +32 -25
- qiskit/circuit/quantumcircuit.py +43 -18
- qiskit/compiler/transpiler.py +1 -1
- qiskit/dagcircuit/dagcircuit.py +1 -1
- qiskit/primitives/base/base_estimator.py +2 -2
- qiskit/primitives/containers/data_bin.py +9 -1
- qiskit/providers/basic_provider/basic_simulator.py +1 -1
- qiskit/providers/fake_provider/fake_openpulse_2q.py +3 -3
- qiskit/providers/fake_provider/fake_openpulse_3q.py +2 -3
- qiskit/providers/fake_provider/fake_pulse_backend.py +2 -1
- qiskit/providers/fake_provider/fake_qasm_backend.py +2 -1
- qiskit/providers/fake_provider/generic_backend_v2.py +434 -18
- qiskit/providers/models/__init__.py +47 -21
- qiskit/pulse/builder.py +16 -7
- qiskit/pulse/instructions/directives.py +5 -0
- qiskit/pulse/library/symbolic_pulses.py +4 -3
- qiskit/pulse/schedule.py +5 -9
- qiskit/pulse/transforms/alignments.py +3 -1
- qiskit/pulse/transforms/dag.py +7 -0
- qiskit/qasm2/parse.py +29 -0
- qiskit/qasm3/exporter.py +20 -7
- qiskit/qpy/__init__.py +1 -1
- qiskit/quantum_info/operators/operator.py +24 -0
- qiskit/quantum_info/operators/symplectic/pauli.py +2 -0
- qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +6 -1
- qiskit/synthesis/clifford/clifford_decompose_bm.py +1 -1
- qiskit/synthesis/clifford/clifford_decompose_greedy.py +1 -1
- qiskit/synthesis/linear/cnot_synth.py +1 -1
- qiskit/synthesis/one_qubit/one_qubit_decompose.py +2 -1
- qiskit/synthesis/permutation/permutation_full.py +2 -2
- qiskit/synthesis/permutation/permutation_lnn.py +3 -1
- qiskit/synthesis/two_qubit/two_qubit_decompose.py +2 -2
- qiskit/transpiler/__init__.py +6 -1
- qiskit/transpiler/instruction_durations.py +4 -0
- qiskit/transpiler/passes/__init__.py +2 -0
- qiskit/transpiler/passes/basis/basis_translator.py +2 -1
- qiskit/transpiler/passes/calibration/rx_builder.py +1 -1
- qiskit/transpiler/passes/optimization/__init__.py +1 -0
- qiskit/transpiler/passes/optimization/consolidate_blocks.py +7 -1
- qiskit/transpiler/passes/optimization/elide_permutations.py +2 -2
- qiskit/transpiler/passes/optimization/hoare_opt.py +12 -8
- qiskit/transpiler/passes/optimization/split_2q_unitaries.py +16 -20
- qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +1 -1
- qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +9 -3
- qiskit/transpiler/passes/scheduling/padding/pad_delay.py +3 -0
- qiskit/transpiler/passes/synthesis/high_level_synthesis.py +16 -6
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py +1 -1
- qiskit/transpiler/preset_passmanagers/builtin_plugins.py +12 -55
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +9 -0
- qiskit/utils/optionals.py +173 -150
- qiskit/visualization/bloch.py +44 -1
- qiskit/visualization/dag_visualization.py +10 -3
- qiskit/visualization/gate_map.py +28 -6
- qiskit/visualization/pass_manager_visualization.py +3 -14
- {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/METADATA +20 -20
- {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/RECORD +67 -67
- {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/WHEEL +1 -1
- {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/LICENSE.txt +0 -0
- {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/entry_points.txt +0 -0
- {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/top_level.txt +0 -0
qiskit/visualization/gate_map.py
CHANGED
@@ -945,6 +945,7 @@ def plot_gate_map(
|
|
945
945
|
font_color,
|
946
946
|
ax,
|
947
947
|
filename,
|
948
|
+
planar=rx.is_planar(coupling_map.graph.to_undirected(multigraph=False)),
|
948
949
|
)
|
949
950
|
|
950
951
|
|
@@ -966,6 +967,8 @@ def plot_coupling_map(
|
|
966
967
|
font_color="white",
|
967
968
|
ax=None,
|
968
969
|
filename=None,
|
970
|
+
*,
|
971
|
+
planar=True,
|
969
972
|
):
|
970
973
|
"""Plots an arbitrary coupling map of qubits (embedded in a plane).
|
971
974
|
|
@@ -987,6 +990,7 @@ def plot_coupling_map(
|
|
987
990
|
font_color (str): The font color for the qubit labels.
|
988
991
|
ax (Axes): A Matplotlib axes instance.
|
989
992
|
filename (str): file path to save image to.
|
993
|
+
planar (bool): If the coupling map is planar or not. Default: ``True`` (i.e. it is planar)
|
990
994
|
|
991
995
|
Returns:
|
992
996
|
Figure: A Matplotlib figure instance.
|
@@ -1057,7 +1061,14 @@ def plot_coupling_map(
|
|
1057
1061
|
|
1058
1062
|
if font_size is None:
|
1059
1063
|
max_characters = max(1, max(len(str(x)) for x in qubit_labels))
|
1060
|
-
|
1064
|
+
if max_characters == 1:
|
1065
|
+
font_size = 20
|
1066
|
+
elif max_characters == 2:
|
1067
|
+
font_size = 14
|
1068
|
+
elif max_characters == 3:
|
1069
|
+
font_size = 12
|
1070
|
+
else:
|
1071
|
+
font_size = 1
|
1061
1072
|
|
1062
1073
|
def color_node(node):
|
1063
1074
|
if qubit_coordinates:
|
@@ -1065,8 +1076,6 @@ def plot_coupling_map(
|
|
1065
1076
|
"label": str(qubit_labels[node]),
|
1066
1077
|
"color": f'"{qubit_color[node]}"',
|
1067
1078
|
"fillcolor": f'"{qubit_color[node]}"',
|
1068
|
-
"style": "filled",
|
1069
|
-
"shape": "circle",
|
1070
1079
|
"pos": f'"{qubit_coordinates[node][0]},{qubit_coordinates[node][1]}"',
|
1071
1080
|
"pin": "True",
|
1072
1081
|
}
|
@@ -1075,11 +1084,11 @@ def plot_coupling_map(
|
|
1075
1084
|
"label": str(qubit_labels[node]),
|
1076
1085
|
"color": f'"{qubit_color[node]}"',
|
1077
1086
|
"fillcolor": f'"{qubit_color[node]}"',
|
1078
|
-
"style": "filled",
|
1079
|
-
"shape": "circle",
|
1080
1087
|
}
|
1088
|
+
out_dict["style"] = "filled"
|
1089
|
+
out_dict["shape"] = "circle"
|
1081
1090
|
out_dict["fontcolor"] = f'"{font_color}"'
|
1082
|
-
out_dict["fontsize"] = str(font_size)
|
1091
|
+
out_dict["fontsize"] = f'"{str(font_size)}!"'
|
1083
1092
|
out_dict["height"] = str(qubit_size * px)
|
1084
1093
|
out_dict["fixedsize"] = "True"
|
1085
1094
|
out_dict["fontname"] = '"DejaVu Sans"'
|
@@ -1093,9 +1102,22 @@ def plot_coupling_map(
|
|
1093
1102
|
}
|
1094
1103
|
return out_dict
|
1095
1104
|
|
1105
|
+
graph_attributes = None
|
1106
|
+
if not qubit_coordinates:
|
1107
|
+
if planar:
|
1108
|
+
graph_attributes = {
|
1109
|
+
"overlap_scaling": "-7",
|
1110
|
+
"overlap": "prism",
|
1111
|
+
"model": "subset",
|
1112
|
+
}
|
1113
|
+
else:
|
1114
|
+
graph_attributes = {
|
1115
|
+
"overlap": "true",
|
1116
|
+
}
|
1096
1117
|
plot = graphviz_draw(
|
1097
1118
|
graph,
|
1098
1119
|
method="neato",
|
1120
|
+
graph_attr=graph_attributes,
|
1099
1121
|
node_attr_fn=color_node,
|
1100
1122
|
edge_attr_fn=color_edge,
|
1101
1123
|
filename=filename,
|
@@ -58,23 +58,12 @@ def pass_manager_drawer(pass_manager, filename=None, style=None, raw=False):
|
|
58
58
|
Example:
|
59
59
|
.. code-block::
|
60
60
|
|
61
|
-
%matplotlib inline
|
62
61
|
from qiskit import QuantumCircuit
|
63
|
-
from qiskit.
|
64
|
-
from qiskit.transpiler import PassManager
|
62
|
+
from qiskit.transpiler import generate_preset_pass_manager
|
65
63
|
from qiskit.visualization import pass_manager_drawer
|
66
|
-
from qiskit.transpiler.passes import Unroller
|
67
64
|
|
68
|
-
|
69
|
-
|
70
|
-
circ.draw()
|
71
|
-
|
72
|
-
pass_ = Unroller(['u1', 'u2', 'u3', 'cx'])
|
73
|
-
pm = PassManager(pass_)
|
74
|
-
new_circ = pm.run(circ)
|
75
|
-
new_circ.draw(output='mpl')
|
76
|
-
|
77
|
-
pass_manager_drawer(pm, "passmanager.jpg")
|
65
|
+
pm = generate_preset_pass_manager(optimization_level=0)
|
66
|
+
pass_manager_drawer(pm)
|
78
67
|
"""
|
79
68
|
import pydot
|
80
69
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: qiskit
|
3
|
-
Version: 1.2.
|
3
|
+
Version: 1.2.2
|
4
4
|
Summary: An open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
|
5
5
|
Author-email: Qiskit Development Team <qiskit@us.ibm.com>
|
6
6
|
License: Apache 2.0
|
@@ -28,29 +28,29 @@ Classifier: Topic :: Scientific/Engineering
|
|
28
28
|
Requires-Python: >=3.8
|
29
29
|
Description-Content-Type: text/markdown
|
30
30
|
License-File: LICENSE.txt
|
31
|
-
Requires-Dist: rustworkx
|
32
|
-
Requires-Dist: numpy
|
33
|
-
Requires-Dist: scipy
|
34
|
-
Requires-Dist: sympy
|
35
|
-
Requires-Dist: dill
|
36
|
-
Requires-Dist: python-dateutil
|
37
|
-
Requires-Dist: stevedore
|
31
|
+
Requires-Dist: rustworkx>=0.15.0
|
32
|
+
Requires-Dist: numpy<3,>=1.17
|
33
|
+
Requires-Dist: scipy>=1.5
|
34
|
+
Requires-Dist: sympy>=1.3
|
35
|
+
Requires-Dist: dill>=0.3
|
36
|
+
Requires-Dist: python-dateutil>=2.8.0
|
37
|
+
Requires-Dist: stevedore>=3.0.0
|
38
38
|
Requires-Dist: typing-extensions
|
39
|
-
Requires-Dist: symengine
|
39
|
+
Requires-Dist: symengine>=0.11
|
40
40
|
Provides-Extra: all
|
41
|
-
Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization]
|
41
|
+
Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization]; extra == "all"
|
42
42
|
Provides-Extra: crosstalk-pass
|
43
|
-
Requires-Dist: z3-solver
|
43
|
+
Requires-Dist: z3-solver>=4.7; extra == "crosstalk-pass"
|
44
44
|
Provides-Extra: csp-layout-pass
|
45
|
-
Requires-Dist: python-constraint
|
45
|
+
Requires-Dist: python-constraint>=1.4; extra == "csp-layout-pass"
|
46
46
|
Provides-Extra: qasm3-import
|
47
|
-
Requires-Dist: qiskit-qasm3-import
|
47
|
+
Requires-Dist: qiskit-qasm3-import>=0.1.0; extra == "qasm3-import"
|
48
48
|
Provides-Extra: visualization
|
49
|
-
Requires-Dist: matplotlib
|
50
|
-
Requires-Dist: pydot
|
51
|
-
Requires-Dist: Pillow
|
52
|
-
Requires-Dist: pylatexenc
|
53
|
-
Requires-Dist: seaborn
|
49
|
+
Requires-Dist: matplotlib>=3.3; extra == "visualization"
|
50
|
+
Requires-Dist: pydot; extra == "visualization"
|
51
|
+
Requires-Dist: Pillow>=4.2.1; extra == "visualization"
|
52
|
+
Requires-Dist: pylatexenc>=1.4; extra == "visualization"
|
53
|
+
Requires-Dist: seaborn>=0.9.0; extra == "visualization"
|
54
54
|
|
55
55
|
# Qiskit
|
56
56
|
|
@@ -77,7 +77,7 @@ For more details on how to use Qiskit, refer to the documentation located here:
|
|
77
77
|
## Installation
|
78
78
|
|
79
79
|
> [!WARNING]
|
80
|
-
> Do not try to upgrade an existing Qiskit 0.* environment to Qiskit 1.0 in-place. [Read more](https://docs.quantum.ibm.com/
|
80
|
+
> Do not try to upgrade an existing Qiskit 0.* environment to Qiskit 1.0 in-place. [Read more](https://docs.quantum.ibm.com/migration-guides/qiskit-1.0-installation).
|
81
81
|
|
82
82
|
We encourage installing Qiskit via ``pip``:
|
83
83
|
|
@@ -87,7 +87,7 @@ pip install qiskit
|
|
87
87
|
|
88
88
|
Pip will handle all dependencies automatically and you will always install the latest (and well-tested) version.
|
89
89
|
|
90
|
-
To install from source, follow the instructions in the [documentation](https://docs.quantum.ibm.com/
|
90
|
+
To install from source, follow the instructions in the [documentation](https://docs.quantum.ibm.com/guides/install-qiskit-source).
|
91
91
|
|
92
92
|
## Create your first quantum program in Qiskit
|
93
93
|
|