Jadual ciri OpenQASM 3
Berikut adalah senarai ciri bahasa OpenQASM 3.
Untuk maklumat lanjut mengenai keupayaan ini, lihat Spesifikasi Langsung OpenQASM 3.X.
Kunci:
- โ Tidak disokong
- ๐ก Sokongan separa
- โ Disokong
Makna tanda "disokong" sepenuhnya bergantung pada lajur:
-
Qiskit SDK: Ciri ini boleh dihurai oleh
qiskit.qasm3.loads(dengan menggunakan sambunganqiskit-qasm3-import), direpresentasikan dalamQuantumCircuit, dan dieksport ke OpenQASM 3 olehqiskit.qasm3.dumps. -
IBM Qiskit Runtime: Litar yang mengandungi ciri Qiskit yang berkaitan boleh dilaksanakan dengan jayanya pada perkakasan melalui IBMยฎ Qiskit Runtime.
Makna "sokongan separa" biasanya bergantung pada nota yang dipautkan.
Kaedah paling biasa untuk menghantar litar ke IBM Qiskit Runtime adalah dengan mencipta litar dalam antara muka ruang-Python ke Qiskit SDK. Litar yang dibina dan dihantar dengan cara ini tidak perlu dimuatkan dari fail OpenQASM 3 ke dalam Qiskit SDK.
Jika anda tidak menggunakan OpenQASM 3 secara langsung, anda boleh menggunakan ciri yang disokong untuk representasi dalam Qiskit SDK, eksport ke OpenQASM 3, dan penghantaran ke IBM Qiskit Runtime dengan selamat. Ini termasuk ciri yang tidak boleh dimuatkan oleh Qiskit SDK dari OpenQASM 3.
| Ciri OpenQASM 3 | Ciri Qiskit SDK | Qiskit SDK | IBM Qiskit Runtime | Nota |
|---|---|---|---|---|
| ulasan | โ | โ | 1 | |
| QASM vstring | โ | โ | 1 | |
include | ๐ก | โ | 1, 7 | |
| nama unicode | โ | โ | ||
qubit | Qubit dan QuantumRegister | โ | ๐ก | 2 |
bit | Clbit dan ClassicalRegister | โ | โ | 3 |
bool | expr.Var dan ungkapan klasik | ๐ก | โ | 4 |
int | โ | โ | 4 | |
uint | expr.Var dan ungkapan klasik | ๐ก | โ | 4 |
float | expr.Var dan ungkapan klasik | ๐ก | ๐ก | 4 |
angle | Tersirat, sebagai parameter gate | โ | ๐ก | 4 |
complex | โ | โ | 4 | |
const | โ | โ | 4 | |
pi/ฯ/tau/ฯ/euler/โ | Dilipat-pemalar ke dalam parameter gate | โ | โ | |
| Pengaliasan: let | Daftar kuantum dan klasik | ๐ก | โ | 5 |
| penggabungan daftar | Daftar kuantum dan klasik | ๐ก | โ | 5 |
| penghantaran | Ungkapan klasik expr.Cast | ๐ก | ๐ก | 4 |
duration | โ | โ | ||
durationof | โ | โ | ||
ns/ยตs/us/ms/s/dt | Tempoh delay dan box | โ | โ | 6 |
stretch | expr.Stretch | ๐ก | ๐ก | 4, 6 |
delay | Delay/QuantumCircuit.delay | โ | โ | 6 |
barrier | Barrier/QuantumCircuit.barrier | โ | โ | |
box | BoxOp/QuantumCircuit.box | โ | โ | 6 |
Built-in U | UGate/QuantumCircuit.u | โ | โ | |
gate | ๐ก | ๐ก | 7 | |
gphase | QuantumCircuit.global_phase | ๐ก | โ | 7 |
ctrl @/ negctrl @ | AnnotatedOperation | ๐ก | โ | 7 |
inv @ | AnnotatedOperation | ๐ก | โ | 7 |
pow(k) @ | AnnotatedOperation | ๐ก | โ | 7 |
reset | Reset/QuantumCircuit.reset | โ | โ | |
measure | Measure/QuantumCircuit.measure | โ | โ | |
| operasi bit | ๐ก | โ | 4 | |
| operasi boolean | ๐ก | โ | 4 | |
| ungkapan aritmetik | ๐ก | ๐ก | 4 | |
| perbandingan | ๐ก | โ | 4 | |
if | QuantumCircuit.if_test | โ | โ | 8 |
else | QuantumCircuit.if_test | โ | โ | 8 |
else if | QuantumCircuit.if_test | โ | โ | 8 |
gelung for | QuantumCircuit.for_loop | ๐ก |