Bagaimana Ry-terkontrol dapat dibuat dari CNOT dan rotasi?

11

Saya ingin dapat menerapkan versi gerbang (rotasi di sekitar sumbu Y) untuk perangkat nyata pada Pengalaman Q IBM. Bisakah ini dilakukan? Jika ya, bagaimana caranya?Ry

James Wootton
sumber

Jawaban:

6

Anda dapat membuat gerbang terkontrol dari rotasi dan , sehingga mereka dapat dilakukan pada sepasang qubit mana pun yang memungkinkan cnot.RyRy

Dua contoh Y-terkontrol ditunjukkan pada gambar di bawah ini. Mereka berada di sirkuit yang sama, satu demi satu.

Dua versi yang dikontrol-Y

Yang pertama memiliki qubit 1 sebagai kontrol dan qubit 0 sebagai target, yang mudah karena cnots dapat langsung diimplementasikan ke arah yang benar.

Dalam contoh kedua, qubit 0 adalah kontrol dan qubit 1 adalah target. Ini dicapai dengan menggunakan empat gerbang H untuk masing-masing pintu untuk memutarnya secara efektif.

Contoh kedua ini juga dapat dioptimalkan lebih lanjut. Ada dua gerbang H yang berdekatan di baris atas yang dapat dibatalkan. Dan karena anticommutes H dengan Y, selalu dapat diganti dengan . (Terima kasih kepada @DaftWullie karena menunjukkan ini).Hu3(θ,0,0)Hu3(θ,0,0)

masukkan deskripsi gambar di sini

Gerbang qubit tunggal yang digunakan adalah rotasi , yang merupakan . Sudut yang digunakan adalah pi / 2 dan -pi / 2 dalam kasus ini. Ini membatalkan ketika kontrol . Ini memberikan efek yang diharapkan dari kontrol-Y yang bertindak sepele dalam kasus ini.u3(θ,0,0)Ry(θ)|0

Ketika kontrol , cnots melakukan X di kedua sisi , yang memiliki efek|1u3(π/2,0,0)

Xu3(θ,0,0)X=u3(θ,0,0)

Ini berarti bahwa ke . Efek akhirnya pada kontrol adalahu3(π/2,0,0)u3(π/2,0,0)

u3(π/2,0,0)u3(π/2,0,0)=u3(π,0,0)=Y

yang merupakanY

Sebuah lebih umum dikendalikan rotasi berarti yang ingin Anda lakukan sebagian kecil dari . Jadi kurangi saja kedua sudut dengan fraksi yang sesuai.RyY

James Wootton
sumber
1
Mengapa Anda tidak membatalkan dua gerbang Hadamard yang berdekatan di qubit 0 di gerbang kedua? Saya kira Anda juga dapat menggabungkan Hadamard-U3 ( ) -Hadamard sebagai U3 ( ). θθ
DaftWullie
1
Itu sangat benar. Saya melakukannya dengan cara modular, dan tidak mencari optimasi. Saya pikir versi yang tidak optimal lebih pedagogis.
James Wootton
Tentu saja, tetapi jika Anda ingin menerapkannya pada komputer kuantum nyata dengan noise, Anda perlu memastikan Anda melakukan sesedikit mungkin, dan memanfaatkan semua trik ini!
DaftWullie
Benar. Saya telah menambahkan optimisasi sekarang (walaupun saya pikir kompiler IBM mungkin akan tetap melakukannya)
James Wootton
Dalam hal ini, apakah ada keuntungan menggunakan gerbang daripada di qiskit? u3(θ,0,0)Ry
German Alamilla