IBM Quantum Composer
Apa itu IBM Quantum Composer?โ
IBM Quantumยฎ Composer adalah alat pemrograman kuantum berbasis grafis yang memungkinkan kamu menyeret dan melepas operasi untuk membangun Circuit kuantum dan menjalankannya di perangkat keras kuantum.
Apa yang bisa dilakukan?โ
Visualisasikan status Qubit
Lihat bagaimana perubahan pada Circuit-mu memengaruhi status Qubit, yang ditampilkan sebagai q-sphere interaktif, atau histogram yang menunjukkan probabilitas pengukuran atau simulasi statevector.
Jalankan di perangkat keras kuantum
Jalankan Circuit-mu di perangkat keras kuantum nyata untuk memahami efek noise dari perangkat.
Buat kode secara otomatis
Daripada menulis kode secara manual, buat kode OpenQASM atau Python secara otomatis yang berperilaku sama seperti Circuit yang kamu buat dengan Composer.
Tur antarmukaโ
IBM Quantum Composer memiliki sekumpulan alat yang dapat dikustomisasi untuk membangun, memvisualisasikan, dan menjalankan Circuit kuantum di unit pemrosesan kuantum (QPU). Gunakan menu "More options" di setiap jendela untuk mengakses alat dan tindakan tambahan.
-
Katalog operasi - Ini adalah blok pembangun Circuit kuantum. Seret dan lepas Gate dan operasi lainnya ke editor Circuit grafis. Berbagai jenis Gate dikelompokkan berdasarkan warna. Misalnya, Gate klasik berwarna biru tua, Gate fase berwarna biru muda, dan operasi non-unitary berwarna abu-abu.
Untuk mempelajari Gate dan operasi yang tersedia, klik kanan suatu operasi dan pilih Info untuk membaca definisinya.
-
Editor kode - Gunakan menu View untuk membuka atau menutup editor kode, yang memungkinkan kamu melihat kode OpenQASM atau Qiskit untuk Circuit. Kamu bisa mengedit kode OpenQASM; kode Qiskit bersifat read-only.
-
Editor Circuit grafis - Di sinilah kamu membangun Circuit. Seret Gate dan operasi lainnya ke "kabel" Qubit horizontal yang membentuk register kuantum-mu.
Untuk menghapus Gate dari kabel, pilih Gate tersebut dan klik ikon tempat sampah.
Untuk mengedit parameter dan pengaturan pada Gate yang mendukung pengeditan, pilih Gate di editor grafis dan klik Edit.
-
Toolbar - Akses alat yang sering digunakan untuk membatalkan dan mengulang tindakan, mengubah perataan Gate, dan beralih ke mode inspeksi. Dengan mode inspeksi, kamu bisa melihat tampilan langkah demi langkah dari status Qubit saat komputasi Circuit-mu berkembang. Untuk mempelajari lebih lanjut, lihat Periksa Circuit-mu, langkah demi langkah.
-
Cakram fase - Fase vektor status Qubit di bidang kompleks ditunjukkan oleh garis yang memanjang dari pusat diagram ke tepi cakram abu-abu (yang berputar berlawanan arah jarum jam di sekitar titik pusat).
Gunakan menu View untuk menampilkan atau menyembunyikan cakram fase.
-
Visualisasi - Visualisasi mencirikan Circuit-mu saat kamu membangunnya. Visualisasi menggunakan simulator statevector single-shot, yang berbeda dari QPU yang ditentukan dalam pengaturan "Run circuit". Perlu diperhatikan bahwa visualisasi mengabaikan operasi pengukuran apa pun yang kamu tambahkan. Masuk dan klik Run circuit untuk mendapatkan hasil dari Backend yang ditentukan.
Pelajari lebih lanjut di bagian Visualisasi.
Bangun, edit, dan periksa Circuit kuantumโ
Jika kamu ingin melanjutkan mengerjakan Circuit di lain waktu, pastikan untuk mengunduh file Circuit-mu dan menyimpannya secara lokal sebelum keluar dari sesi Composer yang sedang berjalan. Gunakan tautan "Save file" di pojok kanan atas, atau buka menu File dan pilih "Save file". Saat kamu siap untuk mengerjakan Circuit kembali, buka menu File dan pilih "Upload .qasm file", lalu navigasi ke file Circuit-mu di drive lokal dan klik Open.
1. Buka IBM Quantum Composerโ
- (Opsional) Jika kamu belum masuk ke IBM Quantum, pilih Sign in di pojok kanan atas. Kemudian, kamu bisa masuk atau Create an IBM Cloud account.
Jika kamu tidak masuk, visualisasi akan secara otomatis menampilkan hasil simulasi untuk hingga empat Qubit. Jika kamu ingin menjalankan Circuit di komputer kuantum, atau jika kamu ingin memvisualisasikan Circuit yang memiliki lebih dari empat Qubit, kamu harus masuk.
-
Buka IBM Quantum Composer dengan mengklik tautan di navigasi halaman Learning. Workspace menampilkan Circuit kosong tanpa judul. Kamu bisa membuat Circuit baru, atau mengunggah file .qasm untuk melanjutkan mengerjakan Circuit yang sudah pernah kamu buat.
-
Beri nama Circuit-mu dengan mengklik kata Untitled circuit dan ketik nama untuk Circuit-mu. Klik tanda centang untuk menyimpan nama tersebut.
-
(Opsional) Kustomisasi workspace-mu:
- Gunakan menu View untuk beralih dari tema default ke tema monokrom. Kamu juga bisa memilih panel mana yang ingin disertakan di workspace-mu, lalu gunakan menu di pojok kanan panel mana pun untuk mengakses opsi kustomisasi lebih lanjut. Opsi untuk menampilkan atau menyembunyikan cakram fase, memilih perataan Qubit di Circuit-mu, dan mengatur ulang workspace ke default juga ada di menu View.
- Beralih antara tema workspace gelap dan terang di pojok kanan bawah footer.
Untuk membangun Circuit, kamu bisa menyeret dan melepas operasi, atau memasukkan kode OpenQASM ke editor kode.
2. Bangun Circuit-mu dengan drag-and-dropโ
Katalog operasiโ
Seret dan lepas operasi dari katalog operasi ke register kuantum dan klasik. Klik ikon pencarian dan masukkan istilah di kotak pencarian untuk menemukan operasi dengan cepat.
Perkecil dan perbesar katalog operasi dengan mengklik ikon di pojok kanan atas panel operasi. Klik ikon di sebelahnya untuk beralih antara tampilan grid dan list dari katalog.
Klik kanan ikon operasi dan pilih Info untuk melihat definisi suatu operasi, beserta referensi QASM-nya.
Untuk membatalkan atau mengulang, gunakan panah melengkung di toolbar.
Perataanโ
Pilih perataan Freeform untuk menempatkan operasi di mana saja di Circuit. Untuk tampilan Circuit yang lebih ringkas, pilih perataan Left. Untuk melihat urutan eksekusi operasi, pilih perataan Layers, yang akan menerapkan perataan kiri dan menambahkan pemisah kolom yang menunjukkan urutan eksekusi, dari kiri ke kanan dan atas ke bawah.
Setelah operasi ditempatkan di Circuit-mu, kamu tetap bisa menyeret dan melepasnya ke posisi baru.
Salin dan tempelโ
Klik suatu operasi dan gunakan ikon di menu kontekstual untuk menyalin dan menempelkannya.
Pilih beberapa operasiโ
Kamu bisa memilih beberapa operasi untuk menyalin dan menempelkannya, menyeretnya ke lokasi baru, atau mengelompokkannya menjadi operasi unitary kustom yang tampil di katalog operasi-mu dan berfungsi sebagai satu Gate tunggal.
Untuk memilih lebih dari satu operasi, tempatkan kursor tepat di luar salah satu operasi, lalu klik dan seret melintasi area tersebut untuk memilih. Shift-klik operasi individual untuk memilih atau membatalkan pilihan. Garis putus-putus akan menggaris bawahi kumpulan operasi yang sedang kamu pilih, dan setiap operasi yang benar-benar merupakan bagian dari pilihan akan dilingkari dengan biru.
Misalnya, pada gambar berikut, Gate Hadamard di q1 dan Gate CX dipilih. Gate Hadamard di q0 tidak dipilih.
Pilih Copy dari menu kontekstual untuk menyalin grup tersebut.
Untuk menempel grup operasi, klik kanan di Circuit dan pilih Paste.
Bangun operasi kustom menggunakan fitur groupโ
Untuk mengelompokkan beberapa operasi bersama dan menyimpannya sebagai operasi kustom, pertama pilih operasi seperti yang dijelaskan di atas, lalu pilih Group dari menu kontekstual. Kamu akan diminta untuk memberi nama operasi kustom tersebut atau bisa menerima nama default. Klik OK, dan operasi kustom akan direpresentasikan sebagai satu kotak, baik di Circuit-mu maupun di katalog operasi.
Kamu sekarang bisa menyeret dan melepas operasi baru tersebut ke seluruh bagian Circuit-mu. Perlu diperhatikan bahwa operasi tersebut tersimpan di Circuit ini dan tidak muncul di katalog operasi untuk Circuit lain.
Kamu juga bisa membangun operasi kustom langsung di editor kode OpenQASM; lihat Buat operasi kustom di OpenQASM untuk informasi lebih lanjut.
Ungroup operasi kustom atau predefinedโ
Untuk memisahkan Gate dalam operasi kustom atau predefined, klik operasi di Composer dan pilih Ungroup dari menu kontekstual. Kamu sekarang bisa memindahkan operasi yang terpisah secara individual. Saat kamu ungroup suatu operasi, setiap elemen dalam grup yang sudah dipisah akan dieksekusi secara independen, yang mungkin berarti mereka dieksekusi dalam urutan yang berbeda dari saat mereka dikelompokkan.
Perluas definisi operasiโ
Untuk melihat operasi yang membentuk suatu operasi kustom atau predefined tanpa memisahkannya, klik Expand definition dari menu kontekstual untuk melihat Gate yang mendefinisikannya. Klik ikon tersebut lagi untuk menutup definisi.
Ganti nama atau hapus operasi kustomโ
Untuk mengganti nama atau menghapus operasi kustom, klik kanan operasi di katalog operasi dan pilih Rename atau Delete. Menghapus operasi kustom dari katalog operasi juga akan menghapus semua instance-nya di Circuit-mu.
Menghapus operasi kustom dari Circuit itu sendiri tidak menghapusnya dari katalog operasi; kamu hanya bisa menghapus operasi kustom dari katalog dengan menggunakan klik kanan dan memilih Delete.
Tambah atau hapus registerโ
Untuk menambah atau menghapus register kuantum atau klasik, klik Edit โ Manage registers. Kamu bisa menambah atau mengurangi jumlah Qubit atau bit di Circuit-mu serta mengganti nama register. Klik Ok untuk menerapkan perubahan. Kamu juga bisa langsung mengklik nama register (misal, q[0]) dan menggunakan opsi di menu kontekstual untuk dengan cepat menambah atau menghapus register atau Qubit.
Tambahkan kondisionalโ
Untuk menambahkan kondisional ke Gate, seret operasi if ke Gate tersebut dan atur parameter di panel Edit operation yang otomatis terbuka. Kamu juga bisa klik dua kali Gate untuk mengakses panel Edit operation, dan mengatur parameter kondisional dengan cara tersebut.
Tambahkan control modifierโ
Control modifier menghasilkan Gate yang operasi aslinya sekarang bergantung pada status Qubit kontrol. Untuk detail lebih lanjut, klik kanan simbol control modifier di katalog operasi, lalu klik Info.
Seret control modifier ke Gate untuk menambahkan kontrol padanya. Sebuah titik akan muncul di Qubit kontrol dan garis menghubungkannya ke Qubit target. Untuk mengedit Qubit mana yang menjadi kontrol atau target, klik Gate dan pilih ikon Edit operation (atau klik dua kali Gate) untuk membuka panel Edit operation, lalu tentukan parametermu. Dari panel Edit operation, kamu juga bisa menghapus kontrol dari Qubit dengan mengklik x di samping nama Qubit.
Visualisasikan dengan cakram fase di seluruh Circuit-muโ
Untuk memvisualisasikan status semua Qubit di titik mana pun di Circuit-mu, seret ikon cakram fase dari katalog operasi dan tempatkan di mana saja di Circuit-mu. Sebuah kolom operasi barrier dan kolom cakram fase akan ditambahkan (satu operasi barrier dan cakram fase per Qubit). Arahkan mouse ke setiap cakram fase untuk membaca status Qubit di titik tersebut dalam Circuit. Perlu diperhatikan bahwa menambahkan cakram fase tidak mengubah Circuit-mu; itu hanyalah alat visualisasi.
Baca lebih lanjut tentang visualisasi cakram fase di sini.
Ekspor gambar Circuitโ
Untuk mengekspor gambar Circuit-mu, pilih File โ Export circuit image. Jendela Export options akan terbuka, di mana kamu bisa memilih tema (terang, gelap, putih di atas hitam, atau hitam di atas putih), format (.svg atau .png), dan apakah ingin menerapkan line wrap. Setelah memilih opsi, klik Export.
3. Bangun Circuit-mu dengan kode OpenQASMโ
IBM Quantum Composer saat ini mendukung OpenQASM 2.0.
- Untuk membuka editor kode, klik View โ Panels โ Code Editor.
- Lihat glosarium operasi Composer untuk referensi OpenQASM ke Gate dan operasi lainnya.
- Kamu bisa mendefinisikan operasi kustom sendiri; lihat Buat operasi kustom di OpenQASM.
- Untuk informasi lebih lanjut tentang penggunaan bahasa OpenQASM, termasuk contoh baris kode, lihat panduan Pengantar OpenQASM, atau baca makalah penelitian aslinya, Open Quantum Assembly Language. Tabel pernyataan bahasa OpenQASM dari makalah tersebut direproduksi di bawah ini. Tata bahasa OpenQASM dapat ditemukan di Lampiran A dari makalah.
| Pernyataan | Deskripsi | Contoh |
|---|---|---|
OPENQASM 2.0; | Menandai file dalam format OpenQASM (lihat [a]) | OPENQASM 2.0; |
qreg name[size]; | Deklarasikan register Qubit bernama | qreg q[5]; |
creg name[size]; | Deklarasikan register bit bernama | creg c[5]; |
include "filename"; | Buka dan parse file sumber lain | include "qelib1.inc"; |
gate name(params) qargs | Deklarasikan Gate unitary | (lihat teks makalah) |
opaque name(params) qargs; | Deklarasikan Gate opaque | (lihat teks makalah) |
// comment text | Komentari baris teks | // oops! |
U(theta,phi,lambda) qubit|qreg; | Terapkan Gate single-Qubit bawaan (lihat [b]) | U(pi/2,2*pi/3,0) q[0]; |
CX qubit|qreg,qubit|qreg; | Terapkan Gate CNOT bawaan | CX q[0],q[1]; |
measure qubit|qreg -> bit|creg; | Lakukan pengukuran dalam basis | measure q -> c; |
reset qubit|qreg; | Siapkan Qubit dalam status | reset q[0]; |
gatename(params) qargs; | Terapkan Gate unitary yang didefinisikan pengguna | crz(pi/2) q[1],q[0]; |
if(creg==int) qop; | Terapkan operasi kuantum secara kondisional | if(c==5) CX q[0],q[1]; |
barrier qargs; | Cegah transformasi di seluruh baris sumber ini | barrier q[0],q[1]; |
[a] Ini harus muncul sebagai baris non-komentar pertama dari file.
[b] Parameter theta, phi, dan lambda diberikan oleh ekspresi parameter; untuk informasi lebih lanjut, lihat halaman 5 dari makalah dan Lampiran A.
Buat operasi kustom di OpenQASMโ
Kamu bisa mendefinisikan operasi unitary baru di editor kode (lihat gambar di bawah untuk contohnya). Operasi diterapkan menggunakan pernyataan name(params) qargs; seperti operasi bawaan. Tanda kurung bersifat opsional jika tidak ada parameter.
Untuk mendefinisikan operasi kustom, masukkan di editor kode OpenQASM menggunakan format ini: gatename(params) qargs;. Jika kamu mengklik +Add di daftar operasi, kamu akan diminta untuk memasukkan nama operasi kustom-mu, yang kemudian bisa kamu bangun di editor kode.
Setelah mendefinisikan operasi kustom, seret ke editor grafis dan gunakan ikon edit untuk menyesuaikan parameter.
| Contoh operasi kustom | |
|---|---|
| Gate yang akan disertakan dalam operasi kustom: | |
| Kode untuk operasi baru: | |
| Operasi baru di editor grafis: |
4. Periksa Circuit-mu, langkah demi langkahโ
Mode inspeksi mengungkap cara kerja Circuit yang kamu buat. Mode ini melangkah melalui simulasi Circuit-mu, satu lapisan sekaligus, sehingga kamu bisa melihat status Qubit saat komputasi berkembang.
-
Di menu View, pilih panel untuk visualisasi yang ingin kamu gunakan.
-
Klik toggle Inspect di toolbar. Perlu diperhatikan bahwa setelah mode Inspect diaktifkan, kamu tidak bisa menambahkan operasi apa pun lagi sampai mode tersebut dinonaktifkan.
-
Jika kamu membangun Circuit dengan perataan Freeform diaktifkan, perlu diperhatikan bahwa mode Inspect secara otomatis mengaktifkan perataan Left.
-
Untuk melangkah maju mundur melalui visualisasi komponen Circuit-mu, gunakan tombol maju dan mundur.
-
Untuk memeriksa hanya beberapa operasi, klik operasi yang ingin diperiksa, dan overlay berwarna akan muncul di atasnya yang menandakan bahwa operasi tersebut akan disertakan saat kamu menjalankan mode Inspect. Untuk membatalkan pilihan operasi, klik lagi, dan overlay akan menghilang.
-
Untuk mempelajari lebih lanjut tentang interpretasi visualisasi, lihat topik Visualisasi.
-
Untuk keluar dari mode Inspect dan kembali mengedit Circuit-mu, klik toggle Inspect di toolbar.
Simulator menciptakan keacakan dengan menghasilkan hasil berdasarkan seed. Seed adalah nilai awal yang dimasukkan ke dalam algoritma yang menghasilkan bilangan pseudorandom. Kamu bisa melihat nomor seed dengan memilih "Visualizations seed" dari menu Edit. Kamu juga bisa mengatur seed sendiri dengan mengubah nilai di kotak tersebut.
Jalankan Circuit dan Lihat Hasilโ
Ikuti langkah-langkah berikut untuk menjalankan quantum circuit di QPU dan melihat hasilnya.
Pilih pengaturan jobโ
Klik Run circuit di pojok kanan atas. Di jendela yang terbuka, pilih QPU yang tersedia. Kamu juga bisa memilih instance, yang terkait dengan suatu plan (seperti Open, Flex, atau Premium Plan). Instance yang kamu pilih mempengaruhi QPU mana yang tersedia bagimu. Klik tautan "View details" di tabel QPU untuk melihat informasi lebih lanjut tentang masing-masing QPU.
Selanjutnya, kamu bisa mengatur jumlah shot (eksekusi) dari circuit yang akan dilakukan Backend.
Kamu juga bisa secara opsional memberi nama job dan menambahkan tag di panel ini. Ini tidak akan mengubah nama circuit. Tag "Composer" yang sudah terisi sebelumnya memudahkan penyaringan tabel Workloads berdasarkan job Composer. Kamu bisa menghapus tag ini.
Saat kamu menjalankan circuit, circuit tersebut secara otomatis dikirim ke QPU yang paling tidak sibuk, kecuali kamu menentukan QPU tertentu di pengaturan Run. Jika kamu menjalankan circuit yang sama lagi, jendela pemilihan QPU akan kembali ke pilihan sebelumnya secara default.
Klik "Run on (nama QPU)"โ
Kamu bisa melihat perkembangan job dengan mengklik tombol "View jobs" di pojok kanan atas, yang akan membuka halaman Workloads di IBM Quantum Platform.
Lihat hasilโ
Setelah job selesai, detailnya diperbarui di tabel Workloads di IBM Quantum Platform.
Halaman Jobs results menampilkan detail eksekusi, diagram circuit asli dan circuit yang sudah di-transpile, histogram hasil, serta tab OpenQASM dan Qiskit untuk melihat circuit asli maupun yang sudah di-transpile dalam format OpenQASM atau Qiskit.
Kamu bisa mengunduh circuit dan histogram dengan mengklik menu di pojok kanan atas setiap diagram, lalu memilih format unduhan (PNG, PDF, atau SVG; selain itu, kamu bisa mengekspor histogram sebagai file CSV). Kamu bisa membuka circuit OpenQASM langsung di Composer.
Visualisasiโ
Visualisasi langsung di IBM Quantum Composer menampilkan berbagai tampilan tentang bagaimana quantum circuit mempengaruhi keadaan sekumpulan qubit. Setiap jenis visualisasi langsung dijelaskan secara detail di bawah ini.
Visualisasi langsung berasal dari simulator statevector satu shot, yang berbeda dari QPU yang ditentukan dalam pengaturan Run yang dapat memiliki banyak shot. Simulator menciptakan keacakan dengan menghasilkan hasil berdasarkan sebuah seed. Seed adalah nilai awal yang dimasukkan ke dalam algoritma yang menghasilkan angka pseudorandom. Kamu bisa melihat nomor seed dengan memilih "Visualizations seed" dari menu Edit. Kamu juga bisa mengatur seed sendiri dengan mengubah nilai di kotak tersebut.
Lihat visualisasiโ
Visualisasi langsung ditampilkan di jendela-jendela di bagian bawah workspace Composer (kecuali phase disk, yang muncul di ujung setiap wire qubit). Kamu bisa memilih kombinasi apa pun dari visualisasi statevector, probabilitas, dan q-sphere untuk ditampilkan di bagian bawah workspace. Pilih atau batalkan pilihan visualisasi di menu View.
Unduh visualisasiโ
Unduh salah satu visualisasi di bagian bawah workspace Composer dengan mengklik menu "More options" di jendela visualisasi. Kamu bisa mengunduh visualisasi sebagai SVG, PNG, atau CSV dari data yang mendasarinya. Kamu juga bisa mengunduh gambar visualisasi dari histogram probabilitas pengukuran dan statevector sebagai PDF.
Phase diskโ
Keadaan satu qubit dapat direpresentasikan sebagai
di mana adalah probabilitas bahwa qubit berada dalam keadaan , dan adalah phase kuantum. sangat mirip dengan bit probabilistik klasik. Untuk , qubit berada dalam keadaan , untuk qubit berada dalam keadaan , dan untuk qubit adalah campuran 50/50. Kita menyebut ini sebagai superposisi karena, tidak seperti bit klasik, campuran ini dapat memiliki phase kuantum. Phase disk memvisualisasikan keadaan ini.
Phase disk di ujung setiap qubit di IBM Quantum Composer memberikan keadaan lokal dari setiap qubit di akhir komputasi. Komponen-komponen phase disk dijelaskan di bawah ini.
Probabilitas qubit berada dalam keadaan
Probabilitas bahwa qubit berada dalam keadaan direpresentasikan oleh isian disk berwarna biru.
Phase kuantum
Phase kuantum dari keadaan qubit diberikan oleh garis yang memanjang dari pusat diagram ke tepi disk abu-abu (yang berputar berlawanan arah jarum jam di sekitar titik pusat).
Contoh: phase disk untuk dua qubit berbeda

