Menerapkan gerbang CCCNOT hanya menggunakan gerbang Toffoli

10

Gerbang CCCNOT adalah gerbang empat bit yang dapat dibalik yang membalik bit keempatnya jika dan hanya jika tiga bit pertama semuanya dalam keadaan .1

Bagaimana saya menerapkan gerbang CCCNOT menggunakan gerbang Toffoli? Asumsikan bit dalam ruang kerja dimulai dengan nilai tertentu, 0 atau 1, asalkan Anda mengembalikannya ke nilai itu.

chuster
sumber
Menggunakan hanya gerbang Toffoli, atau Toffoli dan CNOT yang permainan yang adil?
user1271772
Hanya gerbang Toffoli yang diizinkan.
chuster
1
Bagian mana dari pertanyaan ini adalah kuantum? Tampaknya Anda ingin menguraikan gerbang reversibel klasik (CCCNOT) menjadi gerbang reversibel klasik yang lebih kecil (CCNOT).
user1271772
1
Pertanyaan itu sendiri tidak berkaitan dengan komputasi kuantum, tetapi gerbang itu penting untuk sirkuit kuantum.
chuster

Jawaban:

8

Saya kira apa yang Anda cari adalah sirkuit berikut. Di sini, b1,b2,b3,b4{0,1} , dan adalah modulo 2 tambahan .

masukkan deskripsi gambar di sini

Di sini, qubit kelima digunakan sebagai pelengkap , atau ancilla qubit . Dimulai pada |0 dan berakhir di |0 ketika sirkuit diterapkan.

Biarkan saya menguraikan bagaimana sirkuit ini bekerja. Idenya adalah untuk pertama-tama memeriksa apakah dua qubit pertama dalam keadaan |1 . Ini dapat dilakukan dengan menggunakan gerbang Toffoli tunggal, dan hasilnya disimpan dalam qubit tambahan. Sekarang, masalahnya berkurang menjadi membalik qubit 4 , setiap kali qubit 3 dan qubit tambahan berada di |1 . Ini juga dapat dicapai dengan menggunakan satu aplikasi gerbang Toffoli, yaitu yang tengah di sirkuit yang ditunjukkan di atas. Akhirnya, gerbang Toffoli terakhir berfungsi untuk menghitung hasil sementara yang kami simpan di qubit tambahan, sehingga status qubit ini kembali ke |0 setelah rangkaian diterapkan.


Di bagian komentar, muncul pertanyaan apakah mungkin untuk menerapkan sirkuit seperti itu hanya menggunakan gerbang Toffoli, tanpa menggunakan qubit tambahan. Pertanyaan ini bisa dijawab secara negatif, seperti yang akan saya tunjukkan di sini.

Kami ingin menerapkan CCCNOT -gate, yang bekerja pada empat qubit. Kita dapat menentukan matriks berikut (representasi matriks dari Pauli- X -gate):

X=[0110]
Selain itu, kami menyatakan N berdimensi identitas matriks dengan sayaN . Sekarang, kami mengamati bahwa representasi matriks dari CCCNHAIT gateway, yang bekerja pada empat qubit, diberikan oleh matriks 16 × 16×16 berikut :
CCCNHAIT=[saya1400X]
Oleh karena itu, kita dapat menentukan determinannya:
det(CCCNHAIT)=-1
Sekarang perhatikan representasi matriks dari gerbang Toffoli, yang bekerja pada tiga qubit pertama dari4 sistem -qubit. Representasi matriksnya ditulis sebagai (di mana kami menggunakan produk Kronecker dari matriks):
ToffoliI2=[I600X]I2=[I1200XI2]=[I120000I20I20]
Menghitung hasil determinannya:
det(ToffoliI2)=1
Gerbang Toffoli juga dapat bertindak pada qubit yang berbeda tentu saja. Misalkan kita membiarkan gerbang Toffoli bertindak pada qubit pertama, kedua dan keempat, di mana qubit keempat adalah target qubit. Kemudian kita mendapatkan representasi matriks baru dari yang ditampilkan di atas dengan menukar kolom yang sesuai dengan keadaan yang hanya berbeda dalam qubit ketiga dan keempat, yaitu, |0001 dengan |0010 , |0101 dengan |0110 , dll Yang penting untuk dicatat di sini, adalah bahwa jumlah swap kolom bahkan, dan karenanya bahwa determinan tetap tidak berubah. Seperti yang kita dapat menulis setiap permutasi qubit sebagai urutan permutasi berturut-turut dari adil2 qubit (yaitu,S4 dihasilkan oleh transposisi diS4 ), kami menemukan bahwa untuk semua gerbang Toffoli, diterapkan pada kombinasi kontrol dan target qubit, representasi matriksnya memiliki determinan1 .

Hal terakhir yang perlu diperhatikan adalah bahwa determinan bolak-balik dengan perkalian matriks, yaitu, det(AB)=det(A)det(B) , untuk dua matriks A dan B kompatibel dengan perkalian matriks. Oleh karena itu, sekarang menjadi jelas bahwa menerapkan beberapa gerbang Toffoli dalam urutan tidak pernah menciptakan sirkuit yang representasi matriks memiliki yang berbeda penentu dari 1 , yang khususnya menyiratkan bahwa CCCNOT -gate tidak dapat diimplementasikan hanya menggunakan gerbang Toffoli pada 4 qubits.

Pertanyaan yang jelas, sekarang, adalah apa yang berubah ketika kita mengizinkan qubit tambahan. Kami menemukan jawabannya ketika kami menuliskan tindakan CCCNOT -gate pada sistem 5 qubit:

CCCNOTI2=[I1400X]I2=[I280000I20I20]
Jika kita menghitung determinan ini, kita menemukan:
det(CCCNOTI2)=1
Oleh karena itu, penentuCCCNOT -gerbang yang bekerja pada5 qubit adalah1 , bukannya1 . Inilah sebabnya mengapa argumen sebelumnya tidak valid untuk5 qubit, seperti yang telah kita ketahui karena sirkuit yang dibangun secara eksplisit yang diminta OP.

arriopolis
sumber
1
sumber, atau metode yang digunakan untuk menurunkan sirkuit, akan berguna!
glS
1
Saya tahu tidak ada sumber yang menjelaskan bagaimana merancang rangkaian seperti itu secara komprehensif. Sumber yang saya gunakan ketika belajar tentang komputasi kuantum adalah buku karya Nielsen dan Chuang, dan catatan kuliah yang dapat ditemukan di sini: homepages.cwi.nl/~rdewolf/qcnotes.pdf , tetapi sumber-sumber ini tidak secara khusus berfokus pada desain sirkuit kuantum.
arriopolis
2
Saya memang mencoba menguraikan bagaimana sirkuit bekerja sedikit lagi. Semoga ini bisa membantu dalam merancang sirkuit yang mirip dengan ini! :)
arriopolis
Apakah mungkin tanpa alat bantu?
user1271772
1
+1CCCNOT41CCCNOT+1