diff --git a/qiskit/quantum_info/operators/symplectic/pauli_table.py b/qiskit/quantum_info/operators/symplectic/pauli_table.py index fc280410b999..e792f807c516 100644 --- a/qiskit/quantum_info/operators/symplectic/pauli_table.py +++ b/qiskit/quantum_info/operators/symplectic/pauli_table.py @@ -15,7 +15,6 @@ # pylint: disable=invalid-name from typing import Dict -from warnings import warn import numpy as np @@ -25,6 +24,7 @@ from qiskit.quantum_info.operators.mixins import AdjointMixin, generate_apidocs from qiskit.quantum_info.operators.scalar_op import ScalarOp from qiskit.quantum_info.operators.symplectic.pauli import Pauli +from qiskit.utils.deprecation import deprecate_func class PauliTable(BaseOperator, AdjointMixin): @@ -127,6 +127,7 @@ class PauliTable(BaseOperator, AdjointMixin): `arXiv:quant-ph/0406196 `_ """ + @deprecate_func(additional_msg="Instead, use the class PauliList", since="0.23.0", pending=True) def __init__(self, data): """Initialize the PauliTable. @@ -140,12 +141,6 @@ def __init__(self, data): The input array is not copied so multiple Pauli tables can share the same underlying array. """ - warn( - "The PauliTable class has been superseded by PauliList and is pending deprecation. " - "This class will be deprecated in the future release and subsequently removed after that.", - PendingDeprecationWarning, - stacklevel=2, - ) if isinstance(data, (np.ndarray, list)): self._array = np.asarray(data, dtype=bool) elif isinstance(data, str): diff --git a/qiskit/quantum_info/operators/symplectic/pauli_utils.py b/qiskit/quantum_info/operators/symplectic/pauli_utils.py index 0d2529fcb7fe..3b4b9ec8a7ce 100644 --- a/qiskit/quantum_info/operators/symplectic/pauli_utils.py +++ b/qiskit/quantum_info/operators/symplectic/pauli_utils.py @@ -13,10 +13,17 @@ PauliList utility functions. """ -import warnings from qiskit.quantum_info.operators.symplectic.pauli_list import PauliList +from qiskit.utils.deprecation import deprecate_arg +@deprecate_arg( + "pauli_basis", + since="0.22", + additional_msg=( + "The argument ``pauli_list`` has no effect as the function always returns a PauliList." + ), +) def pauli_basis(num_qubits, weight=False, pauli_list=None): """Return the ordered PauliTable or PauliList for the n-qubit Pauli basis. @@ -30,13 +37,7 @@ def pauli_basis(num_qubits, weight=False, pauli_list=None): Returns: PauliList: the Paulis for the basis """ - if pauli_list is not None: - warnings.warn( - "The `pauli_list` kwarg is deprecated as of Qiskit Terra 0.22 and " - "no longer has an effect as `pauli_basis` always returns a PauliList.", - DeprecationWarning, - stacklevel=2, - ) + del pauli_list pauli_1q = PauliList(["I", "X", "Y", "Z"]) if num_qubits == 1: return pauli_1q diff --git a/qiskit/quantum_info/operators/symplectic/random.py b/qiskit/quantum_info/operators/symplectic/random.py index 7faf2a848d36..d8dbb13113c9 100644 --- a/qiskit/quantum_info/operators/symplectic/random.py +++ b/qiskit/quantum_info/operators/symplectic/random.py @@ -16,7 +16,7 @@ import numpy as np from numpy.random import default_rng -from qiskit.utils.deprecation import deprecate_function +from qiskit.utils.deprecation import deprecate_func from .clifford import Clifford from .pauli import Pauli @@ -103,10 +103,8 @@ def random_pauli_table(num_qubits, size=1, seed=None): return PauliTable(table) -@deprecate_function( - "The random_stabilizer_table function is deprecated as of Qiskit Terra 0.22.0 " - "and will be removed no sooner than 3 months after the release date. " - "Use random_pauli_list method instead.", +@deprecate_func( + additional_msg="Instead, use the function ``random_pauli_list``.", since="0.22.0", ) def random_stabilizer_table(num_qubits, size=1, seed=None): diff --git a/qiskit/quantum_info/operators/symplectic/stabilizer_table.py b/qiskit/quantum_info/operators/symplectic/stabilizer_table.py index 7a564c229018..2b162f15f1b4 100644 --- a/qiskit/quantum_info/operators/symplectic/stabilizer_table.py +++ b/qiskit/quantum_info/operators/symplectic/stabilizer_table.py @@ -13,14 +13,13 @@ Symplectic Stabilizer Table Class """ -from warnings import warn - import numpy as np from qiskit.exceptions import QiskitError from qiskit.quantum_info.operators.custom_iterator import CustomIterator from qiskit.quantum_info.operators.mixins import AdjointMixin, generate_apidocs from qiskit.quantum_info.operators.symplectic.pauli_table import PauliTable +from qiskit.utils.deprecation import deprecate_func class StabilizerTable(PauliTable, AdjointMixin): @@ -170,6 +169,7 @@ class StabilizerTable(PauliTable, AdjointMixin): `arXiv:quant-ph/0406196 `_ """ + @deprecate_func(additional_msg="Instead, use the class PauliList", since="0.23.0", pending=True) def __init__(self, data, phase=None): """Initialize the StabilizerTable. @@ -185,12 +185,6 @@ def __init__(self, data, phase=None): The input array is not copied so multiple Pauli and Stabilizer tables can share the same underlying array. """ - warn( - "The StabilizerTable class has been superseded by PauliList and is pending deprecation. " - "This class will be deprecated in the future release and subsequently removed after that.", - PendingDeprecationWarning, - stacklevel=2, - ) if isinstance(data, str) and phase is None: pauli, phase = StabilizerTable._from_label(data) elif isinstance(data, StabilizerTable): diff --git a/qiskit/quantum_info/synthesis/clifford_decompose.py b/qiskit/quantum_info/synthesis/clifford_decompose.py index 942ae79fa30d..6bf58e3c5e2c 100644 --- a/qiskit/quantum_info/synthesis/clifford_decompose.py +++ b/qiskit/quantum_info/synthesis/clifford_decompose.py @@ -13,14 +13,17 @@ Circuit synthesis for the Clifford class. """ -import warnings from qiskit.synthesis.clifford import ( synth_clifford_ag, synth_clifford_bm, synth_clifford_greedy, ) +from qiskit.utils.deprecation import deprecate_func +@deprecate_func( + additional_msg="Instead, use the function qiskit.synthesis.synth_clifford_full.", since="0.23.0" +) def decompose_clifford(clifford, method=None): """DEPRECATED: Decompose a Clifford operator into a QuantumCircuit. @@ -51,15 +54,6 @@ def decompose_clifford(clifford, method=None): `arXiv:2105.02291 [quant-ph] `_ """ num_qubits = clifford.num_qubits - - warnings.warn( - "The decompose_clifford function is deprecated as of Qiskit Terra 0.23.0 " - "and will be removed no sooner than 3 months after the releasedate. " - "Use qiskit.synthesis.synth_clifford_full function instead.", - DeprecationWarning, - stacklevel=2, - ) - if method == "AG": return synth_clifford_ag(clifford) diff --git a/qiskit/quantum_info/synthesis/cnotdihedral_decompose.py b/qiskit/quantum_info/synthesis/cnotdihedral_decompose.py index ac3e397d5a39..9b05a0899e83 100644 --- a/qiskit/quantum_info/synthesis/cnotdihedral_decompose.py +++ b/qiskit/quantum_info/synthesis/cnotdihedral_decompose.py @@ -13,13 +13,17 @@ Circuit synthesis for the CNOTDihedral class. """ -import warnings from qiskit.synthesis.cnotdihedral import ( synth_cnotdihedral_two_qubits, synth_cnotdihedral_general, ) +from qiskit.utils.deprecation import deprecate_func +@deprecate_func( + additional_msg="Instead, use the function qiskit.synthesis.synth_cnotdihedral_full.", + since="0.23.0", +) def decompose_cnotdihedral(elem): """DEPRECATED: Decompose a CNOTDihedral element into a QuantumCircuit. @@ -38,15 +42,6 @@ def decompose_cnotdihedral(elem): """ num_qubits = elem.num_qubits - - warnings.warn( - "The decompose_cnotdihedral function is deprecated as of Qiskit Terra 0.23.0 " - "and will be removed no sooner than 3 months after the releasedate. " - "Use qiskit.synthesis.synth_cnotdihedral_full function instead.", - DeprecationWarning, - stacklevel=2, - ) - if num_qubits < 3: return synth_cnotdihedral_two_qubits(elem) diff --git a/qiskit/quantum_info/synthesis/two_qubit_decompose.py b/qiskit/quantum_info/synthesis/two_qubit_decompose.py index 6e580265e944..43d0d4a9e4be 100644 --- a/qiskit/quantum_info/synthesis/two_qubit_decompose.py +++ b/qiskit/quantum_info/synthesis/two_qubit_decompose.py @@ -43,7 +43,7 @@ OneQubitEulerDecomposer, DEFAULT_ATOL, ) -from qiskit.utils.deprecation import deprecate_arguments +from qiskit.utils.deprecation import deprecate_arg logger = logging.getLogger(__name__) @@ -1085,7 +1085,7 @@ def decomp3_supercontrolled(self, target): return U3r, U3l, U2r, U2l, U1r, U1l, U0r, U0l - @deprecate_arguments({"target": "unitary"}, since="0.23.0") + @deprecate_arg("target", new_alias="unitary", since="0.23.0") def __call__( self, unitary: Union[Operator, np.ndarray],