Apa arti kabel ganda dalam sirkuit kuantum, dan bagaimana hubungannya dengan pernyataan if?

10

Sirkuit

masukkan deskripsi gambar di sini

dapat diterjemahkan ke kode berikut:

operation Teleport(msg, there) {
    let register = AllocateRegister();
    let here = register;
    H(here);
    CNOT(here, there);
    CNOT(msg, here);
    H(msg);
    // Measure out the entanglement.
    if (M(msg) == One)  { Z(there); }
    if (M(here) == One) { X(there); }
  }
}

Bagaimana pernyataan if muncul? Mengapa garis ganda digunakan setelah pengukuran?

R. Chopin
sumber
Bolehkah saya bertanya apa bahasa dalam contoh itu? Apakah itu Q #?
Norrius
2
Tidak, tetapi didasarkan pada Q #. Saya tidak ingin menuntut Q # -keluarga dari pembaca, jadi saya membuat pseudo-code yang hanya menggunakan fitur dari bahasa yang banyak digunakan.
R. Chopin

Jawaban:

13

Garis ganda adalah salah satu konvensi umum untuk bit klasik dalam diagram sirkuit kuantum. Dalam hal ini, mereka mewakili bit yang muncul dari pengukuran qubit msgdan here.

Operasi terkontrol yang melibatkan bit klasik hanya operasi yang dilakukan jika bit-bit klasik kebetulan memiliki nilai 1, yang merupakan ifpernyataan untuk apa dalam pseudocode.

Niel de Beaudrap
sumber