Quantum Phase Estimation
- Hadamard Gate를 다시 한번 살펴봅시다
- 여기서 잘 보면, n-qubit H Gate는 x를 phases로 encoding 된 것을 decoding 하는 것을 볼 수 있습니다.
- 은 Phase의 특별한 형태입니다. 이 Phase 를 좀 더 보편화 하여 Complex Number 로 표현하면 다음과 같습니다.
- DFT Form 같죠? 이러한 State에서 적절한 parameter w 를 찾는 것이 Problem 이 되겠습니다.
- 그리고 1-qubit Phase Rotation Gate 를 정의하겠습니다.
QFT
- m 개의 qubit 에 대해서 Quantum Fourier Transform 하는 연산을 정의하겠습니다.
- 자 이제 시각적으로 Computational Basis와 Fourier Basis에서 어떻게 차이나는지 봅시다
- Computational Basis
- Fourier Basis
- Z 축을 중심으로 회전하는 것을 볼 수 있습니다.
- QFT를 하는 Unitary Matrix는 다음과 같습니다
- n-qubit QFT를 실행하는 회로는 다음과 같습니다 끝단에서 SWAP을 합니다.
- 성능
m in [1,n] 일 때,
- m-th qubit에 적용되는 gate의 개수 : H gate
1개
+ Rot Gate(N-1)개
⇒ 총 개의 Gate가 필요하다
- SWAP Gate = CNOT Gate
3개
- 총 게이트 수 = ⇒ 따라서 QFT는 의 시간 복잡도를 가진다 이는 Classcial Algorithm인 FFT의 보다 빠르다
- m-th qubit에 적용되는 gate의 개수 : H gate
[예제] 3-qubit QFT
, QFT Matrix는 다음과 같다.
Phase Shift Gates
EigenValue Estimation Problem
Order-Finding Problem (Quantum Fatoring Algorithm, Period Finding )
- 1994년 Peter Shor에 의해 발견되었습니다.
- Classical Computer 에서는 Order-finding Problem을 다항시간 안에 풀수 없었습니다. 이 알고리즘은 추후에 Shor's Algorithm에 중요하게 이용됩니다.
Order-Finding Problem
- Order(위수) 의 정의 : GCD(x,N)=1 일 때, 을 만족하는 가장 작은 수 r
- x와 N 이 주어진 이 때, r을 찾는 문제이다.
▶ Order를 구하는게 왜 중요한가요 ? ⇒ 인수분해를 할 수 있습니다
을 만족하는 x 를 찾을 수 있는가? (와 같은 말)
해결방법
- Eigenvalue Estimation Approach (7.3.3)
, gcd(a,n)=1 입니다. , r=ord(a)
이제 어떤 것을 고민해보냐면,
자 그럼 이제 이 EigenVector 가 되겠죠
결과적으로 는 Eigenstate of Ua with eigenvalue 이죠
그럼이제 ( EEA : Eigenvalue Estimation Algorithm) 에 넣고 돌립니다.
그러면 k/r 을 구할 수 있습니다. 근데 분해는 했는데 r 값을 알 수가 없어요.
그래서 이제 뭘 계산할거냐면
이고 , 이게 이 될 때는 일 때 밖에 없습니다.
if s=0 , 일 떄 이죠. 그러면 이 나옵니다.
Amplitude of state 가 1이라는 말은 무슨 말인면요, Uk의 Sub로 표현된다는 사실을 알 수 있어요. . 별거 아닌거 같지만 되게 중요해요
( EEA 에 넣고 돌립니다 ).
그럼 이제 k/r 을 measure 해서, r 값의 estimation 을 알아 낼 수 있고, r 값을 알아 낼 수 있습니다.
- 성능 Quantum Complexity : - Black-box : - Others :
Shor's Algorithm
- 1994년 Peter Shor가 제안한 "소인수분해(Prime Factoring)을 Polynomial Time 내에 처리하는 알고리즘" 입니다.
1.
2.
3.
4.
5.
⇒ 주기가 반복된다 정도만 알아들었다 ... ㅜㅜ..
그리고 Mod 집합 안에서는 주기 함수이다 ... → 즉, Fourier Transform이 가능하다
6.
⇒ 그리고 측정하면 주기를 확률로써 알 수 있다 정도만 알아들었다 ..ㅜㅜ
STEP 1. gcd(x,N)=1 이고 x<N 인 Random Number x를 고른다
STEP 2. Order Finding 으로 r을 구한다.
STEP 3. n=[] 을 만족하는 n 을 구하고, n 수 만큼 Qubit 을 준비한다
- 1st Register : |00000....> : n 개
- 2nd Register : |111.......> : n 개
STEP 4. 1st Register에 를 적용한다
STEP 5. 2nd Register에 Unitary 를 적용한다. 1st 에는 변화가 없고, 2nd 에만 결과가 저장된다
(아마 아래는 같은 말인거 같다)
이 때,
STEP 6. 2nd Register를 Measure 합니다. 주기를 가진 함수이므로 collapse 됩니다
STEP 7. Inverse QFT에 넣는다 만 살아남는다
STEP 8. 1st Register 측정 → r 을 estimation 하고 , r 을 구할 수 있다
Discrete Logarithm Problem
- Input :
- Problem : Find t
- Proof
- , , r=ord(b) (r is prime)
- , Eigenvalue
- , Eigenvalue , 여기에는 exp 위에 t가 있어요
- E.E.A 를 하면 t 값을 알 수가 있죠.
Hidden Subgroup Problem
- f 함수가 g→ x 로 맵핑되고요.
- g의 서브 그룹인데, f(x)=f(y) 가 되요. 어떨때? x+s,y+s 가 같은 coset에 있을 떄
- 이럴 때 함수 값들이 같은 , 같은 서브그룹을 찾아봐라 하는 문제입니다.
- S={0}, if f is balanced
- S={0,1}, if f is constant
- f : G → X
- 찾고자 하는 것 f(x)=f(x+a)
- G=Z , X= any finite group a∈H
- f : Z → X
- r = ord(a)
- S= rZ 가 되는 r 을 찾아라 (r값을 알면 끝났죠)
- G = Zr x Zr
- X : Any group H
- a∈H , =1 ,
- f(x1,x2)=
- f(x1,x2)=f(y1,y2)
- =
- (x1,x2)-(y1,y2)=(kt,-t)=t(k,-1)
- S-<k,-1> ⇒ k 값을 알 수 있다. (이산대수 문제를 푼다)
- G : Z x Z
- g : permutation of Zn
- h : Z x Z → Zn (x,y) → ay + r mod N
- f = g * h
- S = <(-a,1)>
Uploaded by Notion2Tistory v1.0.0