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.
Files changed (67) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/_accelerate.pyd +0 -0
  3. qiskit/circuit/__init__.py +15 -2
  4. qiskit/circuit/library/basis_change/qft.py +3 -1
  5. qiskit/circuit/library/data_preparation/initializer.py +5 -2
  6. qiskit/circuit/library/data_preparation/state_preparation.py +2 -2
  7. qiskit/circuit/library/pauli_evolution.py +1 -0
  8. qiskit/circuit/library/standard_gates/__init__.py +32 -25
  9. qiskit/circuit/quantumcircuit.py +43 -18
  10. qiskit/compiler/transpiler.py +1 -1
  11. qiskit/dagcircuit/dagcircuit.py +1 -1
  12. qiskit/primitives/base/base_estimator.py +2 -2
  13. qiskit/primitives/containers/data_bin.py +9 -1
  14. qiskit/providers/basic_provider/basic_simulator.py +1 -1
  15. qiskit/providers/fake_provider/fake_openpulse_2q.py +3 -3
  16. qiskit/providers/fake_provider/fake_openpulse_3q.py +2 -3
  17. qiskit/providers/fake_provider/fake_pulse_backend.py +2 -1
  18. qiskit/providers/fake_provider/fake_qasm_backend.py +2 -1
  19. qiskit/providers/fake_provider/generic_backend_v2.py +434 -18
  20. qiskit/providers/models/__init__.py +47 -21
  21. qiskit/pulse/builder.py +16 -7
  22. qiskit/pulse/instructions/directives.py +5 -0
  23. qiskit/pulse/library/symbolic_pulses.py +4 -3
  24. qiskit/pulse/schedule.py +5 -9
  25. qiskit/pulse/transforms/alignments.py +3 -1
  26. qiskit/pulse/transforms/dag.py +7 -0
  27. qiskit/qasm2/parse.py +29 -0
  28. qiskit/qasm3/exporter.py +20 -7
  29. qiskit/qpy/__init__.py +1 -1
  30. qiskit/quantum_info/operators/operator.py +24 -0
  31. qiskit/quantum_info/operators/symplectic/pauli.py +2 -0
  32. qiskit/quantum_info/operators/symplectic/sparse_pauli_op.py +6 -1
  33. qiskit/synthesis/clifford/clifford_decompose_bm.py +1 -1
  34. qiskit/synthesis/clifford/clifford_decompose_greedy.py +1 -1
  35. qiskit/synthesis/linear/cnot_synth.py +1 -1
  36. qiskit/synthesis/one_qubit/one_qubit_decompose.py +2 -1
  37. qiskit/synthesis/permutation/permutation_full.py +2 -2
  38. qiskit/synthesis/permutation/permutation_lnn.py +3 -1
  39. qiskit/synthesis/two_qubit/two_qubit_decompose.py +2 -2
  40. qiskit/transpiler/__init__.py +6 -1
  41. qiskit/transpiler/instruction_durations.py +4 -0
  42. qiskit/transpiler/passes/__init__.py +2 -0
  43. qiskit/transpiler/passes/basis/basis_translator.py +2 -1
  44. qiskit/transpiler/passes/calibration/rx_builder.py +1 -1
  45. qiskit/transpiler/passes/optimization/__init__.py +1 -0
  46. qiskit/transpiler/passes/optimization/consolidate_blocks.py +7 -1
  47. qiskit/transpiler/passes/optimization/elide_permutations.py +2 -2
  48. qiskit/transpiler/passes/optimization/hoare_opt.py +12 -8
  49. qiskit/transpiler/passes/optimization/split_2q_unitaries.py +16 -20
  50. qiskit/transpiler/passes/scheduling/alignments/pulse_gate_validation.py +1 -1
  51. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +9 -3
  52. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +3 -0
  53. qiskit/transpiler/passes/synthesis/high_level_synthesis.py +16 -6
  54. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +1 -1
  55. qiskit/transpiler/preset_passmanagers/builtin_plugins.py +12 -55
  56. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +9 -0
  57. qiskit/utils/optionals.py +173 -150
  58. qiskit/visualization/bloch.py +44 -1
  59. qiskit/visualization/dag_visualization.py +10 -3
  60. qiskit/visualization/gate_map.py +28 -6
  61. qiskit/visualization/pass_manager_visualization.py +3 -14
  62. {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/METADATA +20 -20
  63. {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/RECORD +67 -67
  64. {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/WHEEL +1 -1
  65. {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/LICENSE.txt +0 -0
  66. {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/entry_points.txt +0 -0
  67. {qiskit-1.2.0rc1.dist-info → qiskit-1.2.2.dist-info}/top_level.txt +0 -0
@@ -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
- font_size = max(int(20 / max_characters), 1)
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.compiler import transpile
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
- circ = QuantumCircuit(3)
69
- circ.ccx(0, 1, 2)
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.0rc1
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 >=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
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 >=0.11
39
+ Requires-Dist: symengine>=0.11
40
40
  Provides-Extra: all
41
- Requires-Dist: qiskit[crosstalk-pass,csp-layout-pass,qasm3-import,visualization] ; extra == 'all'
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 >=4.7 ; extra == 'crosstalk-pass'
43
+ Requires-Dist: z3-solver>=4.7; extra == "crosstalk-pass"
44
44
  Provides-Extra: csp-layout-pass
45
- Requires-Dist: python-constraint >=1.4 ; extra == 'csp-layout-pass'
45
+ Requires-Dist: python-constraint>=1.4; extra == "csp-layout-pass"
46
46
  Provides-Extra: qasm3-import
47
- Requires-Dist: qiskit-qasm3-import >=0.1.0 ; extra == 'qasm3-import'
47
+ Requires-Dist: qiskit-qasm3-import>=0.1.0; extra == "qasm3-import"
48
48
  Provides-Extra: visualization
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'
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/api/migration-guides/qiskit-1.0-installation).
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/start/install-qiskit-source).
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