Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nama yang sepenuhnya memenuhi syarat: Std.Diagnostics.CheckOperationsAreEqual
operation CheckOperationsAreEqual(nQubits : Int, actual : (Qubit[] => Unit), expected : (Qubit[] => Unit is Adj)) : Bool
Ringkasan
Mengingat dua operasi, memeriksa bahwa mereka bertindak identik untuk semua status input.
Deskripsi
Pemeriksaan ini diimplementasikan dengan menggunakan isomorfisme Choi–Jamiołkowski untuk mengurangi pemeriksaan ini ke pemeriksaan pada dua register yang terjerat. Dengan demikian, operasi ini hanya memerlukan satu panggilan ke setiap operasi yang sedang diuji, tetapi memerlukan dua kali lebih banyak qubit untuk dialokasikan. Pemeriksaan ini dapat digunakan untuk memastikan, misalnya, bahwa versi operasi yang dioptimalkan bertindak identik dengan implementasi naifnya, atau bahwa operasi yang bertindak pada berbagai input non-kuantum setuju dengan kasus yang diketahui.
Komentar
Operasi ini mengharuskan operasi memodelkan perilaku yang diharapkan dapat digabungkan, sehingga inversi dapat dilakukan pada register target saja. Secara resmi, seseorang dapat menentukan operasi transpose, yang melonggarkan persyaratan ini, tetapi operasi transpose umumnya tidak dapat direalisasi secara fisik untuk operasi kuantum sewenang-wenang dan dengan demikian tidak disertakan di sini sebagai opsi.
Masukan
nQubit
Jumlah qubit yang akan diteruskan ke setiap operasi.
aktual
Operasi yang akan diuji.
Diharapkan
Operasi yang menentukan perilaku yang diharapkan untuk operasi yang sedang diuji.
Hasil
Benar jika operasi sama, jika tidak salah.