2016년 11월 8일 화요일

[공작] 양자컴퓨터 기술정리 (IBM Quantum Experience, 5-qubit Quantum Computing)




< 소개 >


2016년 5월, 최초의 양자컴퓨터를 개발했던 IBM이 클라우드 기반 양자컴퓨터 서비스를

공개했습니다.   기사 Link   IBM Quantum Experience


그동안 여기에 접근하기 위해 제가 할 수 있는 것은 대학 선형대수학 교재를 복습하거나,

양자역학에 관한 유튜브 강의를 따라가는 것이었습니다. 양자역학을 수학적으로 설명하는

2권의 책을 사서보았으나 글은 읽히는데 이미지는 없는 씁쓸함만 남았습니다.

선형대수학과 양자역학 사이에 제가 놓치고있는 짐이 산더미라는 느낌만 받았는데요..
(우선 수리물리학임을 알게 되었습니다. 교재 공부중입니다.)

양자역학을 수학적으로 친절히 설명하는 아래의 책을 읽으면서 머릿속에 새겨지는 것을

최대한 남기기 위해 오늘부터 게시물로 정리하려 합니다.





이 게시물은 제가 관련 책을 읽을 때마다 계속해서 업데이트해나갈 것입니다.


IBM의 클라우드 기반 양자컴퓨팅 서비스, 잠시 살펴보고 갈까요?

호기심에 들르셨던 분도 잠깐의 시간 투자로 직접 손으로 양자컴퓨터의

중첩상태(Superposition)를 실제로 구현해보실 수 있습니다.




저는 'User Guide'를 천천히 읽어보면서 양자회로를 설계해볼 수 있는 'Composer'를

건드려보았습니다. 처음 Composer 항목을 선택하면 이상적인(Ideal) 시뮬레이션,

실재(Real) IBM의 5-큐비트 양자컴퓨터, 그 둘 중 어디에서 구동할 지 선택합니다.

이상적인 경우가 뭘까요, 0을 뒤집으면 1이고, 1을 뒤집으면 0인데.

이를 구분한 이유는 하이젠베르크의 불확정성 원리 때문입니다.


양자 단위의 미시세계에서는 베르너 하이젠베르크(Werner Karl Heisenberg)의
불확정성 원리에 따라 관찰자는 입자의 위치와 운동량, 2가지를 정확하게 알 수 없다.
하나가 분명해지면 하나는 불확실해진다. 타겟 양자의 위치를 알려면, 양자인 광자를
쏘아서 우리가 '감지'할 수 있어야 하는데, 광자를 맞은 양자는 운동량이 달라져버린다. 
양자역학 세계에서 관찰은 여러번의 관측을 통한 기댓값과 통계적인 예측만 가능하다.
위치와 운동량이 결정되지 않은, 모든 결과가 중첩된 상태를 양자 '결맞음(Coherence)' 
상태라고 한다.


저또한 'Real Quantum Processor'를 통해 이전 독후감으로만 말씀드렸던

그 '불확정성'과 '여러번의 관측'을 실감할 수 있었습니다.





이상적인 시뮬레이션에서는 0번째 큐비트 |0> 을 반전시킨 후 측정하면 100%

큐비트 |1>이 관측됩니다. 하지만 그건 불확정성 원리를 고려하지 않은 현실입니다.

(X는 실수값을 반전시키는 게이트입니다. 게이트에 대한 정리는 게시물 제일 하단부에서
작성하고 있습니다.)





그럼 이제 'Real Quantum Processor'로 구동해봅시다.

실제 IBM 양자컴퓨터 연구실에 있는 양자컴퓨터를 쓰기 위해서는 2가지 절차가

추가됩니다. 첫째는 불확정성을 극복하기 위한 수단, '여러번의 관측'입니다.




얼마만큼 반복할 것인지 결정합니다. 1,024회의 반복 이후 드러나는 확률로

|0>을 반전하면 |1>임을 가늠할 수 있습니다. 아래가 실제 양자컴퓨터 구동의 결과입니다.

1,024번의 반복 중 5.6%, 즉 57번 가량은 |0>을 뒤집었는데 |0>이 나온 것입니다.

