일반 건설 -state


12

가장 잘 알려진 얽힌 상태는 GHZ-state 및 -state, 입니다.|ψ=1/2(|0n+|1n)WnW3=1/3(|100+|010+|001)

GHZ 상태 구성은 임의의 대해 간단합니다 . 그러나 구현 은 더 어렵습니다. 를 들어 가 쉽고, 대한 우리가 사용할 수 있습니다nWnn=2n=4

H q[0,3]
X q[0,3]
Toffoli q[0],q[3],q[1]
X q[0,3]
Toffoli q[0],q[3],q[2]
CNOT q[2],q[0]
CNOT q[2],q[3]

조차도 구현 있습니다. 예를 들어이 답변 을 참조하십시오 . 그러나 주어지면 를 구성하기위한 회로를 출력 하는 알고리즘을 찾지 .n=3nWn

단일 및 2 큐 비트 게이트로 정의 된 이러한 알고리즘이 존재합니까? 그렇다면 무엇입니까?

답변:


8

예, 중첩 양자 카타 에는이 알고리즘의 여러 구현이 있습니다 (작업 14 및 15).

  • 를 들어 에는 재귀 알고리즘을 사용할 수있다 : 처음에 W 상태를 만드는 큐빗, ancilla 큐빗에 할당 상태를 일부 제어 스왑의 상태를 설정하기 위해 수행 두 번째 큐 비트 및 일부 제어 된 NOT은 작동 하도록 재설정합니다 ( 작동).n=2k2k1|+2k1|0WState_PowerOfTwo_Reference
  • 임의의 경우 DaftWullie ( 작업)에 설명 된대로 재귀 알고리즘을 사용할 수 있습니다 .nWState_Arbitrary_Reference
  • 첫 번째 재귀 알고리즘을 사용하여 임의의 대한 상태 를 만드는 데 사용할 수있는 깔끔한 트릭도 있습니다 . 여분의 큐 비트를 할당하여 주어진 를 상태를 에 만들고 여분의 큐 비트를 측정합니다. 모든 큐 비트가 0으로 측정되면 원래 큐 비트의 상태는 이고, 그렇지 않으면 프로세스를 재설정하고 프로세스를 반복하십시오 ( 작업).Wnnn2kW2kWnWState_Arbitrary_Postselect

이것은 매우 다양한 접근 방식을 허용하기 때문에 그 kata에서 내가 가장 좋아하는 작업입니다.


6

W 상태를 생성하는 개념 상 가장 간단한 방법 은 궁극적으로 균일 한 효과를 생성하는 일련의 로컬 작업을 포함한다는 점에서 고전적인 저수지 샘플링 과 다소 유사 합니다.

기본적으로, 각 큐 비트를 차례로보고 "모든 0s 상태에서 얼마나 많은 진폭을 유지하고 있으며,이 큐빗이 ON 상태로 얼마만큼 전송하고 싶은가?"를 고려하십시오. 필요한 회전 패밀리는 다음 매트릭스를 가진 "odds gates"라고합니다.

M(p:q)=1p+q[pqqp]

이 게이트를 사용하면 점점 제어되는 작업 순서로 W 상태를 얻을 수 있습니다.

0의 양도

이 회로는 다소 비효율적입니다. 비용은 여기서 은 큐 비트 수이고 은 원하는 절대 정밀도입니다 (오류 수정 컨텍스트에서 승산 게이트는 기본이 아니며 근사해야합니다).O(N2+Nlg(1/ϵ))Nϵ

"뒤에 남은 것으로부터의 이탈"전략에서 "이동하고있는 것의 이적"전략으로 전환함으로써 효율성을 향상시킬 수 있습니다. 이렇게하면 마지막에 픽스 업 스윕이 추가되지만 각 작업마다 단일 컨트롤 만 필요합니다. 이것은 비용을 .O(Nlg(1/ϵ))

1의 양도

여전히 더 나아질 수는 있지만 복잡해지기 시작합니다. 기본적으로 단일 부분 그로버 단계를 사용 하여 과 같은 진폭 을 얻을 수 있지만 이진 레지스터로 인코딩됩니다 (단일 비트 세트의 원핫 레지스터가 필요함). 이 문제를 해결하려면 이진-이진 변환 회로가 필요합니다. 이를 수행하는 데 필요한 도구는 "선형 T 복잡도를 갖는 양자 회로에서 전자 스펙트럼 인코딩"에 설명되어 있습니다. 관련 수치는 다음과 같습니다.N1/N

부분 그로버 단계 :

부분 분쇄 단계를 사용하여 균일 한 분포 준비

인덱스 작업을 수행하는 방법 (잘 ... 가장 가까운 수치에는 어큐뮬레이터가 있어이 경우에는 적합하지 않습니다) :

인덱스 작업

이보다 복잡한 방법을 사용하면 비용이 에서 줄어 듭니다 .O(Nlg(1/ϵ))O(N+lg(1/ϵ))


4

시퀀스를 재귀 적으로 정의 할 수 있습니다. 개념적으로 원하는 것은 다음과 같습니다.

  • 초기 상태 작성|0N

  • qubit 1에서 게이트

    1N(1N1N11)

  • qubit 1을 제어하고, qubits 2에서 까지 "make "을 적용하십시오 (즉, qubit 1이 상태이면|WN1N|1

  • 큐 비트 1에 비트 플립 게이트를 적용하십시오.

표현 된 바와 같이,이 알고리즘은 1 및 2 큐 비트 게이트로만 구성되는 것이 아니라 표준 보편성 구성에 의해 확실히 분해 될 수있다.

또한 이것은 가장 효율적인 알고리즘이 아닐 수도 있습니다. 예를 들어, 인 경우 스왑 게이트 제곱근 층을 사용 하여 원하는 것을 생성 할 수 있습니다 . 단일 큐 비트에서 시작하십시오 . 두 번째 큐빗으로 루트 스왑하면 (보상해야 할 단계까지)이 있습니다. 둘 다 옆에 ancilla를 넣고 W-ancilla 쌍 사이에서 루트 스왑을 수행하면 있고, 반복하고 이 있습니다. 나는 이것이 그들이 무엇 기본적으로 생각 실험적으로 여기 . 이 알고리즘을 첫 번째 알고리즘에 통합하여 더 효율적으로 만들 수 있어야합니다 (N=2nn|1|W2|W4|W8O ( 로그 N ) O(logN)임의의 크기에 대해서는 )이지만 세심한주의를 기울여 세부 사항을 해결하는 것을 멈추지 않았습니다.

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