สายคู่หมายถึงอะไรในวงจรควอนตัมและพวกมันเกี่ยวข้องอย่างไรกับข้อความสั่ง?


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 # - ความคุ้นเคยจากผู้อ่านดังนั้นฉันจึงสร้างรหัสหลอกที่ใช้เฉพาะคุณสมบัติจากภาษาที่ใช้กันอย่างแพร่หลาย
ร. โชแปง

คำตอบ:


13

เส้นคู่เป็นแบบแผนทั่วไปสำหรับบิตคลาสสิกในไดอะแกรมวงจรควอนตัม ในกรณีนี้พวกเขาเป็นตัวแทนบิตที่เกิดขึ้นจากการวัดของ qubits ที่และmsghere

การดำเนินการควบคุมที่เกี่ยวข้องกับบิตคลาสสิกเป็นเพียงการดำเนินการซึ่งจะดำเนินการหากบิตคลาสสิกเหล่านั้นเกิดขึ้นเพื่อให้มีค่า 1 ซึ่งเป็นสิ่งที่ifงบใช้สำหรับใน pseudocode

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.