qiskit 2.0.0rc2__cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl → 2.0.1__cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.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 (52) hide show
  1. qiskit/VERSION.txt +1 -1
  2. qiskit/__init__.py +1 -4
  3. qiskit/_accelerate.abi3.so +0 -0
  4. qiskit/circuit/__init__.py +11 -5
  5. qiskit/circuit/classical/expr/constructors.py +0 -12
  6. qiskit/circuit/library/__init__.py +449 -163
  7. qiskit/circuit/library/graph_state.py +1 -0
  8. qiskit/circuit/library/n_local/efficient_su2.py +1 -1
  9. qiskit/circuit/library/n_local/excitation_preserving.py +1 -1
  10. qiskit/circuit/library/quantum_volume.py +9 -0
  11. qiskit/circuit/library/standard_gates/r.py +4 -3
  12. qiskit/circuit/library/standard_gates/x.py +1 -2
  13. qiskit/circuit/quantumcircuit.py +405 -80
  14. qiskit/converters/circuit_to_dag.py +2 -2
  15. qiskit/converters/dag_to_circuit.py +2 -3
  16. qiskit/dagcircuit/dagdependency_v2.py +3 -2
  17. qiskit/primitives/statevector_estimator.py +1 -1
  18. qiskit/qpy/__init__.py +21 -0
  19. qiskit/qpy/binary_io/circuits.py +5 -0
  20. qiskit/result/models.py +1 -2
  21. qiskit/result/result.py +10 -8
  22. qiskit/synthesis/discrete_basis/commutator_decompose.py +30 -6
  23. qiskit/synthesis/discrete_basis/gate_sequence.py +10 -4
  24. qiskit/synthesis/discrete_basis/generate_basis_approximations.py +1 -1
  25. qiskit/synthesis/discrete_basis/solovay_kitaev.py +36 -13
  26. qiskit/transpiler/passes/__init__.py +2 -0
  27. qiskit/transpiler/passes/basis/basis_translator.py +1 -1
  28. qiskit/transpiler/passes/layout/full_ancilla_allocation.py +2 -3
  29. qiskit/transpiler/passes/layout/sabre_layout.py +3 -1
  30. qiskit/transpiler/passes/layout/vf2_utils.py +2 -5
  31. qiskit/transpiler/passes/optimization/__init__.py +1 -0
  32. qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
  33. qiskit/transpiler/passes/scheduling/padding/base_padding.py +2 -2
  34. qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +5 -5
  35. qiskit/transpiler/passes/scheduling/padding/pad_delay.py +1 -1
  36. qiskit/transpiler/passes/scheduling/time_unit_conversion.py +10 -6
  37. qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +29 -19
  38. qiskit/transpiler/passes/synthesis/unitary_synthesis.py +2 -1
  39. qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +13 -7
  40. qiskit/transpiler/target.py +11 -0
  41. qiskit/visualization/circuit/text.py +1 -1
  42. qiskit/visualization/counts_visualization.py +4 -0
  43. qiskit/visualization/library.py +4 -1
  44. qiskit/visualization/state_visualization.py +13 -2
  45. qiskit/visualization/timeline/core.py +1 -1
  46. qiskit/visualization/timeline/plotters/matplotlib.py +4 -1
  47. {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/METADATA +4 -3
  48. {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/RECORD +52 -52
  49. {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/WHEEL +1 -1
  50. {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/entry_points.txt +0 -0
  51. {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info/licenses}/LICENSE.txt +0 -0
  52. {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/top_level.txt +0 -0
qiskit/VERSION.txt CHANGED
@@ -1 +1 @@
1
- 2.0.0rc2
1
+ 2.0.1
qiskit/__init__.py CHANGED
@@ -53,11 +53,8 @@ import qiskit._numpy_compat
53
53
  # and not have to rely on attribute access. No action needed for top-level extension packages.
54
54
  sys.modules["qiskit._accelerate.circuit"] = _accelerate.circuit
55
55
  sys.modules["qiskit._accelerate.circuit_library"] = _accelerate.circuit_library
56
- sys.modules["qiskit._accelerate.basis"] = _accelerate.basis
57
- sys.modules["qiskit._accelerate.basis.basis_translator"] = _accelerate.basis.basis_translator
56
+ sys.modules["qiskit._accelerate.basis_translator"] = _accelerate.basis_translator
58
57
  sys.modules["qiskit._accelerate.converters"] = _accelerate.converters
59
- sys.modules["qiskit._accelerate.basis"] = _accelerate.basis
60
- sys.modules["qiskit._accelerate.basis.basis_translator"] = _accelerate.basis.basis_translator
61
58
  sys.modules["qiskit._accelerate.dense_layout"] = _accelerate.dense_layout
62
59
  sys.modules["qiskit._accelerate.equivalence"] = _accelerate.equivalence
63
60
  sys.modules["qiskit._accelerate.error_map"] = _accelerate.error_map
Binary file
@@ -272,7 +272,8 @@ circuit. The top-level ones are:
272
272
  * :class:`ForLoopOp`, to loop over a fixed range of values
273
273
  * :class:`IfElseOp`, to conditionally enter one of two subcircuits
274
274
  * :class:`SwitchCaseOp`, to conditionally enter one of many subcircuits
275
- * :class:`WhileLoopOp`, to repeat a subcircuit until a condition is falsified.
275
+ * :class:`WhileLoopOp`, to repeat a subcircuit until a condition is falsified
276
+ * :class:`BoxOp`, to group a series of instructions for later processing
276
277
 
277
278
  :ref:`Circuits can include classical expressions that are evaluated in real time
278
279
  <circuit-repr-real-time-classical>`, while the QPU is executing a single shot of the circuit. These
@@ -303,9 +304,10 @@ assist compilation workflows. These include:
303
304
  * :data:`SessionEquivalenceLibrary`, a mutable instance of :class:`EquivalenceLibrary` which is used
304
305
  by default by the compiler's :class:`.BasisTranslator`.
305
306
 
306
- There is also a utility for generating random circuits:
307
+ There are also utilities for generating random circuits:
307
308
 
308
309
  * :func:`random.random_circuit`
310
+ * :func:`random.random_clifford_circuit`
309
311
 
310
312
  Finally, the circuit module has its own exception class, to indicate when things went wrong in
311
313
  circuit-specific manners:
@@ -558,6 +560,8 @@ Hardware can be instructed to apply a real-time idle period on a given qubit. A
558
560
 
559
561
  .. autoclass:: Delay
560
562
  :show-inheritance:
563
+ .. autoclass:: Duration
564
+
561
565
 
562
566
  The :class:`Barrier` instruction can span an arbitrary number of qubits and clbits, and is a no-op
563
567
  in hardware. During transpilation and optimization, however, it blocks any optimizations from
@@ -707,9 +711,9 @@ classes associated to each name.
707
711
  .. autofunction:: get_control_flow_name_mapping
708
712
 
709
713
  These control-flow operations (:class:`IfElseOp`, :class:`WhileLoopOp`,
710
- :class:`SwitchCaseOp` and :class:`ForLoopOp`) all have specific state that defines the branching
711
- conditions and strategies, but contain all the different subcircuit blocks that might be entered in
712
- their :attr:`~ControlFlowOp.blocks` property.
714
+ :class:`SwitchCaseOp`, :class:`ForLoopOp` and :class:`BoxOp`) all have specific state that defines
715
+ the branching conditions and strategies, but contain all the different subcircuit blocks that
716
+ might be entered in their :attr:`~ControlFlowOp.blocks` property.
713
717
 
714
718
  .. autosummary::
715
719
  :toctree: ../stubs/
@@ -718,6 +722,7 @@ their :attr:`~ControlFlowOp.blocks` property.
718
722
  WhileLoopOp
719
723
  SwitchCaseOp
720
724
  ForLoopOp
725
+ BoxOp
721
726
 
722
727
  The :class:`.SwitchCaseOp` also understands a special value:
723
728
 
@@ -1058,6 +1063,7 @@ Generating random circuits
1058
1063
 
1059
1064
  .. currentmodule:: qiskit.circuit.random
1060
1065
  .. autofunction:: random_circuit
1066
+ .. autofunction:: random_clifford_circuit
1061
1067
  .. currentmodule:: qiskit.circuit
1062
1068
 
1063
1069
  Apply Pauli twirling to a circuit
@@ -683,16 +683,8 @@ Duration())
683
683
  left = _coerce_lossless(left, type)
684
684
  right = _coerce_lossless(right, type)
685
685
  elif left.type.kind is types.Duration and right.type.kind in {types.Uint, types.Float}:
686
- if not right.const:
687
- raise ValueError(
688
- f"multiplying operands '{left}' and '{right}' would result in a non-const '{left.type}'"
689
- )
690
686
  type = left.type
691
687
  elif right.type.kind is types.Duration and left.type.kind in {types.Uint, types.Float}:
692
- if not left.const:
693
- raise ValueError(
694
- f"multiplying operands '{left}' and '{right}' would result in a non-const '{right.type}'"
695
- )
696
688
  type = right.type
697
689
  else:
698
690
  raise TypeError(f"invalid types for '{Binary.Op.MUL}': '{left.type}' and '{right.type}'")
@@ -761,10 +753,6 @@ Duration())
761
753
  left = _coerce_lossless(left, type)
762
754
  right = _coerce_lossless(right, type)
763
755
  elif left.type.kind is types.Duration and right.type.kind in {types.Uint, types.Float}:
764
- if not right.const:
765
- raise ValueError(
766
- f"division of '{left}' and '{right}' would result in a non-const '{left.type}'"
767
- )
768
756
  type = left.type
769
757
  else:
770
758
  raise TypeError(f"invalid types for '{Binary.Op.DIV}': '{left.type}' and '{right.type}'")