Dua contoh visualisasi phase disk. Contoh pertama adalah keadaan dan yang kedua menunjukkan keadaan dengan phase relatif yang bukan nol.
Hubungan dengan Bloch sphere
Phase disk, yang memuat semua informasi dalam Bloch sphere, adalah representasi dua dimensi dari sebuah qubit. Untuk mengonversi ke representasi Bloch sphere: , , dan .
Keadaan N-qubit: maksimum 15 qubit
Keadaan kuantum N-qubit berbentuk
di mana adalah probabilitas bahwa qubit-qubit berada dalam keadaan dengan phase kuantum terhadap keadaan . adalah probabilitas bahwa qubit-qubit tidak berada dalam keadaan dasar . Di sini mudah terlihat bahwa untuk keadaan kuantum N-qubit terdapat probabilitas dan phase. Phase disk gagal merepresentasikan keadaan ini, karena phase disk N-qubit hanya akan memuat probabilitas dan phase; hal ini karena sebagian besar keadaan saling terjerat (entangled) dan tidak dapat dipisahkan menjadi keadaan kuantum qubit tunggal yang independen. Untuk merepresentasikan bahwa informasi penuh tidak terkandung dalam visualisasi ini, kita memperkenalkan reduced purity sebagai komponen dalam phase disk.
Reduced purity dari keadaan qubit
Jari-jari cincin hitam merepresentasikan reduced purity dari keadaan qubit, yang untuk qubit dalam keadaan -qubit diberikan oleh . Reduced purity untuk satu qubit berada dalam rentang ; nilai satu menunjukkan bahwa qubit tidak terjerat dengan pihak lain mana pun. Sebaliknya, reduced purity sebesar menunjukkan bahwa qubit berada dalam keadaan yang sepenuhnya tercampur, dan memiliki tingkat keterjeratan tertentu pada qubit yang tersisa, dan bahkan mungkin pada lingkungannya.
Tampilan Probabilitiesโ
Batas 8 qubit
Tampilan ini memvisualisasikan probabilitas dari keadaan kuantum sebagai diagram batang. Sumbu horizontal melabeli keadaan basis komputasi. Sumbu vertikal mengukur probabilitas dalam bentuk persentase. Dalam tampilan ini phase kuantum tidak direpresentasikan, sehingga merupakan representasi yang tidak lengkap. Namun, ini berguna untuk memprediksi hasil jika setiap qubit diukur dan nilainya disimpan dalam bit klasik masing-masing.
Perhatikan quantum circuit berikut dan tampilan probabilitasnya:
Circuit menempatkan dua qubit ke dalam keadaan Keadaan basis komputasi adalah dan Probabilitas untuk masing-masing keadaan komputasi adalah 1/4.
Tampilan Q-sphereโ
Batas 5 qubit
Q-sphere merepresentasikan keadaan sistem satu atau lebih qubit dengan mengasosiasikan setiap keadaan basis komputasi dengan sebuah titik di permukaan bola. Sebuah node terlihat di setiap titik. Jari-jari setiap node sebanding dengan probabilitas () dari keadaan basisnya, sedangkan warna node menunjukkan phase kuantum ().
Node-node ditempatkan di q-sphere sehingga keadaan basis dengan semua nol (misalnya, berada di kutub utaranya, dan keadaan basis dengan semua satu (misalnya, ) berada di kutub selatannya. Keadaan basis dengan jumlah nol (atau satu) yang sama berada pada lintang yang sama di q-sphere (misalnya, ). Mulai dari kutub utara q-sphere dan bergerak ke selatan, setiap lintang berikutnya memiliki keadaan basis dengan jumlah satu yang lebih banyak; lintang sebuah keadaan basis ditentukan oleh jarak Hamming-nya dari keadaan nol. Q-sphere memuat informasi lengkap tentang keadaan kuantum dalam representasi yang ringkas.
Perhatikan quantum circuit berikut dan q-sphere-nya, yang merepresentasikan keadaan yang diciptakan circuit tersebut:
Kamu bisa memilih, menahan, dan menyeret untuk memutar q-sphere. Untuk mengembalikan q-sphere ke orientasi defaultnya, pilih tombol rewind-arrow di pojok kanan atas q-sphere.
Penting untuk digarisbawahi bahwa q-sphere bukan hal yang sama dengan Bloch sphere, bahkan untuk satu qubit sekalipun. Memang, seperti phase disk, Bloch sphere memberikan tampilan lokal dari keadaan kuantum, di mana setiap qubit dilihat secara tersendiri. Ketika mencoba memahami bagaimana register qubit (keadaan multi-qubit) berperilaku saat penerapan quantum circuit, lebih berwawasan untuk mengambil tampilan global dan melihat keadaan kuantum secara keseluruhan. Q-sphere menyediakan representasi visual dari keadaan kuantum, dan dengan demikian memberikan sudut pandang global ini. Oleh karena itu, ketika menjelajahi aplikasi dan algoritma kuantum pada jumlah qubit yang kecil, q-sphere seharusnya menjadi metode visualisasi utama.
Tampilan Statevectorโ
Batas 6 qubit
Umum untuk menyebut sebagai amplitudo kuantum. Tampilan ini memvisualisasikan amplitudo kuantum sebagai diagram batang. Sumbu horizontal melabeli keadaan basis komputasi. Sumbu vertikal mengukur besarnya amplitudo () yang terkait dengan setiap keadaan basis komputasi. Warna setiap batang merepresentasikan phase kuantum ().
Perhatikan quantum circuit berikut dan tampilan statevector-nya:
Circuit menempatkan dua qubit ke dalam keadaan . Keadaan basis komputasi adalah , , , dan . Besarnya amplitudo adalah , dan phase kuantum terhadap keadaan dasar adalah untuk dan , serta untuk .
Glosarium operasi Composerโ
Halaman ini adalah referensi yang mendefinisikan berbagai operasi klasik dan kuantum yang bisa kamu gunakan untuk memanipulasi qubit dalam quantum circuit. Operasi kuantum mencakup quantum gate, seperti Hadamard gate, serta operasi yang bukan quantum gate, seperti operasi pengukuran.
Setiap entri di bawah ini memberikan detail dan referensi OpenQASM untuk setiap operasi. Lihat topik tentang Bangun circuit dengan kode OpenQASM untuk informasi lebih lanjut.
Gambar q-sphere di setiap entri gate di bawah ini menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal , di mana adalah jumlah qubit yang diperlukan untuk mendukung gate tersebut. Lihat topik q-sphere untuk informasi lebih lanjut tentang visualisasi ini.
Kamu bisa mendefinisikan operasi kustom untuk digunakan di IBM Quantum Composer. Untuk instruksinya, lihat topik Buat operasi kustom dalam OpenQASM.
Warna gate sedikit berbeda pada tema terang dan gelap. Warna dari tema terang ditampilkan di sini.
Klik operasi kuantum di bawah ini untuk melihat definisinya.
Gate klasikโ
Gate NOT
Gate NOT, juga dikenal sebagai Gate Pauli X, membalik keadaan menjadi , dan sebaliknya. Gate NOT setara dengan RX untuk sudut atau dengan 'HZH'.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
x q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate CNOT
Gate controlled-NOT, juga dikenal sebagai gate controlled-x (CX), beroperasi pada sepasang qubit, dengan satu bertindak sebagai 'kontrol' dan yang lain sebagai 'target'. Gate ini menerapkan NOT pada target setiap kali kontrol berada dalam keadaan . Jika qubit kontrol berada dalam superposisi, gate ini menciptakan keterjeratan (entanglement).
Semua circuit unitary dapat didekomposisi menjadi gate qubit tunggal dan gate CNOT. Karena Gate CNOT dua qubit membutuhkan waktu eksekusi yang jauh lebih lama pada perangkat keras nyata dibandingkan gate qubit tunggal, biaya circuit kadang diukur dengan jumlah gate CNOT.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
cx q[0], q[1]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate Toffoli
Gate Toffoli, juga dikenal sebagai gate double controlled-NOT (CCX), memiliki dua qubit kontrol dan satu target. Gate ini menerapkan NOT pada target hanya ketika kedua kontrol berada dalam keadaan .
Gate Toffoli bersama gate Hadamard adalah himpunan gate universal untuk komputasi kuantum.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
ccx q[0], q[1], q[2]; | ![]() | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate SWAP
Gate SWAP menukar keadaan dua qubit.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
swap q[0], q[1]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate Identity
Gate identity (kadang disebut gate Id atau gate I) sebenarnya adalah ketiadaan gate. Gate ini memastikan bahwa tidak ada yang diterapkan pada qubit selama satu unit waktu gate.
| Referensi Composer | Referensi Qasm |
|---|---|
id q[0]; |
Gate faseโ
Gate T
Gate T setara dengan RZ untuk sudut . Komputer kuantum fault-tolerant akan mengompilasi semua program kuantum ke bawah hingga hanya Gate T dan inversnya, serta gate Clifford.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
t q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate S
Gate S menerapkan fase pada keadaan . Gate ini setara dengan RZ untuk sudut . Perhatikan bahwa S=P().
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
s q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate Z
Gate Pauli Z bertindak sebagai identity pada keadaan dan mengalikan tanda keadaan dengan -1. Oleh karena itu, gate ini membalik keadaan dan . Dalam basis +/-, gate ini memainkan peran yang sama seperti gate NOT dalam basis /.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
z q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate
Juga dikenal sebagai gate Tdg atau T-dagger.
Invers dari Gate T.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
tdg q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate
Juga dikenal sebagai gate Sdg atau S-dagger.
Invers dari Gate S.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
sdg q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate Phase
Gate Phase (sebelumnya disebut gate U1) menerapkan fase pada keadaan . Untuk nilai tertentu, gate ini setara dengan gate lain. Misalnya, P()=Z, P(/)=S, dan P()=T. Hingga fase global , gate ini setara dengan RZ().
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
p(theta) q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk theta adalah .
Gate RZ
Gate RZ mengimplementasikan . Pada Bloch sphere, gate ini bersesuaian dengan memutar keadaan qubit di sekitar sumbu z sebesar sudut yang diberikan.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
rz(angle) q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk angle adalah . Oleh karena itu, ini adalah sudut yang digunakan dalam visualisasi q-sphere.
Operator non-unitary dan modifierโ
Operasi Reset
Operasi reset mengembalikan qubit ke keadaan , terlepas dari keadaannya sebelum operasi diterapkan. Operasi ini tidak dapat dibalik.
| Referensi Composer | Referensi OpenQASM |
|---|---|
reset q[0]; |
Pengukuran
Pengukuran dalam basis standar, juga dikenal sebagai basis z atau basis komputasi. Dapat digunakan untuk mengimplementasikan segala jenis pengukuran jika dikombinasikan dengan gate. Operasi ini tidak dapat dibalik.
| Referensi Composer | Referensi OpenQASM |
|---|---|
measure q[0]; |
Modifier control
Modifier control menghasilkan gate yang operasi aslinya kini bergantung pada keadaan qubit kontrol. Ketika kontrol berada dalam keadaan , qubit target mengalami evolusi unitary yang ditentukan. Sebaliknya, tidak ada operasi yang dilakukan jika kontrol berada dalam keadaan . Jika kontrol berada dalam keadaan superposisi, maka operasi yang dihasilkan mengikuti linearitas.
Seret modifier control ke sebuah gate untuk menambahkan kontrol padanya. Titik-titik akan muncul di atas dan di bawah gate, pada wire qubit yang bisa menjadi target kontrol; klik satu atau lebih titik untuk menetapkan target ke satu atau lebih qubit. Kamu juga bisa menetapkan kontrol dengan mengklik kanan sebuah gate.
Untuk menghapus kontrol, klik kanan gate dan pilih opsi untuk menghapus kontrol.
| Referensi Composer | Referensi OpenQASM |
|---|---|
c |
Operasi Barrier
Untuk membuat program kuantum kamu lebih efisien, kompiler akan mencoba menggabungkan gate. Barrier adalah instruksi untuk kompiler agar tidak membuat penggabungan tersebut. Selain itu, barrier juga berguna untuk visualisasi.
| Referensi Composer | Referensi OpenQASM |
|---|---|
barrier q; |
Gate Hadamardโ
Gate H
Gate H, atau Hadamard, memutar keadaan dan masing-masing menjadi dan . Gate ini berguna untuk membuat superposisi. Jika kamu memiliki himpunan gate universal pada komputer klasik dan menambahkan gate Hadamard, itu menjadi himpunan gate universal pada komputer kuantum.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
h q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate kuantumโ
Gate
Juga dikenal sebagai gate square-root NOT.
Gate ini mengimplementasikan akar kuadrat dari X, . Menerapkan gate ini dua kali berturut-turut menghasilkan gate Pauli-X standar (gate NOT). Seperti gate Hadamard, menciptakan keadaan superposisi merata jika qubit berada dalam keadaan , tetapi dengan fase relatif yang berbeda. Pada beberapa perangkat keras, ini adalah gate native yang dapat diimplementasikan dengan pulsa atau X90.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
sx q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate
Juga dikenal sebagai gate SXdg atau square-root NOT-dagger.
Ini adalah invers dari gate . Menerapkannya dua kali berturut-turut menghasilkan gate Pauli-X (gate NOT), karena gate NOT adalah inversnya sendiri. Seperti gate , gate ini bisa digunakan untuk menciptakan keadaan superposisi merata, dan juga diimplementasikan secara native pada beberapa perangkat keras menggunakan pulsa X90.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
sxdg q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate Y
Gate Pauli Y setara dengan Ry untuk sudut . Gate ini setara dengan menerapkan X dan Z, hingga faktor fase global.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
y q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate RX
Gate RX mengimplementasikan . Pada Bloch sphere, gate ini bersesuaian dengan memutar keadaan qubit di sekitar sumbu x sebesar sudut yang diberikan.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
rx(angle) q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk angle adalah . Oleh karena itu, ini adalah sudut yang digunakan dalam visualisasi q-sphere.
Gate RY
Gate RY mengimplementasikan . Pada Bloch sphere, gate ini bersesuaian dengan memutar keadaan qubit di sekitar sumbu y sebesar sudut yang diberikan dan tidak memperkenalkan amplitudo kompleks.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
ry(angle) q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk angle adalah . Oleh karena itu, ini adalah sudut yang digunakan dalam visualisasi q-sphere di bawah ini.
Gate RXX
Gate RXX mengimplementasikan . Gate MรธlmerโSรธrensen, gate native pada sistem ion-trap, dapat dinyatakan sebagai jumlah dari gate RXX.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
rxx(angle) q[0], q[1]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk angle adalah .
Gate RZZ
Gate RZZ membutuhkan satu parameter: sudut yang dinyatakan dalam radian. Gate ini simetris; menukar dua qubit yang dioperasikannya tidak mengubah apa pun.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
rzz(angle) q[0], q[1]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk angle adalah .
Gate U
(Sebelumnya disebut gate U3) Tiga parameter memungkinkan konstruksi gate qubit tunggal apa pun. Memiliki durasi satu unit waktu gate.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
u(theta, phi, lam) q[0]; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Di IBM Quantum Composer, nilai default untuk angle adalah .
Gate RCCX
Gate Toffoli yang disederhanakan, juga disebut sebagai gate Margolus.
Gate Toffoli yang disederhanakan mengimplementasikan gate Toffoli hingga fase relatif. Implementasi ini membutuhkan tiga gate CX, yang merupakan jumlah minimum yang mungkin, sebagaimana ditunjukkan dalam https://arxiv.org/abs/quant-ph/0312225. Perlu diperhatikan bahwa Toffoli yang disederhanakan tidak setara dengan Toffoli, tetapi dapat digunakan di tempat-tempat di mana gate Toffoli di-uncompute kembali.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
rccx a, b, c; | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |
Gate RC3X
Gate Toffoli 3-controlled yang disederhanakan.
Gate Toffoli yang disederhanakan mengimplementasikan gate Toffoli hingga fase relatif. Perlu diperhatikan bahwa Toffoli yang disederhanakan tidak setara dengan Toffoli, tetapi dapat digunakan di tempat-tempat di mana gate Toffoli di-uncompute kembali.
| Referensi Composer | Referensi OpenQASM | Q-sphere | Catatan tentang representasi q-sphere |
|---|---|---|---|
rc3x a, b, c, d; | ![]() | Representasi q-sphere menunjukkan keadaan setelah gate beroperasi pada keadaan superposisi merata awal di mana adalah jumlah qubit yang diperlukan untuk mendukung gate. |

