Skip to content

Commit cec0dcb

Browse files
committed
Support parameterized QASM3 export
1 parent 1c8e1ca commit cec0dcb

6 files changed

Lines changed: 1838 additions & 600 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
features:
3+
- |
4+
Add OpenQASM 3 export support for parameterized circuits with explicit
5+
`input float[64]` declarations.
6+
7+
`QuantumCircuit::to_qasm3()` and `Qiskit::qasm3::dumps(circuit)` use
8+
`QuantumCircuit::parameter_symbols()` to emit original parameter symbol
9+
names by default. `Qiskit::qasm3::dumps(circuit, parameter_names)` remains
10+
available for callers that need to provide names explicitly. Explicit
11+
parameter names must be valid OpenQASM identifiers and must not conflict
12+
with reserved OpenQASM or standard-gate identifiers.
13+
14+
`QuantumCircuit::parameter_symbols()` currently derives names from
15+
instruction parameter expression strings and cross-checks the recovered
16+
count against Qiskit C. Until Qiskit C exposes canonical parameter names
17+
or UUIDs to C++, circuits cannot contain distinct `Parameter` objects with
18+
the same symbol name.

0 commit comments

Comments
 (0)