量子回路で二重線は何を意味し、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#ですか?
Norrius

2
いいえ、ただしQ#に基づいていました。読者にQ#の使いやすさを要求したくなかったので、広く使用されている言語の機能のみを使用するこの疑似コードを作成しました。
R.ショパン

回答:


13

二重線は、量子回路図における古典的なビットの1つの一般的な規則です。この場合、それらは、量子ビットの測定から生じるビット表現msgとをhere

古典的なビットに関連する制御された操作は、それらの古典的なビットが値1を持っている場合に実行される操作にすぎません。これはif、疑似コードのステートメントの目的です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.