Bagaimana cara menafsirkan rangkaian kuantum sebagai matriks?

15

Jika sebuah sirkuit mengambil lebih dari satu qubit sebagai inputnya dan memiliki gerbang kuantum yang mengambil jumlah qubit yang berbeda sebagai inputnya, bagaimana kita menafsirkan sirkuit ini sebagai sebuah matriks?

Berikut ini contoh mainan:

masukkan deskripsi gambar di sini

Archil Zhvania
sumber

Jawaban:

17

Sirkuit spesifik

Gerbang pertama adalah gerbang Hadamard yang biasanya diwakili oleh

12[111-1]

Sekarang, karena kami hanya menerapkannya pada qubit pertama, kami menggunakan produk kronecker di atasnya (ini sangat membingungkan saya ketika saya mulai - saya tidak tahu bagaimana skala gerbang; seperti yang dapat Anda bayangkan, ini agak penting ), jadi kita lakukan , di mana saya adalah matriks identitas 2x2. Ini menghasilkanHsayasaya

12[1010010110-10010-1]

Selanjutnya kita memiliki gerbang CNOT. Ini biasanya diwakili oleh

[1000010000010010]

Ini adalah ukuran yang tepat untuk dua qubit, jadi kita tidak perlu skala menggunakan produk kronecker. Kami kemudian memiliki gerbang hadamard lain, yang timbangannya sama dengan yang pertama. Untuk menemukan matriks keseluruhan untuk rangkaian, maka, kami gandakan semuanya:

12[1010010110-10010-1][1000010000010010]12[1010010110-10010-1]

dan dapatkan

12[111-111-111-111-1111]

(jika python dikalikan dengan benar =) Kami kemudian akan mengalikannya dengan keadaan qubit asli kami, dan mendapatkan hasilnya.

Generalisasi

Jadi pada dasarnya, Anda melewati setiap gerbang satu per satu, mengambil representasi dasar, dan skala mereka menggunakan produk kronecker dengan matriks identitas. Kemudian Anda gandakan semua matriks bersama-sama sesuai urutannya. Pastikan untuk melakukan ini sehingga jika Anda menulis perkalian, gerbang pertama ada di paling kanan; seperti yang ditunjukkan oleh arriopolis, ini adalah kesalahan umum. Matriks tidak komutatif! Jika Anda tidak tahu representasi dasar dari sebuah matriks, periksa dulu artikel wikipedia tentang gerbang kuantum yang memiliki banyak.

heather
sumber
3
Mungkin instruktif untuk menambahkan bahwa seseorang harus selalu membalik urutan perkalian matriks. Dalam contoh mainan khusus ini, itu tidak perlu karena rangkaiannya simetris, tetapi secara umum, kita harus selalu meletakkan matriks gerbang paling kiri di posisi paling kanan dari multiplikasi matriks.
arriopolis
@arriopolis, good point; I will add that!
heather
1
Alih-alih berpikir tentang 'menskalakan' gerbang, dari apa yang saya pahami, produk kronecker oleh matriks identitas lebih disebabkan oleh fakta bahwa pada qubit kedua tidak ada yang diterapkan, tetapi jika Anda menganggap sirkuit secara keseluruhan, pada langkah pertama itu akan mengalami dan H mentransformasikan pada qubit pertama dan "I" mentransformasikan pada yang kedua, yang diwakili sekaligus dengan H⊗I.
FSic
@ F.Siciliano itu cara yang bagus untuk memikirkannya juga; bagi saya itu adalah cara yang baik untuk mengingatkan diri sendiri mengapa saya melakukannya.
heather