기본 게이트에서 멀티 큐빗 제어 Z를 구성하는 방법은 무엇입니까?


9

특정 양자 알고리즘을 구현하려면 아래 그림과 같이 일련의 기본 게이트에서 다중 큐 비트 (이 경우 3 큐 비트)로 제어되는 Z 게이트를 구성해야합니다. 3 큐빗으로 제어되는 Z 게이트. .

내가 사용할 수있는 문은

  • Pauli 게이트 및 모든 힘 (즉 모든 위상 계수까지의 모든 Pauli 회전)X,Y,Z
  • exp(iθ|1111|) ( 프로젝터에 대한 회전 ),|1111|
  • H (하마드)
  • CX (단일 큐 비트 제어 -X 또는 CNOT),
  • CZ (싱글 큐빗 제어 Z) 및
  • S (스왑).

이 게이트에서이 3 큐빗 제어 Z를 구축하려면 어떻게해야합니까? 회로 분해에 관한 몇 가지 논문을 읽었지만 그 중 어느 것도 나에게 명확하고 간결한 대답을 줄 수는 없습니다.


네 번째 레지스터에 검은 색 원 대신 Z가 있어야합니까?
user1271772

1
@ user1271772 둘 다 괜찮습니다. 제어 된 Z 게이트는 사용 된 큐 비트에서 대칭이므로 (즉, 하나는 두 큐 비트를 교환 할 수 있고 게이트의 효과는 동일하게 유지됨), 검은 점이있는 것과 같은 순서없는 표기법이 최근 문헌에서 더 적절한 것으로 간주되었습니다.
Dyon J 돈 키위 반 Vreumingen

답변:


5

(편집 : 14 CNOT로 향상되었습니다.)

14 개의 CNOT와 15 개의 단일 큐 비트 Z 회전 및 보조 큐 비트없이 수행 할 수 있습니다.

해당 회로는

여기에 이미지 설명을 입력하십시오

어디 ± 게이트는 회전

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


유도:

에서 기재된 절차 사용 https://arxiv.org/abs/quant-ph/0303063 1 , 모든 대각선 게이트 - 모든 따라서 특히 CCCZ 게이트는 - 예 CNOTs 환산 한 큐 비트 게이트 대각선으로 분해 될 수있다 여기서 CNOT는 고전적인 최적화 절차에 따라 자체적으로 최적화 될 수 있습니다.

이 레퍼런스는 임의의 대각선 4 큐 비트 게이트에 16 개의 CNOT를 사용하는 회로를 제공합니다 (그림 4).

임의의 큐빗 쌍이 14 큐 비트에 결합 될 수 있다면 이것은 개선 될 수있다. 주기적 (개방) 경계 조건이있는 가장 가까운 이웃의 경우 16 (18) 개의 CNOT로 수행 할 수 있습니다. 해당 회로에서 찾을 수 https://epub.uni-regensburg.de/1511/ 1 도. 5.2, 5.4, 5.5, 그리고 짧은 회색 계열을 구성하는 방법을 사용하여 예를 얻을 수있다.

1 큐 비트 게이트의 수는 항상 15입니다.


비고 : 원칙적으로 더 간단한 회로가있을 수 있지만 (이 회로는보다 제한적인 회로 구조를 염두에두고 최적화 된 것임), 최적에 가까워 야합니다. 회로는 모든 형태의 상태를 만들어야합니다. iIxi 사소한 부분 집합 I{1,2,3,4}, 그리고 4 qubit에 대한 15 개가 있습니다.

또한이 구성이 반드시 최적 일 필요는 없다는 점에 유의하십시오.


1 참고 : 저는 저자입니다


그리고 Rz 게이트 대신 Rx (또는 Ry) 게이트를 사용하면 다중 큐 비트 제어 X (또는 제어 Y) 게이트가됩니까?
Sierox

@Sierox 하단 qubit의 모든 것을 Hadamard 변환해야합니다. 즉, 해당 CNOT가 CZ가되고 하단 qubit의 회전이 X 회전이됩니다.
Norbert Schuch

6

당신은 구현할 수 있습니다 n큐빗 제어 U이 대답에 주어진 회로에 의해 . 그냥 교체U 으로 Z. 그러나 여기에는 CCNOT (Toffoli) 게이트가 필요하며 기본 게이트를 사용하여 CCNOT를 구현하는 방법에 대한 옵션이 있습니다 .


2
그것은 잠재적으로 과도한 깊이를 가진 회로를 제공합니다. 아마도 OP는 해당 게이트 세트로 더 얕은 회로를 원할 것입니다. 회로 크기를 적당히 줄이기 위해 자동 절차를 수행 할 수 있습니다.
AHusain

