Bài tập 4.29 từ tính toán lượng tử và thông tin lượng tử của Nielsen và Chuang đã làm tôi bối rối.
Tìm một mạch chứa Toffoli, CNOT và các cổng qubit đơn thực hiện cổng (cho ), không sử dụng qubit nào.
Tôi đã nhận ra rằng điều này không thể được thực hiện một cách cổ điển .
Tôi đã tìm ra cách thực hiện với cổng chính xác theo cấp số nhân (lồng tổ chức điều khiển kép từ điều khiển đơn-điều khiển và căn bậc hai của hoạt động bên trong chính nó lần).
Tôi đã cố gắng khái quát hóa việc xây dựng ở trên để tích lũy một tổ hợp tuyến tính của các hoạt động được kiểm soát. Ví dụ: nếu tôi có 3 điều khiển được gọi là A và B và C và tạo một vectơ của các trường hợp khác nhau [0, A, B, C, AB, BC, AC, ABC] thì:
- Áp dụng một hoạt động vô điều kiện thêm [1, 1, 1, 1, 1, 1, 1, 1]
- Kiểm soát một hoạt động trên A thêm [0, 1, 0, 0, 1, 1, 0, 1]
- Xending A vào C sau đó điều khiển một thao tác trên C (sau đó hoàn tác xor) sẽ thêm [0, 1, 0, 1, 1, 1, 0, 0]
- Xoring (A và B) vào C thông qua cổng toffoli sau đó kiểm soát thao tác trên C sẽ thêm [0, 0, 0, 1, 1, 1, 1, 0]
Sau đó, tôi sẽ cố gắng thêm (áp dụng một gốc của X) và trừ (áp dụng căn bậc hai nghịch đảo) các vectơ khác nhau mà tôi có thể thực hiện cho đến khi kết quả xuất hiện dưới dạng [0, 0, 0, 0, 0, 0, 0, N] .
Nhưng tôi tiếp tục va vào nhiều bức tường khác nhau, chẳng hạn như các giải pháp kết thúc bằng bội số lớn (tức là các cổng tôi đang sử dụng trở nên chính xác theo cấp số nhân, mà tôi nghĩ là không) hoặc chỉ không thể giải quyết hệ thống do sự tương tác giữa tạo các phần tử với AND / XOR sau đó giải quyết với + / * là không chuẩn hoặc tạo số cổng theo cấp số nhân.
Một số phương pháp khác để thử là gì?