Làm thế nào để xây dựng Z đa điều khiển từ các cổng cơ bản?


9

Để thực hiện một thuật toán lượng tử nhất định, tôi cần xây dựng một cổng Z được kiểm soát nhiều qubit (trong trường hợp này là cổng Z có ba qubit) từ một tập hợp các cổng cơ bản, như trong hình dưới đây. Cổng Z kiểm soát ba qubit. .

Các cổng mà tôi có thể sử dụng là

  • cổng Pauli và tất cả các quyền hạn của họ (tức là tất cả các phép quay Pauli cho đến một yếu tố pha),X,Y,Z
  • (xoay về | 11 11 | máy chiếu),exp(iθ|1111|)|1111|
  • (Hadamard),H
  • (đơn qubit kiểm soát-X hoặc CNOT),CX
  • (đơn qubit kiểm soát-Z) vàCZ
  • (SWAP).S

Làm thế nào tôi có thể đi về việc xây dựng Z kiểm soát ba qubit này từ các cổng này? Tôi đã đọc một số bài báo về phân rã mạch, nhưng không ai trong số họ có thể cho tôi một câu trả lời rõ ràng và súc tích.


Đăng ký thứ 4 của bạn nên có Z thay vì vòng tròn màu đen?
1271772

1
@ user1271772 Cả hai đều ổn. Vì các cổng Z được điều khiển đối xứng trong các qubit đã sử dụng (nghĩa là người ta có thể hoán đổi hai qubit và hiệu ứng của cổng sẽ giữ nguyên), một ký hiệu không có trật tự, giống như một dấu chấm đen, được coi là phù hợp hơn trong tài liệu gần đây.
Dyon J Don Kiwi van Vreumingen

Câu trả lời:


5

(EDIT: Cải thiện thành 14 CNOT.)

Nó có thể được thực hiện với 14 CNOT, cộng với 15 lần quay Z đơn qubit và không có qubit phụ.

Mạch tương ứng là

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

trong đó các cổng ± là các phép quay

Rz(±π/16)(1e±iπ/8)


Đạo hàm:

Sử dụng quy trình được mô tả trong https://arxiv.org/abs/quant-ph/0303063 1 , bất kỳ cổng chéo nào - đặc biệt là cổng CCCZ - có thể được phân tách theo các ví dụ như CNOT và cổng chéo một qubit, trong đó các CNOT có thể được tối ưu hóa theo cách riêng của chúng theo quy trình tối ưu hóa cổ điển.

Tham chiếu cung cấp một mạch sử dụng 16 CNOT cho các cổng 4 qubit chéo tùy ý (Hình 4).

Điều này có thể được cải thiện nếu các cặp qubit tùy ý có thể được ghép thành 14 qubit. Đối với các nước láng giềng gần nhất có điều kiện biên (mở) định kỳ, điều này có thể được thực hiện với 16 (18) CNOT. Các mạch tương ứng có thể được tìm thấy trong https://epub.uni-regensburg.de/1511/ 1 , Hình 5.2, 5.4 và 5.5, và có thể lấy được bằng cách sử dụng các phương pháp để xây dựng các chuỗi Xám ngắn.

Số lượng cổng một qubit luôn là 15.


iIxiI{1,2,3,4}

Cũng lưu ý rằng việc xây dựng này không có nghĩa là cần phải tối ưu.


1 Lưu ý: Tôi là tác giả


Và việc sử dụng cổng Rx (hoặc Ry) thay vì cổng Rz có làm cho cổng này đa kiểm soát-X (hoặc kiểm soát-Y) không?
Sierox

@Sierox Bạn chỉ cần biến đổi Hadamard mọi thứ trên qubit dưới cùng, tức là các CNOT tương ứng sẽ trở thành các CZ và các phép quay trên qubit dưới cùng sẽ trở thành các phép quay X.
Norbert Schuch

6

nUUZ