@AHusain : 자동 절차는 무엇입니까?
user1271772

2
자동 그룹 이론의 결과를 사용하므로 말장난입니다. 설명은 다른 곳으로 갈 것입니다. 짧은 의견이 아닙니다.
AHusain

좋아요 @AHusain, 나는 당신에게 맞는 질문을 할 것입니다!
user1271772

5

다음은 29 개의 게이트를 사용하는 CCCZ 구조입니다 .

회로

측정 및 클래식 피드 포워드를 사용할 수있는 경우 게이트 수를 25 개로 줄일 수 있습니다 .

회로

(다 마드 게이트는 게이트 세트 구속 조건을 충족해야하는 경우 Y의 제곱근으로 대체 될 수 있습니다.)

Controlled-S 게이트와 Controlled-sqrt (X) 게이트를 수행하고 X 기준 측정을 수행 할 수있게하면 총 10 개의 게이트로 줄일 수 있습니다 .

회로


그러나 마지막에는 측정 + 조건부 제어 게이트를 사용하고 있습니다. 나는 그것이 게임의 "정상적인"규칙을 벗어났다고 말할 것입니다. (예를 들어, 이것을 제어 게이트로 대체하고 측정을 연기한다면, 여전히 Toffoli를 사용할 것입니다.)
Norbert Schuch

1
@NorbertSchuch 그렇기 때문에 "측정과 클래식 피드 포워드를 사용할 수 있다면"이라는 두 번째 다이어그램을 시작합니다. 첫 번째 다이어그램은 그러한 것들을 사용하지 않습니다.
Craig Gidney

업. 죄송합니다. Mea Culpa. 나는 단지 그림을 보지 말고 조금 스크롤했다 :-|
Norbert Schuch

제 1 회로의 끝에서, 제 5 큐비 트는 폐기된다. 여러 CCCZ가 순차적으로 필요한 경우 해당 큐 비트를 어떻게 처리해야합니까?
Dyon J 돈 키위 반 Vreumingen

다음 CCCZ에 피드를 공급하지만 두 번째 CCCZ 회로에서 처음 두 작업을 삭제하십시오. 이러한 작업은이를 폐기 된 큐 비트의 최종 상태 인 T 상태로 준비하고 있습니다. 따라서 두 번째 CCCZ는 2 개의 작업이 줄어 듭니다.
Craig Gidney

4

CCCZ를 컴파일하려고하는 다른 사람에게 유용한 경우를 대비하여 CCCZ의 또 다른 분해를 게시하고 있습니다. 총 게이트 수는 더 적고 2 개 대신 1 개의 보조 큐 비트가 필요하지만 "명확한"답변보다 5 개 더 많은 2 큐 비트 게이트가 필요하므로 실제로 하드웨어에서 구현하기에는 더 나쁠 수 있습니다.

이 의견에서 사용자 @Rob에 의해 제안되었습니다 : 양자 회로의 자동 컴파일 , 이 백서 에서 나옵니다 .

여기에 이미지 설명을 입력하십시오

GMS5(χ) 게이트는 이쪽

n=5 그리고 다 χij=χ즉, 10 개의 2 큐 비트 게이트가 포함됩니다. 그런 다음 질문에 주어진 게이트 세트로 컴파일해야 하므로이 분해는 보조 보조 비트 수를 절약하려고하거나 더 많은 2 큐 비트 게이트를 갖는 것을 신경 쓰지 않는 경우에만 사용해야합니다 회로 깊이를 조금 줄입니다.


1
GMS5 게이트는 매우 일반적인 게이트로 기존 게이트 수와 비교하기가 어렵습니다. 그리고이 게이트를 구현할 수있는 시나리오에서도 선택할 수 없을 가능성이 큽니다.χij. 왜 CCCZ 게이트의 로그를 가져 가지 않습니까?
Norbert Schuch

@ NorbertSchuch : 질문은 CCCZ가 log (CCCZ)가 아니라고 묻습니다. 만약 우리가 log (CCCZ)를한다면, 아마도 GMS5가 기본 게이트의 지수이고 그것의 로그가 구현하기가 더 쉬울 것이기 때문에 아마 당신이 제안 할 것입니다. CCCZ)?
user1271772

나는 당신이 무슨 말을하는지 전혀 모른다. 많은 제품 또는 Paulis는 구현하기 쉽지 않습니다. 그들은 심지어 단일하지도 않습니다. --- 그러나 유니 타리의 로그는 해밀턴 (Hamiltonians)이므로 일부 스마트 실험 설정을 통해 로그 (CCCZ)로 시간을 발전시킬 수 있다면이 계산에서 "하나의 게이트"로 CCCZ를 얻게됩니다.
Norbert Schuch

