2
2
3
3
# This code is part of Qiskit.
4
4
#
5
- # (C) Copyright IBM 2018, 2019 .
5
+ # (C) Copyright IBM 2018, 2020 .
6
6
#
7
7
# This code is licensed under the Apache License, Version 2.0. You may
8
8
# obtain a copy of this license in the LICENSE.txt file in the root directory
17
17
import numpy as np
18
18
from qiskit import compiler
19
19
from qiskit .circuit import QuantumCircuit
20
- from qiskit .transpiler .passes import Unroller
21
- from qiskit .transpiler import PassManager
22
20
23
21
24
22
# pylint: disable=invalid-name
@@ -86,8 +84,6 @@ def get_controlled_circuit(circuit, ctl_qubit, tgt_circuit=None, use_basis_gates
86
84
Raises:
87
85
RuntimeError: unexpected operation
88
86
"""
89
- # pylint: disable=import-outside-toplevel
90
- from qiskit import BasicAer
91
87
if tgt_circuit is not None :
92
88
qc = tgt_circuit
93
89
else :
@@ -108,13 +104,7 @@ def get_controlled_circuit(circuit, ctl_qubit, tgt_circuit=None, use_basis_gates
108
104
clbits .extend (creg )
109
105
110
106
# get all operations from compiled circuit
111
- unroller = Unroller (basis = ['u1' , 'u2' , 'u3' , 'cx' , 'id' ])
112
- p_m = PassManager (passes = [unroller ])
113
- ops = compiler .transpile (
114
- circuit ,
115
- BasicAer .get_backend ('qasm_simulator' ),
116
- pass_manager = p_m
117
- ).data
107
+ ops = compiler .transpile (circuit , basis_gates = ['u1' , 'u2' , 'u3' , 'cx' , 'id' ]).data
118
108
119
109
# process all basis gates to add control
120
110
if not qc .has_register (ctl_qubit .register ):
0 commit comments