나는 한동안 선형 방정식 시스템 (Harrow, Hassidim & Lloyd, 2009) ( HHL09 알고리즘 용지 로 더 널리 알려진 ) 에 대한 유명한 (?) 종이 양자 알고리즘을 둘러 보려고 노력했습니다 .
첫 페이지에서 다음과 같이 말합니다 .
여기서는 알고리즘의 기본 개념을 스케치 한 후 다음 섹션에서 자세히 설명합니다. 허미 시안 주어 행렬 한 단위 벡터 , 우리가 찾고자하는 가정 만족 . (우리는 나중에 효율성에 대한 질문과 와 에 대한 가정을 완화 할 수있는 방법에 대해 논의합니다 .) 먼저, 알고리즘은 를 양자 상태 로 나타냅니다. . 다음으로, Hamiltonian 시뮬레이션 [3, 4] 기법을 사용하여 를다른 시간의 중첩 . 를 지수화 이 능력 은 잘 알려진 위상 추정 기법 [5-7]을 통해 고 유량에서 을 분해 하고 해당 고유 값을 찾는 능력으로 변환합니다. 비공식적으로, 이 단계 이후의 시스템은 에 . 여기서 는 의 고유 벡터 기반 이고 .A | B ⟩ λ J Σ J = N J = 1 β의 J | U의 J ⟩ | λ J ⟩ U J | B ⟩ = Σ의 J = N의 J = 1 β J | U 형 J ⟩
여태까지는 그런대로 잘됐다. " 양자 푸리에 변환 및 그 응용 " 장의 Nielsen & Chuang 에 설명 된대로 위상 추정 알고리즘은 고유 벡터 해당하는 고유 값 인 에서 를 추정하는 데 사용됩니다. 유니 터리 연산자 .e i 2 π φ | U ⟩ U
Nielsen & Chuang의 관련 부분은 다음과 같습니다.
위상 추정 알고리즘은 두 개의 레지스터를 사용합니다. 첫 번째 레지스터에는 처음에 상태가 qubit 가 포함 됩니다. 를 선택하는 방법 은 에 대한 추정치에 원하는 정확도의 자릿수 와 위상 추정 절차가 성공하기를 원하는 확률 에 따라 다릅니다 . 이러한 양에 대한 의 의존성은 다음 분석에서 자연스럽게 나온다.| 0 ⟩ t φ t
두 번째 레지스터는 상태에서 시작 저장에 필요한만큼 많은 큐 비트로 포함 . 위상 추정은 두 단계로 수행됩니다. 먼저 그림 5.2에 나와있는 회로를 적용합니다. 이 회로는 Hadamard 변환을 첫 번째 레지스터에 적용한 다음 두 번째 레지스터에 제어 된 작업을 적용하고 는 2의 거듭 제곱으로 시작합니다. 첫 번째 레지스터의 최종 상태는 다음과 같이 쉽게 보입니다.| U ⟩ U U
위상 추정의 두 번째 단계는 첫 번째 레지스터에 역 양자 푸리에 변환을 적용하는 것입니다. 이것은 이전 섹션 (Exercise 5.5)의 퀀텀 푸리에 변환을위한 회로를 반대로하여 얻어지며 단계 로 수행 할 수 있습니다 . 위상 추정의 세 번째이자 마지막 단계는 계산 기준으로 측정을 수행하여 첫 번째 레지스터의 상태를 읽는 것입니다. 우리는 이것이 의 꽤 좋은 추정치를 제공함을 보여줄 것입니다 . 알고리즘의 전체 회로도가 그림 5.3에 나와 있습니다.φ
위상 추정이 작동하는 이유에 대한 직감을 강화하기 위해 가 정확하게 int 비트로 표현 될 수 있다고 가정합니다. . 그러면 위상 추정의 첫 번째 단계에서 생성 된 상태 (5.20)를 다시 쓸 수 있습니다.φ = 0. φ 1 . . . φ t
위상 추정의 두 번째 단계는 역 양자 푸리에 변환을 적용하는 것입니다. 그러나 이전 식을 푸리에 변환의 식 (5.4)에 대한 곱 형식과 비교하면 두 번째 단계의 출력 상태가 곱 상태 입니다. 따라서 계산 기준으로 측정하면 정확하게 됩니다!φ
요약하면, 위상 추정 알고리즘은 대응하는 고유 벡터 주어지면 단일 연산자 의 고유 값의 위상 를 추정 할 수있게한다 . 이 절차의 핵심은 변환을 수행하는 역 푸리에 변환의 기능입니다.U | U ⟩
여기서부터 진행하겠습니다. 여기서 HHL09 알고리즘에 대한 멋진 회로 다이어그램 을 찾았습니다 [ ] :
1 단계 (위상 추정) :
HHL09 알고리즘 의 첫 번째 단계 에서 동일한 개념 (Nielsen 및 Chuang에 설명 된 표준 Quantum Phase Estimation 알고리즘)이 사용됩니다. 그러나 자체는 단일 연산자가 아니라는 점을 명심해야합니다 . 그러나 가 Hermitian 이라고 가정 하면 지수 는 단일입니다 (걱정 하지 않아도됩니다. 가 Hermitian이 아닌 경우 해결 방법이 있습니다 !). A e i A t A
여기서 쓸 수 있습니다 . 여기에는 또 다른 미묘한 점이 있습니다. 우리 는 의 고유 벡터 을 미리 알지 못합니다 (그러나 우리 는 크기 의 단일 행렬에 대해 직교 정규 고유 벡터 가 존재 한다는 것을 알고 있습니다 ). 또한, 우리의 고유 경우 자신을 생각 나게 할 필요가 있습니다 다음의 고유 될 것입니다 . 우리가 이것을 대해 Nielsen과 Chuang에 주어진 고유 값의 형태와 비교한다면, 즉 | U J ⟩ UN λ J E I t E I λ J t U 예 2 π I φ ≡ 예 I λ J t φ = λ j 개의 t우리가 찾을 것 . 이 경우, 우리는 상태에서 시작 (의 고유 벡터들의 중첩과 같이 작성 될 수있는 즉 오히려 어떤 이상) 특히 고유 벡터 의 , 지금까지의 큐 비트의 제 2 레지스터 우려하고있다. 우리는 상태에서 시작했다면 우리가 함께 종료 것 예 ( 고려하여) | B⟩UΣ J = N J = 1 β의J| U 형J⟩U | U ⟩ ⊗ ( | 0 ⟩ ) ⊗ t | U ⟩ ⊗ | ~ φ ⟩ | U J ⟩ ⊗ | ~ λ j tλJ| U 형J⟩고유 값 고유 벡터와 관련된 의 ). 이제 우리가 고유 벡터의 중첩에서 시작한다면 우리는 . Σ J = N J = 1 β의 J | U J ⟩ Σ J = N J = 1 β의 J | U J ⟩ ⊗ | ~ λ j t
질문:
Part 1 : HHL09 논문에서 , 그들은이 단계 추정 단계 이후 . 그러나 위에서 쓴 내용에서 시스템 상태는 .Σ J = N J = 1 β의J| UJ⟩⊗| ~ λ j t
내가 여기서 무엇을 놓치고 있습니까? 알고리즘에서 요소는 어디 에서 사라 졌습니까?
편집 : 2 부는 개별 질문을보다 집중시키기 위해 여기 에 요청되었습니다 .
또한 HHL09 알고리즘의 2 단계 및 3 단계와 관련하여 몇 가지 혼동이 있었지만 너무 길어짐에 따라 별도의 질문 스레드로 게시하기로 결정했습니다. 이 게시물에 해당 질문 스레드에 대한 링크를 추가합니다.
[ ] : IBM의 Cloud Quantum Computing Platform에 대한 동형 암호화 실험 Huang et al. (2016)