하지만 우리는 높은 확률로 |0>을 뒤집으면 |1>이라고 판단할 수 있습니다.





또 하나의 과정은 요청 후 대기하는 과정입니다. 이상적인 시뮬레이션은 그 답이

분명하기에 구동 후 바로 처리결과를 보여줍니다. 하지만 실제 양자컴퓨터는

클라우드 기반에 사용자가 여럿이기에, 회로를 구성한 뒤 관측을 요청하고

순번을 받습니다. 양자컴퓨터가 사용자의 차례가 되어 회로를 구동한 뒤

IBM에서 이메일로 결과물이 준비됐다는 알림을 전해줍니다.




아다마르 (Hadamard, H)게이트는 양자가 |0>과 |1>로 중첩된 상태를 가지게 합니다.

중첩상태에서 관측하면 절반가량은 |0>, 절반가량은 |1>로 나타납니다.

1,024번 모두가 |0>으로 관측되는 확률도 0이 아닌 것이죠.

중첩이 없는 디지털컴퓨터는 이런 임의성이 없습니다.

양자컴퓨터를 통해 진정한 의미의 랜덤을 구현할 수 있습니다.





튜토리얼에는 의미있는 예제들이 많이 있었습니다. 여기서 소개를 마치겠습니다.

이 부분은 가독성을 위해 따로 분리해야할지 생각중입니다.





< 수학적 개념 >



[선형대수학도 정리해]



_에르미트 행렬 : 대각선을 중심으로 행-열 교환후 복소공액을 취한 행렬이 원본과 같다.
양자역학을 포함한 모든 물리학은 에르미트 행렬로 표현가능.



_유니타리 행렬 : UU = UU = 1(단위행렬)
유니타리 변환으로 감싸는 행렬, 대각선 행렬 만드는데 사용.



_† : Dagger, 행-열 대각선 교환 후 복소공액 취하기.



_복소공액 : 허수 인자의 부호만 반전.



_해밀토니안 : 계의 전체 에너지.



_플랑크 상수 : h = 6.63 * 10^-34 (J/s 또는 J/Hz)



_플랑크 단위계
인간과 무관한 자연의 특성으로만 정의된 5가지 상수
입자나 물체 기반이 아닌 자유공간의 특성에만 종속

1. 광속 : c = 300,000 (km/s)

2. 중력 상수 : G = 6.67 * 10^-11 (J/m/kg^2)

3. 디랙 상수 : ℏ = h / 2π = 1.05 * 10^-34 (J/s)
h : 플랑크 상수

4. 쿨롱 힘 상수 : k = 1 / 4πε0 = 8.99 * 10^9 (N/m^2/C^-2)
ε0 : 진공에서의 유전율
유전율 : 전하 사이에 자기장이 작용할 때, 그 전하 사이 매질이 전기장에 미치는 영향.
           매질이 저장할 수 있는 전하량, 즉 축전기에 높은 유전율을 가진 물질 넣는다면
           전기 용량이 커짐.
C : Coulomb, 1암페어로 1초 흐를 때 전하량, 1C = 1A * 1s

5. 볼츠만 상수 : k = 1.38 * 10^-23 (J/K)
미시세계 양자 수준에서 가지는 에너지와, 거시세계에서 관측되는 온도를 연관시켜주는
물리 상수, 거시 물리학과 미시 물리학을 이어주는 다리.
K : Kelvin, 절대온도 단위



_플랑크 공식
흑체복사에서 빛의 스펙트럼을 나타내는 식.
미시세계 광자의 에너지를 관측하려면 스펙트럼으로 확인하는 것이 한계.

(J)

<E> : 분자 에너지 평균값, 분자 1개가 아닌 분자 1개가 가진 자유도 하나에 대한 에너지.
자유도 : 공간 속에서 움직일 수 있는 방법의 가짓수.
           [3차원 공간의 공 같은 경우 3, 좌우-상하-앞뒤의 xyz축]
           자유도의 가짓수는 분자의 형태에 의해 결정.

h : 플랑크 상수

v : 진동수, '뉴'라고 발음.

e : 자연 상수, 약 2.72

k : 볼츠만 상수

T : 온도

J : 1뉴턴(N)의 힘으로 물체를 1m 이동시킬 때 필요한 에너지. [1J = 1N * m]



