diff --git a/qiskit/transpiler/synthesis/aqc/aqc_plugin.py b/qiskit/transpiler/synthesis/aqc/aqc_plugin.py index 0fa153566557..c3e67861d016 100644 --- a/qiskit/transpiler/synthesis/aqc/aqc_plugin.py +++ b/qiskit/transpiler/synthesis/aqc/aqc_plugin.py @@ -109,7 +109,9 @@ def run(self, unitary, **options): from qiskit.transpiler.synthesis.aqc.aqc import AQC from qiskit.transpiler.synthesis.aqc.cnot_structures import make_cnot_network from qiskit.transpiler.synthesis.aqc.cnot_unit_circuit import CNOTUnitCircuit - from qiskit.transpiler.synthesis.aqc.cnot_unit_objective import DefaultCNOTUnitObjective + from qiskit.transpiler.synthesis.aqc.fast_gradient.fast_gradient import ( + FastCNOTUnitObjective, + ) num_qubits = int(round(np.log2(unitary.shape[0]))) @@ -132,7 +134,7 @@ def run(self, unitary, **options): aqc = AQC(optimizer, seed) approximate_circuit = CNOTUnitCircuit(num_qubits=num_qubits, cnots=cnots) - approximating_objective = DefaultCNOTUnitObjective(num_qubits=num_qubits, cnots=cnots) + approximating_objective = FastCNOTUnitObjective(num_qubits=num_qubits, cnots=cnots) initial_point = config.get("initial_point") aqc.compile_unitary( diff --git a/releasenotes/notes/aqc-faster-default-8d47c88fefd1b6f6.yaml b/releasenotes/notes/aqc-faster-default-8d47c88fefd1b6f6.yaml new file mode 100644 index 000000000000..6300a3e877eb --- /dev/null +++ b/releasenotes/notes/aqc-faster-default-8d47c88fefd1b6f6.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The AQC unitary synthesis plugin method now uses a faster objective function + evaluation by default, which results in substantial improvement in synthesis time.