2
Điều đó mang lại cho một mạch với độ sâu quá mức có thể. Có lẽ OP muốn một mạch nông hơn với bộ cổng đó. Người ta có thể làm một thủ tục tự động để giảm kích thước mạch vừa phải.
AHusain

@AHusain: thủ tục tự động là gì?
1271772

2
Nó sử dụng kết quả từ lý thuyết của các nhóm tự động, vì vậy đó là một cách chơi chữ. Giải thích sẽ đi nơi khác; không một bình luận ngắn.
AHusain

Được rồi @AHusain, tôi sẽ hỏi một câu hỏi dành riêng cho bạn!
1271772

5

Đây là một công trình CCCZ sử dụng 29 cổng :

mạch

Nếu bạn được phép sử dụng phép đo và phản hồi cổ điển, số cổng có thể giảm xuống còn 25 :

mạch

(Cổng Hadamard có thể được thay thế bằng căn bậc hai của Y nếu cần để đáp ứng các ràng buộc của bộ cổng.)

Và nếu bạn cho phép tôi thực hiện các cổng Controled-S và cổng Controled-sqrt (X) và thực hiện các phép đo cơ sở X, thì tôi có thể giảm tổng số xuống còn 10 cổng :

mạch


Nhưng bạn đang sử dụng một cổng đo lường + điều khiển ở cuối. Tôi muốn nói rằng đó là ngoài quy tắc "bình thường" của trò chơi. (Ví dụ: nếu bạn thay thế cổng này bằng cổng có kiểm soát và hoãn phép đo, bạn vẫn sẽ sử dụng Toffoli.)
Norbert Schuch

1
@NorbertSchuch Đó là lý do tại sao tôi mở đầu sơ đồ thứ hai bằng "nếu bạn được phép sử dụng phép đo và phản hồi cổ điển". Lưu ý rằng sơ đồ đầu tiên không sử dụng những thứ đó.
Craig Gidney

Up Lấy làm tiếc. Mea culpa. Tôi không nên nhìn vào những bức ảnh và cuộn một chút: - |
Norbert Schuch

Vào cuối mạch đầu tiên, qubit thứ năm bị loại bỏ. Làm thế nào tôi có thể xử lý qubit đó nếu tôi cần nhiều CCCZ theo trình tự?
Dyon J Don Kiwi van Vreumingen

Bạn sẽ đưa nó vào CCCZ tiếp theo, nhưng bỏ hai thao tác đầu tiên vào mạch CCCZ thứ hai. Các hoạt động đó đang chuẩn bị nó ở trạng thái T, đó là trạng thái cuối cùng của qubit bị loại bỏ. Vì vậy, CCCZ thứ hai sẽ có ít hơn 2 hoạt động.
Craig Gidney

4

Tôi đang đăng một phân tách CCCZ khác ở đây chỉ trong trường hợp nó hữu ích cho bất kỳ ai khác đang cố gắng biên dịch CCCZ. Nó đòi hỏi số lượng cổng tổng số nhỏ hơn và chỉ có 1 qubit phụ thay vì 2, nhưng năm cổng 2 qubit nhiều hơn câu trả lời "rõ ràng", vì vậy thực sự có thể tồi tệ hơn khi thực hiện trên Phần cứng.

Nó được đề xuất bởi người dùng @Rob trong bình luận này: Tự động biên dịch các mạch lượng tử và xuất phát từ bài báo này .

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

(χ)

n=5χij=χ


1
χij

@NorbertSchuch: câu hỏi yêu cầu CCCZ không đăng nhập (CCCZ). Nếu chúng ta thực hiện log (CCCZ), mà bạn có lẽ đề xuất vì GMS5 là số mũ của cổng sơ cấp và logarit của nó có thể đơn giản hơn để thực hiện, có thể dễ dàng lấy đầu ra của CCCZ từ câu trả lời để đăng nhập ( CCCZ)?
1271772

