IBM Q (작곡가)에서“스왑 게이트의 제곱근”을 구현하는 방법은 무엇입니까?


9

단계 중 하나가 2 큐 비트 사이의 "스왑 게이트의 제곱근" 인 양자 알고리즘을 시뮬레이션하고 싶습니다 .

IBM Composer를 사용하여이 단계를 어떻게 구현할 수 있습니까?


스왑 게이트의 제곱근을 구성 하기 위해 간단한 스왑 게이트 를 "벽돌"로 사용하는 것이 유용 할 수 있습니다 . 이 방법으로 IBM Q에서 시뮬레이션 할 수 있습니다. cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0];
거짓말하는 댄서

1
@JanVdA 제곱근은 고유하지 않습니다. 실제로, 2 ^ 4 = 16 가능한 근이 있어야합니다. 무슨 뜻인가요?
Norbert Schuch

누구든지 나를 위해 할 것입니다. 특정한 것을 선호하지 않습니다.
JanVdA

답변:


9

다음은 한 방향의 CNOT, Hadamards, S 게이트 ( ), S 단검 게이트 ( ) 만 필요한 SQRT (SWAP) 구성 입니다. ), T 게이트 ( ) 및 T 단검 게이트 ( ) :Z12Z12Z14Z14

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

작곡가에 직접 인코딩 할 수 있어야합니다.


첫 번째 원칙으로부터 어떻게 이것을 얻을 수 있습니까?
user1271772

@ user1271772 "첫 번째 원칙"은 무엇입니까?
Norbert Schuch 2018 년

구현 방법을 모르겠습니다 Z1/2Z1/2IBM 작곡가를 사용합니다.
JanVdA

@ user1271772 나는 CNOT-NOTC-CNOT SWAP 회로로 시작하여 중간 CNOT를 C-sqrt (not)로 대체하여 모든 것을 sqrt (SWAP)로 만들고 C-srt (not)를 S + CNOT 게이트로 분해했습니다. , CNOT 중 하나를 취소 할 때까지 게이트를 움직 인 다음 Hadamards를 사용하여 CNOT의 방향을 잘못 가리 킵니다.
Craig Gidney

J Z1/2 이다 S, Z1/2 이다 S(작곡가의 푸른 문을보십시오).
Craig Gidney

2

당신이하고 싶은 것은 |01|10 로 회전 X. 이를 위해 먼저이 서브 스페이스를{|01,|11}. 이제 당신은X첫 번째 큐 비트에서 회전하며 두 번째 큐 비트에서 하나가됩니다. 통제 된 구현UCNOT를 사용하는 게이트는 표준 구조이며, 다양한 장소에서 찾을 수 있습니다 (예 : https://arxiv.org/abs/quant-ph/9503016) . 이 단계를 수행하는 방법에 따라 첫 번째 큐 비트의 "글로벌"단계를 수정해야 할 수도 있습니다 (두 번째|1). 마지막으로 CNOT를 취소해야합니다.


나에게 명확하지 않다 1) 당신이 어떻게 X작곡가에서. 2) 작곡가에서 CNOT를 실행 취소하는 방법 3) 제어 U 게이트를 언급했지만 알고리즘에서 어디에 사용해야하는지 명확하지 않습니다. 알고리즘에 대한 단계별 설명은 IBM 작성기에서이를 구현하는 데 도움이 될 것이라고 생각합니다.
JanVdA

@JanVdA 양자 회로와 그 조작에 익숙해 지려면 스스로 노력해야 할 것 같습니다. 그렇지 않으면 sqrt-SWAP의 회로를 알고 나면 어떻게해야합니까?
Norbert Schuch

참고 : 위의 sqrt-SWAP 설명을 사용 하여 IBM 작성기 에서 quantumcomputing.stackexchange.com/questions/2209/… 에 대해 제안 된 솔루션을 테스트했습니다 .
JanVdA

@JanVdA 어느 것? 받아 들여진 것? 그것은 제어 SWAP에 대해서만 이야기합니다. (
저자

죄송합니다. 질문에 대해 수락 된 솔루션을 언급하고 있습니다 : mathoverflow.net/questions/301733/…
JanVdA

-1

모든 2 큐 비트 게이트에는 "Paulinomial decomposition"이있어 Pauli 행렬의 다항식으로 쓸 수 있습니다.

원하는 게이트를 위해 :

SWAP=[1000012(1+i)12(1i)0012(1i)12(1+i)00001]=1i4(X1X2+Y1Y2+Z1Z2)+3+i2I,

어디 Xi 이다 X 게이트에 적용 ith 큐빗.


대답에 감사드립니다. 이것을 IBM Composer로 어떻게 변환 할 수 있는지 알아 내기 위해 약간의 연구가 필요합니다.
JanVdA

@JanVdA 무엇이 잘못 되었나요? X, Y 및 Z 게이트를 회로로 끌어서 놓을 수 없습니까? 게이트에 상수를 곱하는 방법에 대한 별도의 질문을 할 수 있습니다.
user1271772

X, Y, Z 게이트를 끌어서 놓을 수는 있지만 곱셈을 수행하는 방법을 모르겠습니다 (예 : X1X2), 추가 (예 : X1X2+Y1Y2), 상수에 의한 곱셈, 나는 심지어 당신이 무엇을 의미하는지 모른다. I. 나는 완전한 바보처럼 들려야한다고 생각합니다.
JanVdA

X1X2 당신이 신청하는 것을 의미 X 1을 큐빗하고 X그러나 이전 의견에서 언급했듯이 상수를 곱하는 방법에 대해 별도의 질문을해야한다고 생각합니다.
user1271772 2016 년

등식 참조. 이 문서의 8 개 : arxiv.org/pdf/1805.10478.pdf 및 보충 자료의 회로도. 등식 8 장의 논문은 내가 당신에게 준 것과 똑같습니다.Z게이트. 여전히 "Paulinomial"이지만Z이 문서의 IBM 작곡가에서 구현됩니다.
user1271772 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.