_플랑크 공식의 빛에너지
이를 통한 아인슈타인의 광양자가설은 빛이 파동이 아니라 E=hv라는 에너지를 가진
'입자'임을 증명.

(J)

E : 에너지

h : 플랑크 상수

v : 진동수

J : 1뉴턴(N)의 힘으로 물체를 1m 이동시킬 때 필요한 에너지. [1J = 1N * m]



_빛의 운동량
빛의 운동량은 빛에너지를 광속도로 나눈 것.

 (N/s)

p : 운동량

h : 플랑크 상수

v : 진동수

c : 광속

N : 뉴턴단위 [1N = 1kg * m / s^2]

s : 초



_수소의 스펙트럼 식
원자에서 나오는 스펙트럼 진동수에 질서가 있다는 것을 발견,
아래식은 리드베리 공식에서 a와 b가 0인 수소에 관함.


v = 스펙트럼 진동수

R = 리드베리 상수, 1.0973 * 10^7 (m^-1)

c = 광속

m = 마지막 에너지 레벨

n = 처음 에너지 레벨



_러더퍼드의 원자 모델




모든단위책 다시참고.



_양자에 대한 해석

1. 하이젠베르크 _이미지 없는 행렬 접근

2. 슈뢰딩거 _파동 접근





< 프로그래밍 >


_파울리 매트릭스 - 복소수 매트릭스, 에르미트하면서 유니터리


_게이트는 4개 그룹


_Green, Blue 그룹은 클립포드 게이트라고 함.


_양자회로

1. Yellow - [Id] _휴지(Idle) 상태

2. Green - [X], [Y], [Z] _파울리 연산자

[X]   _실수값 반전

[Y]   _실수값, 위상 반전

[Z]   _위상 반전

3. Blue - [H], [S], [S-dagger], [+] _ 중첩상태-Superposition 만듦.

[H]   _Hadamard 게이트, 중첩 생성

[S]   _위상 게이트, 복소수 (+) 위상 상태 만듦

[S]   _복소수 (-) 위상

4. Orange - 범용 제어 게이트, 블로크 스피어 채울 수 있음.


_양자얽힘 상태

1. Bell states   _2개 양자 얽힘 현상

2. GHZ states   _3개 양자 얽힘 현상,
                    _슈리딩거의 고양이 상태라고도 함.
                   

_양자컴퓨팅 활용 알고리즘

1. 그로버 탐색 알고리즘   _비정렬상태 고전 컴퓨터 평균 N/2회, 양자컴퓨터는 루트N회

2. Deutsch-Jozsa 알고리즘   _함수 일시에 해석해내는 건가?

https://www.natureasia.com/ko-kr/nature/highlights/9371
컴퓨터의 루틴을 만드는 단순 판정 중에 하나인 Deutsch-Jozsa 알고리즘은 양자 컴퓨터를 신속하게 구동 시키기 위해 중요한 요소이다. 유사한 기존의 문제는 2단계의 검사단계가 필요한 것에 비해 Deutsch-Jozsa 알고리즘은 한번에 처리할 수 있기 때문에, 양자 컴퓨터가 기존의 컴퓨터에 비해 기하학적인 속도를 지닌 것이다. 레이저 펄스에 의해서 40Ca+ 이온이 갇혀 있는 이온 트랩 양자 컴퓨터에서 Deutsch-Jozsa 알고리즘이 증명됨으로써 실제 양자 컴퓨터를 제작하기 위한 또 하나의 초석이 마련되었다. 이번 결과는 비교 가능한 시스템에서 증명한 최초의 양자 알고리즘이었다. 알고리즘을 구동하기 위해 필수적인 양자 상태에 대한 고도의 제어가 가능하였으며, 이를 통해 실제 목표인 좀더 큰 프로세서를 제작할 수 있게 되었다.

3. Learning Parity with Noise

4. Quntum Phase Estimation   _다른 알고리즘의 서브루틴을 찾는 것.

5. 쇼어 알고리즘   _소수 난해함 기반 RSA 암호체계 해체가능


_양자컴퓨팅 오류 정정

1. 양자 반복 코드

2. 안전장치 측정

댓글 없음:

댓글 쓰기