Что означают двойные провода в квантовых цепях и как они соотносятся с операторами if?


10

Схема

введите описание изображения здесь

можно перевести на следующий код:

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); }
  }
}

Как возникают операторы if? Почему после измерений используются двойные линии?


Могу я спросить, какой язык в этом примере? Это Q #?
Норриус

2
Нет, но это было основано на Q #. Я не хотел требовать от читателей Q-знакомства, поэтому я создал этот псевдокод, который использует только функции из широко используемых языков.
Р. Шопен

Ответы:


13

Двойные линии - одно общее соглашение для классических битов в квантовых схемах. В этом случае они представляют биты, возникающие из измерений кубитов msgи here.

Контролируемые операции, включающие классические биты, являются просто операциями, которые выполняются, если эти классические биты имеют значение 1, для чего используются ifоператоры в псевдокоде.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.