Dây đôi có ý nghĩa gì trong các mạch lượng tử và chúng liên quan đến các câu lệnh if như thế nào?


10

Mạch

nhập mô tả hình ảnh ở đây

có thể được dịch sang đoạn mã sau:

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

Làm thế nào để các câu lệnh if xuất hiện? Tại sao hai dòng được sử dụng sau khi đo?


Tôi có thể hỏi ngôn ngữ trong ví dụ đó là gì không? Có phải là Q #?
Norrius

2
Không, nhưng nó dựa trên Q #. Tôi không muốn đòi hỏi sự quen thuộc của Q # từ độc giả, vì vậy tôi đã tạo mã giả này chỉ sử dụng các tính năng từ các ngôn ngữ được sử dụng rộng rãi.
R. Chopin

Câu trả lời:


13

Các đường đôi là một quy ước chung cho các bit cổ điển trong sơ đồ mạch lượng tử. Trong trường hợp này, chúng đại diện cho các bit phát sinh từ các phép đo của qubit msghere.

Các hoạt động được kiểm soát liên quan đến các bit cổ điển chỉ là các hoạt động được thực hiện nếu các bit cổ điển đó xảy ra có giá trị 1, đó là những gì các ifcâu lệnh dành cho mã giả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.