2
@ NorbertSchuch : 귀하의 의견 "exp (-iHt)는 거의 단열 적이 지 않습니다"는 의미 상 null이며 의미가 없습니다. 왜 "왜 CCCZ 게이트의 로그를 가져 가지 않습니까?" ?
user1271772

1
@ user1271772는 Norbert가 논평에서 말한 것에 덧붙이는 것 : 시간에 관계없는 해밀턴 사람들이 직접 사소한 게이트를 직접 생성하려고 시도하는 문제 (CCX 및 다른 사람들은 논문에서 고려 됨)는 arxiv.org/ 에서 연구되었습니다 . abs / 1803.07119 . 이 설정의 문제점은 실행 가능한 상호 작용 만 포함하고 여전히 대상 게이트를 생성하는 Hamiltonian을 찾는 것입니다. 따라서 자원은 어떤 기본 게이트가 허용되는 것이 아니라 해밀턴의 상호 작용이 허용되는 것이된다
glS

4

지정된 게이트 세트를 기반으로 크게 절약 할 수 있습니다. 예를 들어 일반적인 ccnot 구성에서T 와 문 Z1/4두 제어 큐 비트 사이의 마지막 몇 게이트를 구성하는 위상 보정이 필요하지 않습니다. 질문에 지정된 게이트 세트를 준수하는이 구성은 21 게이트로 구성되며 그중 10 게이트는 2 큐빗입니다 (아래 회로에서 마지막 게이트가 필요하지 않음).

여기에 이미지 설명을 입력하십시오

명확하게하기 위해 (여러 의견에 대한 답변으로) : 일반적으로 우리는 Toffoli를보고 그것을 사용하여 시도합니다. T문. 두 컨트롤이 모두|1타겟 큐 비트의 게이트 시퀀스는 HXTXTXTXTH. 이제부터XTX=Teiπ/4그러면 시퀀스가 ​​간단 해집니다. iHT4H=iX두 제어 큐 비트에 보상 제어 S 게이트를 추가해야합니다. 대신에Z1/4그런 다음 XZ1/4X=Z1/4, 그리고 그 성가신 단계 중 어느 것도 들어 가지 않으며 2 큐빗 게이트를 절약합니다!

또한 두 개의 Toffoli 게이트는 0 상태를 대상으로하기 때문에 Toffoli 만 있습니다. 일반적으로 여분의 2 큐 비트 게이트가 필요합니다.

논문 은 11 2 큐 비트 게이트 만 사용하는 구조를 주장 하지만 기존의 문헌에서는 효율적인 구조를 찾지 못했지만 질문의 제한된 게이트 세트로 변환 된 후에는 전체 게이트 카운트를 수행하지 않았습니다.


sth를 계산하지 않는 것 같습니다. 회로의 하반부에-그러나 나는 그것에 대해 열심히 생각하지 않았다;)
Norbert Schuch

부적합한 단일 큐 비트 회전을 제외하고 ancilla를 계산하지 않았습니다. 그것이 마지막 Toffoli가하는 일입니다. Toffoli는 끝에 1 게이트가 없기 때문에 쉼표로 반전해야한다고 가정합니다.
DaftWullie

첫 번째 블록이 Toffoli인지, 아니면 Ancilla의 Toffoli입니까? (Toffoli를 위해 할 수있는 최선의 방법은 약 8 개의 CNOT 였다는 것을 기억합니다).
Norbert Schuch

중간 블록의 상위 2 큐 비트에서 CS 위상 보정이 누락 된 것 같습니다. 각 사이드 블록에서 가장 왼쪽에있는 CZ를 삭제할 수 있어야합니다.
Craig Gidney

화요일에 자세히 확인하겠습니다. 나는이 제제가 cS를 피한다고 생각했다.
DaftWullie 5

2

내 다른 대답은 가장 명백한 "교과서"방식 이지만 ( Nielsen & Chaung의 CCCZ 분해를 CCNOT 로 사용하고 다른 교과서 분해를 사용하여 CCNOT를 컴파일하는 방법 ) 더 창의적인 방법으로 더 적은 수의 게이트로 작업을 수행 할 수 있습니다.

1 단계:

Nielsen & Chuang 회로의 모든 CNOT를이 가제트로 교체하십시오.

enter image description here

2 단계:

이제 CCNOT 대신 CCZ가 여러 개 있으며 다음과 같이 분해 할 수 있습니다 ( 이 백서에서 제공 ).

enter image description here

3 단계 :

참고 H2=I, 그래서이 Hadamards 중 일부는 서로를 취소하고 우리는 더 많은 감소를 얻습니다 :)


게이트 수는 얼마입니까?
Norbert Schuch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.