Skip to content

Commit cf5ef03

Browse files
authored
Replace circuit library pending deprecated classes (Qiskit#13540)
* replace Diagonal by DiagonalGate * replace EfficientSU2 by efficient_su2 * update tests * revert test * replace QFT by QFTGate * update GraphStateGate following review
1 parent 82bbcaa commit cf5ef03

File tree

16 files changed

+48
-48
lines changed

16 files changed

+48
-48
lines changed

qiskit/circuit/library/data_preparation/pauli_feature_map.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ def pauli_feature_map(
125125
q_1: ┤ H ├────────────┤ X ├┤ P(2.0*(pi - x[0])*(pi - x[1])) ├┤ X ├─────────────
126126
└───┘ └───┘└────────────────────────────────┘└───┘
127127
128-
>>> from qiskit.circuit.library import EfficientSU2
128+
>>> from qiskit.circuit.library import efficient_su2
129129
>>> prep = pauli_feature_map(3, reps=3, paulis=["Z", "YY", "ZXZ"])
130-
>>> wavefunction = EfficientSU2(3)
130+
>>> wavefunction = efficient_su2(3)
131131
>>> classifier = prep.compose(wavefunction)
132132
>>> classifier.num_parameters
133133
27
@@ -286,8 +286,8 @@ def zz_feature_map(
286286
q_1: ┤ H ├┤ P(2.0*x[1]) ├┤ X ├┤ P(2.0*(pi - x[0])*(pi - x[1])) ├┤ X ├
287287
└───┘└─────────────┘└───┘└────────────────────────────────┘└───┘
288288
289-
>>> from qiskit.circuit.library import EfficientSU2
290-
>>> classifier = zz_feature_map(3) + EfficientSU2(3)
289+
>>> from qiskit.circuit.library import efficient_su2
290+
>>> classifier = zz_feature_map(3).compose(efficient_su2(3))
291291
>>> classifier.num_parameters
292292
15
293293
>>> classifier.parameters # 'x' for the data preparation, 'θ' for the SU2 parameters

qiskit/circuit/library/generalized_gates/uc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
from qiskit.exceptions import QiskitError
3535
from qiskit._accelerate import uc_gate
3636

37-
from .diagonal import Diagonal
37+
from .diagonal import DiagonalGate
3838

3939
_EPS = 1e-10 # global variable used to chop very small numbers to zero
4040

@@ -276,7 +276,7 @@ def _dec_ucg(self):
276276
# Important: the diagonal gate is given in the computational basis of the qubits
277277
# q[k-1],...,q[0],q_target (ordered with decreasing significance),
278278
# where q[i] are the control qubits and t denotes the target qubit.
279-
diagonal = Diagonal(diag)
279+
diagonal = DiagonalGate(diag)
280280

281281
circuit.append(diagonal, [q_target] + q_controls)
282282
return circuit, diag

qiskit/circuit/library/overlap.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,10 @@ def unitary_overlap(
131131
:include-source:
132132
133133
import numpy as np
134-
from qiskit.circuit.library import EfficientSU2, unitary_overlap
134+
from qiskit.circuit.library import efficient_su2, unitary_overlap
135135
136136
# get two circuit to prepare states of which we compute the overlap
137-
circuit = EfficientSU2(2, reps=1)
137+
circuit = efficient_su2(2, reps=1)
138138
unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
139139
unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
140140

test/benchmarks/circuit_construction.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from qiskit.quantum_info import random_clifford
2020
from qiskit import QuantumRegister, QuantumCircuit
2121
from qiskit.circuit import Parameter
22-
from qiskit.circuit.library import EfficientSU2, QuantumVolume
22+
from qiskit.circuit.library import efficient_su2, quantum_volume
2323
from .utils import dtc_unitary, multi_control_circuit
2424

2525
SEED = 12345
@@ -112,7 +112,7 @@ def time_QV100_build(self, circuit_size, num_qubits):
112112
"""Measures an SDKs ability to build a 100Q
113113
QV circit from scratch.
114114
"""
115-
return QuantumVolume(circuit_size, num_qubits, seed=SEED)
115+
return quantum_volume(circuit_size, num_qubits, seed=SEED)
116116

117117
def time_DTC100_set_build(self, circuit_size, num_qubits):
118118
"""Measures an SDKs ability to build a set
@@ -154,7 +154,7 @@ def time_param_circSU2_100_build(self, num_qubits):
154154
over 100Q utilizing 4 repetitions. This will yield a
155155
circuit with 1000 parameters
156156
"""
157-
out = EfficientSU2(num_qubits, reps=4, entanglement="circular", flatten=True)
157+
out = efficient_su2(num_qubits, reps=4, entanglement="circular")
158158
out._build()
159159
return out
160160

test/benchmarks/utility_scale.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import os
1717

1818
from qiskit import QuantumCircuit
19-
from qiskit.circuit.library import EfficientSU2
19+
from qiskit.circuit.library import efficient_su2
2020
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
2121
from qiskit.providers.fake_provider import GenericBackendV2
2222
from qiskit.transpiler import CouplingMap
@@ -48,7 +48,7 @@ def setup(self, basis_gate):
4848
self.qaoa_qasm = os.path.join(qasm_dir, "qaoa_barabasi_albert_N100_3reps.qasm")
4949
self.qaoa_qc = QuantumCircuit.from_qasm_file(self.qaoa_qasm)
5050
self.qv_qc = build_qv_model_circuit(50, 50, SEED)
51-
self.circSU2 = EfficientSU2(100, reps=3, entanglement="circular")
51+
self.circSU2 = efficient_su2(100, reps=3, entanglement="circular")
5252
self.bv_100 = bv_all_ones(100)
5353
self.bv_like_100 = trivial_bvlike_circuit(100)
5454

test/python/quantum_info/operators/symplectic/test_pauli.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
CYGate,
3131
CZGate,
3232
ECRGate,
33-
EfficientSU2,
33+
efficient_su2,
3434
HGate,
3535
IGate,
3636
SdgGate,
@@ -515,7 +515,7 @@ def test_circuit_with_bit(self):
515515

516516
def test_apply_layout_with_transpile(self):
517517
"""Test the apply_layout method with a transpiler layout."""
518-
psi = EfficientSU2(4, reps=4, entanglement="circular")
518+
psi = efficient_su2(4, reps=4, entanglement="circular")
519519
op = Pauli("IZZZ")
520520
backend = GenericBackendV2(num_qubits=7)
521521
transpiled_psi = transpile(psi, backend, optimization_level=3, seed_transpiler=12345)
@@ -530,7 +530,7 @@ def test_apply_layout_with_transpile(self):
530530

531531
def test_apply_layout_consistency(self):
532532
"""Test that the Pauli apply_layout() is consistent with the SparsePauliOp apply_layout()."""
533-
psi = EfficientSU2(4, reps=4, entanglement="circular")
533+
psi = efficient_su2(4, reps=4, entanglement="circular")
534534
op = Pauli("IZZZ")
535535
sparse_op = SparsePauliOp(op)
536536
backend = GenericBackendV2(num_qubits=7)
@@ -541,7 +541,7 @@ def test_apply_layout_consistency(self):
541541

542542
def test_permute_pauli_estimator_example(self):
543543
"""Test using the apply_layout method with an estimator workflow."""
544-
psi = EfficientSU2(4, reps=4, entanglement="circular")
544+
psi = efficient_su2(4, reps=4, entanglement="circular")
545545
op = Pauli("XXXI")
546546
backend = GenericBackendV2(num_qubits=7, seed=0)
547547
backend.set_options(seed_simulator=123)

test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
from qiskit import QiskitError
2525
from qiskit.circuit import Parameter, ParameterExpression, ParameterVector
26-
from qiskit.circuit.library import EfficientSU2
26+
from qiskit.circuit.library import efficient_su2
2727
from qiskit.circuit.parametertable import ParameterView
2828
from qiskit.compiler.transpiler import transpile
2929
from qiskit.primitives import BackendEstimator
@@ -1148,7 +1148,7 @@ def test_paulis_setter_absorbs_phase_2(self):
11481148

11491149
def test_apply_layout_with_transpile(self):
11501150
"""Test the apply_layout method with a transpiler layout."""
1151-
psi = EfficientSU2(4, reps=4, entanglement="circular")
1151+
psi = efficient_su2(4, reps=4, entanglement="circular")
11521152
op = SparsePauliOp.from_list([("IIII", 1), ("IZZZ", 2), ("XXXI", 3)])
11531153
backend = GenericBackendV2(num_qubits=7)
11541154
transpiled_psi = transpile(psi, backend, optimization_level=3, seed_transpiler=12345)
@@ -1163,7 +1163,7 @@ def test_apply_layout_with_transpile(self):
11631163

11641164
def test_permute_sparse_pauli_op_estimator_example(self):
11651165
"""Test using the apply_layout method with an estimator workflow."""
1166-
psi = EfficientSU2(4, reps=4, entanglement="circular")
1166+
psi = efficient_su2(4, reps=4, entanglement="circular")
11671167
op = SparsePauliOp.from_list([("IIII", 1), ("IZZZ", 2), ("XXXI", 3)])
11681168
backend = GenericBackendV2(num_qubits=7, seed=0)
11691169
backend.set_options(seed_simulator=123)

test/python/quantum_info/operators/test_operator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from qiskit import QiskitError
2929
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
3030
from qiskit.circuit import library
31-
from qiskit.circuit.library import HGate, CHGate, CXGate, QFT
31+
from qiskit.circuit.library import HGate, CHGate, CXGate, QFTGate
3232
from qiskit.transpiler import CouplingMap
3333
from qiskit.transpiler.layout import Layout, TranspileLayout
3434
from qiskit.quantum_info.operators import Operator, ScalarOp
@@ -743,7 +743,7 @@ def test_equiv(self):
743743

744744
def test_reverse_qargs(self):
745745
"""Test reverse_qargs method"""
746-
circ1 = QFT(5)
746+
circ1 = QFTGate(5).definition
747747
circ2 = circ1.reverse_bits()
748748

749749
state1 = Operator(circ1)
@@ -752,7 +752,7 @@ def test_reverse_qargs(self):
752752

753753
def test_drawings(self):
754754
"""Test draw method"""
755-
qc1 = QFT(5)
755+
qc1 = QFTGate(5).definition
756756
op = Operator.from_circuit(qc1)
757757
with self.subTest(msg="str(operator)"):
758758
str(op)

test/python/quantum_info/states/test_densitymatrix.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from numpy.testing import assert_allclose
2121

2222
from qiskit import QiskitError, QuantumCircuit, QuantumRegister
23-
from qiskit.circuit.library import QFT, HGate
23+
from qiskit.circuit.library import QFTGate, HGate
2424
from qiskit.quantum_info.operators.operator import Operator
2525
from qiskit.quantum_info.operators.symplectic import Pauli, SparsePauliOp
2626
from qiskit.quantum_info.random import random_density_matrix, random_pauli, random_unitary
@@ -1186,7 +1186,7 @@ def test_expval_pauli_qargs(self, qubits):
11861186

11871187
def test_reverse_qargs(self):
11881188
"""Test reverse_qargs method"""
1189-
circ1 = QFT(5)
1189+
circ1 = QFTGate(5).definition
11901190
circ2 = circ1.reverse_bits()
11911191

11921192
state1 = DensityMatrix.from_instruction(circ1)
@@ -1197,7 +1197,7 @@ def test_reverse_qargs(self):
11971197
@unittest.skipUnless(optionals.HAS_PYLATEX, "requires pylatexenc")
11981198
def test_drawings(self):
11991199
"""Test draw method"""
1200-
qc1 = QFT(5)
1200+
qc1 = QFTGate(5).definition
12011201
dm = DensityMatrix.from_instruction(qc1)
12021202
with self.subTest(msg="str(density_matrix)"):
12031203
str(dm)

test/python/quantum_info/states/test_statevector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from qiskit import QiskitError
2424
from qiskit import QuantumRegister, QuantumCircuit
2525
from qiskit import transpile
26-
from qiskit.circuit.library import HGate, QFT, GlobalPhaseGate
26+
from qiskit.circuit.library import HGate, QFTGate, GlobalPhaseGate
2727
from qiskit.providers.basic_provider import BasicSimulator
2828
from qiskit.utils import optionals
2929
from qiskit.quantum_info.random import random_unitary, random_statevector, random_pauli
@@ -1218,7 +1218,7 @@ def test_global_phase(self):
12181218

12191219
def test_reverse_qargs(self):
12201220
"""Test reverse_qargs method"""
1221-
circ1 = QFT(5)
1221+
circ1 = QFTGate(5).definition
12221222
circ2 = circ1.reverse_bits()
12231223

12241224
state1 = Statevector.from_instruction(circ1)
@@ -1229,7 +1229,7 @@ def test_reverse_qargs(self):
12291229
@unittest.skipUnless(optionals.HAS_PYLATEX, "requires pylatexenc")
12301230
def test_drawings(self):
12311231
"""Test draw method"""
1232-
qc1 = QFT(5)
1232+
qc1 = QFTGate(5).definition
12331233
sv = Statevector.from_instruction(qc1)
12341234
with self.subTest(msg="str(statevector)"):
12351235
str(sv)

0 commit comments

Comments
 (0)