Đã thử hỏi ở đây trước, vì một câu hỏi tương tự đã được hỏi trên trang web đó. Có vẻ phù hợp hơn cho trang web này tuy nhiên.
Theo hiểu biết hiện tại của tôi rằng một cổng XOR lượng tử là cổng CNOT. Cổng XNOR lượng tử có phải là cổng CCNOT không?
Đã thử hỏi ở đây trước, vì một câu hỏi tương tự đã được hỏi trên trang web đó. Có vẻ phù hợp hơn cho trang web này tuy nhiên.
Theo hiểu biết hiện tại của tôi rằng một cổng XOR lượng tử là cổng CNOT. Cổng XNOR lượng tử có phải là cổng CCNOT không?
Câu trả lời:
Bất kỳ hàm một bit cổ điển nào trong đó là đầu vào -bit và là đầu ra -bit có thể được viết dưới dạng tính toán có thể đảo ngược, (Lưu ý rằng bất kỳ chức năng nào của đầu ra đều có thể được viết dưới dạng các hàm 1 bit riêng biệt.)
Một cổng lượng tử thực hiện điều này về cơ bản chỉ là cổng lượng tử tương ứng với việc đánh giá hàm đảo ngược. Nếu bạn chỉ đơn giản viết ra bảng chân lý của hàm, thì mỗi dòng tương ứng với một hàng của ma trận đơn vị và đầu ra cho bạn biết mục nhập cột nào chứa 1 (tất cả các mục khác chứa 0).
Trong trường hợp XNOR, chúng ta có bảng chân lý chuẩn và bảng chân lý hàm có thể đảo ngược Do đó, ma trận đơn vị là
Phương pháp mà tôi vừa phác thảo cung cấp cho bạn một cách rất an toàn để thực hiện việc xây dựng hoạt động cho bất kỳ , nhưng nó không tái tạo hoàn hảo sự tương ứng giữa XOR và không được kiểm soát. Để làm được điều đó, chúng ta cần giả sử thêm một chút về các thuộc tính của hàm .
Giả sử rằng chúng ta có thể phân tách đầu vào thành sao cho và sao cho tất cả các giá trị của , các giá trị của là khác biệt cho mỗi . Trong trường hợp này, chúng ta có thể định nghĩa đánh giá hàm đảo ngược làĐiều này có nghĩa là chúng tôi đang sử dụng ít hơn 1 bit so với cấu trúc trước đó, nhưng từ đây, kỹ thuật có thể được lặp lại.
Vì vậy, hãy quay trở lại bảng chân lý cho XNOR. Chúng ta có thể thấy điều đó, ví dụ: khi chúng tôi sửa , hai đầu ra là , do đó khác biệt. Tương tự để sửa . Do đó, chúng ta có thể tiến hành xây dựng hàm đảo ngược và điều này mang lại cho chúng ta một
XNOR lượng tử không phải là CCNOT. CCNOT sẽ lấy 3 bit làm đầu vào, trong khi XOR, XNOR và CNOT chỉ lấy 2 bit hoặc qubit làm đầu vào.
Lý do tại sao chúng tôi nói XOR có thể được coi là một CNOT được giải thích ở đây và lý do tương tự có thể được sử dụng để xây dựng XNOR (2 qubit).