Hầu hết các thuật toán lượng tử có thể đảo ngược sử dụng các cổng tiêu chuẩn như cổng Toffoli (CCNOT) hoặc cổng Fredkin (CSWAP). Vì một số thao tác yêu cầu hằng số làm đầu vào và số lượng đầu vào và đầu ra bằng nhau, nên các qubit rác (hoặc qubit rác ) xuất hiện trong quá trình tính toán.
Vì vậy, một mạch chính như thực sự trở thành ,
trong đó là viết tắt của (các) qubit rác.| x ⟩ | 0 ⟩ ↦ | f ( x ) ⟩ | g ⟩ | g ⟩
Mạch bảo tồn giá trị ban đầu kết thúc bằng
Tôi hiểu rằng các qubit rác là không thể tránh khỏi nếu chúng ta muốn mạch có thể đảo ngược, nhưng nhiều nguồn cho rằng điều quan trọng là phải loại bỏ chúng. Tại sao nó như vậy?
Do yêu cầu về nguồn, hãy xem ví dụ như bài viết arXiv này , trang 8, cho biết
Tuy nhiên, mỗi thao tác đơn giản này chứa một số qubit phụ, bổ sung, phục vụ cho việc lưu trữ các kết quả trung gian, nhưng không liên quan ở cuối. Để không lãng phí bất kỳ không gian [sic] không cần thiết nào, do đó, điều quan trọng là phải đặt lại các qubit này thành 0 để chúng tôi có thể sử dụng lại chúng
hoặc giấy arXiv này nói
Việc loại bỏ các qubit rác và qubit ancilla là rất cần thiết trong việc thiết kế một mạch lượng tử hiệu quả.
hoặc nhiều nguồn khác - một tìm kiếm google tạo ra nhiều lượt truy cập.