Skip to content

Commit d4ef6c8

Browse files
use faster aqc objective function evaluation by default (#11479)
* use faster aqc objective function evaluation by default * release note * Update qiskit/transpiler/synthesis/aqc/aqc_plugin.py Co-authored-by: Jake Lishman <jake@binhbar.com> --------- Co-authored-by: Jake Lishman <jake@binhbar.com>
1 parent c15bea5 commit d4ef6c8

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

qiskit/transpiler/synthesis/aqc/aqc_plugin.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,9 @@ def run(self, unitary, **options):
109109
from qiskit.transpiler.synthesis.aqc.aqc import AQC
110110
from qiskit.transpiler.synthesis.aqc.cnot_structures import make_cnot_network
111111
from qiskit.transpiler.synthesis.aqc.cnot_unit_circuit import CNOTUnitCircuit
112-
from qiskit.transpiler.synthesis.aqc.cnot_unit_objective import DefaultCNOTUnitObjective
112+
from qiskit.transpiler.synthesis.aqc.fast_gradient.fast_gradient import (
113+
FastCNOTUnitObjective,
114+
)
113115

114116
num_qubits = int(round(np.log2(unitary.shape[0])))
115117

@@ -132,7 +134,7 @@ def run(self, unitary, **options):
132134
aqc = AQC(optimizer, seed)
133135

134136
approximate_circuit = CNOTUnitCircuit(num_qubits=num_qubits, cnots=cnots)
135-
approximating_objective = DefaultCNOTUnitObjective(num_qubits=num_qubits, cnots=cnots)
137+
approximating_objective = FastCNOTUnitObjective(num_qubits=num_qubits, cnots=cnots)
136138

137139
initial_point = config.get("initial_point")
138140
aqc.compile_unitary(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
features:
3+
- |
4+
The AQC unitary synthesis plugin method now uses a faster objective function
5+
evaluation by default, which results in substantial improvement in synthesis time.

0 commit comments

Comments
 (0)