Tôi không có manh mối những gì bạn đang nói về. Tổng các sản phẩm hoặc Paulis KHÔNG dễ thực hiện. Họ thậm chí không đơn nhất. --- Nhưng logarit của unitaries là người Hamilton, vì vậy nếu bạn có thể tiến hóa theo thời gian với log (CCCZ) thông qua một số thiết lập thử nghiệm thông minh, bạn sẽ nhận được CCCZ với "một cổng" trong lần đếm này.
Norbert Schuch

2
@NorbertSchuch: Nhận xét của bạn "exp (-iHt) hầu như không đáng tin cậy" là không hợp lý về mặt ngữ nghĩa và không có ý nghĩa gì. Tại sao bạn hỏi tôi "tại sao không chỉ lấy logarit của cổng CCCZ?" ?
1271772

1
@ user1271772 chỉ để thêm vào những gì (tôi tin) Norbert đang nói trong các bình luận: vấn đề cố gắng tìm những người Hamilton độc lập với thời gian trực tiếp tạo ra các cổng không cần thiết (CCX và những người khác được xem xét trong bài báo) đã được nghiên cứu trong arxiv.org/ abs / 1803.07119 . Vấn đề trong cài đặt này là việc tìm kiếm người Hamilton chỉ chứa các tương tác khả thi và vẫn tạo ra cổng đích. Do đó, tài nguyên trở thành những gì tương tác Hamilton được phép, thay vì những gì các cổng cơ bản được phép
glS

4

TZ1/4

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

T|1HXTXTXTXTHXTX=Teiπ/4iHT4H=iXZ1/4XZ1/4X=Z1/4

Ngoài ra, lưu ý rằng hai cổng Toffoli chỉ là Toffoli vì chúng nhắm mục tiêu trạng thái 0. Thông thường, bạn sẽ cần thêm một cổng hai qubit.

Tôi đã không tìm thấy một công trình hiệu quả trong tài liệu hiện có, mặc dù bài báo này tuyên bố một công trình chỉ sử dụng 11 cổng 2 qubit, nhưng tôi đã không thực hiện đếm cổng hoàn chỉnh sau khi được chuyển thành bộ cổng hạn chế của câu hỏi.


Cảm thấy như bạn không phải là máy tính sth. ở nửa dưới của mạch - nhưng tôi đã không nghĩ rất nhiều về nó;)
Norbert Schuch

Tôi đã giải mã ancilla, ngoài một vòng quay qubit đơn không liên quan trên nó. Đó là những gì Toffoli cuối cùng làm. Tôi cho rằng Toffoli phải ở trong dấu phẩy đảo ngược vì nó thiếu 1 cổng ở cuối.
DaftWullie

Bạn có chắc chắn khối đầu tiên là một Toffoli - hay nó chỉ là một Toffoli trên ancilla? (Tôi nhớ điều tốt nhất có thể làm cho Toffoli là khoảng 8 CNOT).
Norbert Schuch

Tôi nghĩ rằng bạn đang thiếu một hiệu chỉnh pha CS trên hai qubit trên cùng ở khối giữa. Bạn sẽ có thể thả CZ ngoài cùng bên trái từ mỗi khối bên.
Craig Gidney

Tôi sẽ kiểm tra cẩn thận vào thứ ba. Tôi nghĩ rằng công thức này tránh được cS.
DaftWullie

2

Trong khi câu trả lời khác của tôi là cách "sách giáo khoa" rõ ràng nhất (sử dụng phân tách CCCZ của Nielsen & Chaung thành CCNOT , thì một phân tách sách giáo khoa khác để biên dịch CCNOT ), một cách sáng tạo hơn có thể cho phép chúng tôi hoàn thành công việc với ít cổng hơn.

Bước 1:

Thay thế tất cả các CNOT trong mạch của Nielsen & Chuang bằng tiện ích này:

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

Bước 2:

Bây giờ chúng tôi có một loạt các CCZ thay vì CCNOT và chúng có thể được phân tách như thế này (lịch sự của bài viết này ):

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

Bước 3:

H2=I


Số cổng là gì?
Norbert Schuch
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.