Triển khai cổng CCCNOT chỉ sử dụng cổng Toffoli


10

Cổng CCCNOT là cổng đảo ngược bốn bit lật bit thứ tư của nó khi và chỉ khi ba bit đầu tiên đều ở trạng thái .1

Làm cách nào để triển khai cổng CCCNOT bằng cổng Toffoli? Giả sử rằng các bit trong không gian làm việc bắt đầu bằng một giá trị cụ thể, 0 hoặc 1, miễn là bạn trả chúng về giá trị đó.


Chỉ sử dụng cổng Toffoli, hoặc Toffoli và CNOT là trò chơi công bằng?
1271772

Chỉ có cổng Toffoli được cho phép.
chuster

1
Phần nào của câu hỏi này là lượng tử? Có vẻ như bạn muốn phân tách một cổng đảo ngược cổ điển (CCCNOT) thành các cổng đảo ngược cổ điển nhỏ hơn (CCNOT).
1271772

1
Câu hỏi tự nó không liên quan đến điện toán lượng tử, nhưng các cổng rất quan trọng đối với mạch lượng tử.
chuster

Câu trả lời:


8

Tôi đoán những gì bạn đang tìm kiếm là mạch sau đây. Ở đây, b1,b2,b3,b4{0,1} , và là Ngoài modulo 2 .

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

Ở đây, qubit thứ năm được sử dụng như một qubit phụ hoặc ancilla . Nó bắt đầu lúc |0 và kết thúc trong |0 khi mạch được áp dụng.

Hãy để tôi giải thích về cách thức hoạt động của mạch này. Ý tưởng trước hết là kiểm tra xem hai qubit đầu tiên có ở trạng thái không |1 . Điều này có thể được thực hiện bằng cách sử dụng một cổng Toffoli duy nhất và kết quả được lưu trữ trong qubit phụ. Bây giờ, vấn đề giảm xuống để lật qubit 4 , bất cứ khi nào qubit 3 và qubit phụ nằm trong |1 . Điều này cũng có thể đạt được bằng cách sử dụng một ứng dụng của cổng Toffoli, cụ thể là ứng dụng ở giữa trong mạch được hiển thị ở trên. Cuối cùng, cổng Toffoli cuối cùng dùng để giải nén kết quả tạm thời mà chúng tôi đã lưu trữ trong qubit phụ, sao cho trạng thái của qubit này trở về |0 sau khi mạch được áp dụng.


Trong phần bình luận, câu hỏi đặt ra là liệu có thể thực hiện một mạch như vậy chỉ bằng các cổng Toffoli, mà không sử dụng các qubit phụ. Câu hỏi này có thể được trả lời theo cách tiêu cực, như tôi sẽ trình bày ở đây.

Chúng tôi muốn thực hiện CCCNOT -gate, hoạt động trên bốn qubit. Chúng ta có thể xác định các ma trận sau (đại diện ma trận của Pauli- X -gate):

X=[0110]
Hơn nữa, chúng ta ký hiệu N nhận dạng ma trận chiều bởi IN . Bây giờ, chúng ta thấy rằng các đại diện ma trận của CCCNOT -gate, hoạt động trên bốn qubit, được đưa ra bởi sau 16×16 ma trận:
CCCNOT=[I1400X]
det(CCCNOT)=1
4
ToffoliI2=[I600X]I2=[I1200XI2]=[I120000I20I20]
det(ToffoliI2)=1
Các cổng Toffoli cũng có thể hoạt động trên các qubit khác nhau tất nhiên. Giả sử chúng ta để cổng Toffoli hoạt động trên qubit thứ nhất, thứ hai và thứ tư, trong đó qubit thứ tư là qubit mục tiêu. Sau đó, chúng tôi có được biểu diễn ma trận mới từ biểu đồ được hiển thị ở trên bằng cách hoán đổi các cột tương ứng với các trạng thái chỉ khác nhau ở qubit thứ ba và thứ tư, nghĩa là với , với , v.v. Điều quan trọng cần lưu ý ở đây, là số lần hoán đổi của các cột là chẵn và do đó, định thức vẫn không thay đổi. Như chúng ta có thể viết mọi hoán vị của các qubit như một chuỗi các hoán vị liên tiếp chỉ qubit (nghĩa là|0001|0010|0101|01102S4được tạo bởi các chuyển vị trong ), chúng tôi thấy rằng đối với tất cả các cổng Toffoli, được áp dụng cho bất kỳ tổ hợp kiểm soát và qubit đích nào, biểu diễn ma trận của nó có định thức .S41

Điều cuối cùng cần lưu ý là hệ số xác định bắt đầu với phép nhân ma trận, nghĩa là , cho bất kỳ hai ma trận và tương thích với phép nhân ma trận. Do đó, giờ đây rõ ràng rằng việc áp dụng nhiều cổng Toffoli theo trình tự không bao giờ tạo ra một mạch có biểu diễn ma trận có định thức khác với , đặc biệt ngụ ý rằng việc sử dụng cổng có thể được thực hiện bằng cách chỉ sử dụng cổng Toffoli trên qubit .det(AB)=det(A)det(B)AB1CCCNOT4

Câu hỏi rõ ràng, bây giờ, là những gì thay đổi khi chúng ta cho phép một qubit phụ. Chúng tôi tìm thấy câu trả lời khi chúng tôi viết ra hành động của trên hệ thống bitbit: Nếu chúng ta tính được định thức này, chúng ta sẽ tìm thấy : Do đó, yếu tố quyết định của tác dụng trên qubit là , thay vì . Đây là lý do tại sao đối số trước không hợp lệ choCCCNOT5

CCCNOTI2=[I1400X]I2=[I280000I20I20]
det(CCCNOTI2)=1
CCCNOT5115 qubit, như chúng ta đã biết vì mạch được xây dựng rõ ràng mà OP yêu cầu.


1
một nguồn, hoặc phương pháp được sử dụng để lấy mạch, sẽ hữu ích!
glS

1
Tôi biết không có nguồn nào giải thích làm thế nào để thiết kế các mạch như vậy một cách toàn diện. Các nguồn tôi sử dụng khi tìm hiểu về điện toán lượng tử là cuốn sách của Nielsen và Chuang, và các ghi chú bài giảng có thể tìm thấy ở đây: homepages.cwi.nl/~rdewolf/qcnotes.pdf , nhưng các nguồn này không tập trung cụ thể vào thiết kế của các mạch lượng tử.
arriopolis

2
Tôi đã cố gắng xây dựng cách thức hoạt động của mạch nhiều hơn một chút. Hy vọng điều này sẽ giúp trong việc thiết kế các mạch tương tự như thế này! :)
arriopolis

Có thể không có phụ trợ?
1271772

1
Câu hỏi thú vị, nhưng tôi không nghĩ vậy. Bất cứ khi nào người ta viết ra biểu diễn ma trận của một cổng Toffoli hoạt động trên hệ thống bốn qubit, thì yếu tố quyết định của ma trận này là . Tuy nhiên, yếu tố quyết định biểu diễn ma trận củaC C C N O T+1CCCNOT41CCCNOT+1
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.