qiskit 2.0.0rc2__cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 2.0.1__cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.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 +1 -4
- qiskit/_accelerate.abi3.so +0 -0
- qiskit/circuit/__init__.py +11 -5
- qiskit/circuit/classical/expr/constructors.py +0 -12
- qiskit/circuit/library/__init__.py +449 -163
- qiskit/circuit/library/graph_state.py +1 -0
- qiskit/circuit/library/n_local/efficient_su2.py +1 -1
- qiskit/circuit/library/n_local/excitation_preserving.py +1 -1
- qiskit/circuit/library/quantum_volume.py +9 -0
- qiskit/circuit/library/standard_gates/r.py +4 -3
- qiskit/circuit/library/standard_gates/x.py +1 -2
- qiskit/circuit/quantumcircuit.py +405 -80
- qiskit/converters/circuit_to_dag.py +2 -2
- qiskit/converters/dag_to_circuit.py +2 -3
- qiskit/dagcircuit/dagdependency_v2.py +3 -2
- qiskit/primitives/statevector_estimator.py +1 -1
- qiskit/qpy/__init__.py +21 -0
- qiskit/qpy/binary_io/circuits.py +5 -0
- qiskit/result/models.py +1 -2
- qiskit/result/result.py +10 -8
- qiskit/synthesis/discrete_basis/commutator_decompose.py +30 -6
- qiskit/synthesis/discrete_basis/gate_sequence.py +10 -4
- qiskit/synthesis/discrete_basis/generate_basis_approximations.py +1 -1
- qiskit/synthesis/discrete_basis/solovay_kitaev.py +36 -13
- qiskit/transpiler/passes/__init__.py +2 -0
- qiskit/transpiler/passes/basis/basis_translator.py +1 -1
- qiskit/transpiler/passes/layout/full_ancilla_allocation.py +2 -3
- qiskit/transpiler/passes/layout/sabre_layout.py +3 -1
- qiskit/transpiler/passes/layout/vf2_utils.py +2 -5
- qiskit/transpiler/passes/optimization/__init__.py +1 -0
- qiskit/transpiler/passes/scheduling/alignments/check_durations.py +1 -1
- qiskit/transpiler/passes/scheduling/padding/base_padding.py +2 -2
- qiskit/transpiler/passes/scheduling/padding/dynamical_decoupling.py +5 -5
- qiskit/transpiler/passes/scheduling/padding/pad_delay.py +1 -1
- qiskit/transpiler/passes/scheduling/time_unit_conversion.py +10 -6
- qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py +29 -19
- qiskit/transpiler/passes/synthesis/unitary_synthesis.py +2 -1
- qiskit/transpiler/preset_passmanagers/generate_preset_pass_manager.py +13 -7
- qiskit/transpiler/target.py +11 -0
- qiskit/visualization/circuit/text.py +1 -1
- qiskit/visualization/counts_visualization.py +4 -0
- qiskit/visualization/library.py +4 -1
- qiskit/visualization/state_visualization.py +13 -2
- qiskit/visualization/timeline/core.py +1 -1
- qiskit/visualization/timeline/plotters/matplotlib.py +4 -1
- {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/METADATA +4 -3
- {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/RECORD +52 -52
- {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/WHEEL +1 -1
- {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info}/entry_points.txt +0 -0
- {qiskit-2.0.0rc2.dist-info → qiskit-2.0.1.dist-info/licenses}/LICENSE.txt +0 -0
- {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.
|
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.
|
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
|
qiskit/_accelerate.abi3.so
CHANGED
Binary file
|
qiskit/circuit/__init__.py
CHANGED
@@ -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
|
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:`
|
711
|
-
conditions and strategies, but contain all the different subcircuit blocks that
|
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}'")
|