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 menghasilkanH⊗ sayasaya
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.