양자 시뮬레이션 (Quantum Simulation)
편집하기
Hiro
(
토론
|
기여
)
님의 2021년 8월 17일 (화) 22:53 판
(
→양자 시뮬레이션
)
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
둘러보기로 이동
검색으로 이동
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
<[[양자 기술백서]] | ┗|[[양자컴퓨팅의 구현]]> ┗<[[양자컴퓨팅 (Quantum Computing)]]|[[양자 센서]]> = 시뮬레이션 (Simulation) = 양자 시뮬레이션에 대해서 설명하기 이전에(고전적인) 시뮬레이션에 대해 먼저 살펴보자. 시뮬레이션(혹은 모의실험)의 사전적 의미<ref>국립국어원 표준국어대사전</ref>는 어떤 복잡한 문제나 현상 따위를 해석하고 해결하기 위하여 실제에 가급적 가까운 모형을 만들어 모의 실험하여 그 특성을 파악하는 일이다. 물리학에서는 여러 입자들로 구성되어있는 실제 계(real system)에 대해서 어떠한 물리적인 현상이나 특성이 나타나는지 연구하기 위하여, 실제 계에 대응하는 수리적인 모형(model)을 만들어 컴퓨터로 계산하거나 물리적으로 기기를 설계하여 실험하는 방식으로 시뮬레이션을 수행한다. 시뮬레이션의 예로써, 기상슈퍼컴퓨터를 이용한 수치예보모형의 모의실험, 우주로 나가기 전에 지구에서 여러가지 장비들을 이용한 무중력 훈련 등이 있다. 상황에 따라 (예를 들어 기상 예측처럼), 모의실험 수행 후 얻은 결과와 정보가 실제 계와 얼마나 일치하는지 비교과 필요하다. 이는 시뮬레이터의 신뢰성, 실제 계에 대한 이상적인 모형의 정확한 설계와 연관이 깊다. 여기서 시뮬레이터란, 간단하게 말하면 시뮬레이션을 하기 위해 고안된 기기나 장치를 말한다. 그리고 이는 의도적인 목적이나 맥락에 따라 설계된다. 앞서 언급한 예시에서 살펴보면, 기상 예측을 위한 슈퍼컴퓨터와 무중력 체험을 위해 특수 제작된 비행기가 바로 시뮬레이터이다. 사실 컴퓨터는 범용적인(universal) 시뮬레이터이다. 즉, 시뮬레이터처럼 단순히 특수 목적을 위해 지어진 것이 아니라, 프로그래밍을 통하여 목적에 부합하는 여러가지 모형에 대해여 계산할 수 있다. 우리가 일상생활에서 사용하고 있는 계산기와 컴퓨터를 비교해보면, 계산기는 간단한 계산(특히 사칙연산)을 위해 만들어진 기계이다. 이러한 단순 계산은 컴퓨터를 이용해서도 진행할 수 있다. 하지만 계산기는 컴퓨터가 아니다. 간단한 계산이라는 의도된 목적성을 지니고 있기 때문에 시뮬레이터라고 볼 수 있다. 반면 컴퓨터의 경우 단순한 계산뿐만 아니라 더 복잡하고 다양한 계산을 할 수 있다. [[File:양자 기술백서_image27.png|thumb|700px|그림 ‑ 고전 시뮬레이터(classical simulator)의 예시. 왼쪽 그림은 국가 기상슈퍼컴퓨터센터에 있는 기상 슈퍼컴퓨터 4호기. 오른쪽 그림은 의정부과학도서관에 있는 무중력체험 기기.<ref>http://ast.uilib.go.kr/intro/info.asp</ref> ]] = 양자 시뮬레이션 = 그렇다면 ‘양자(quantum)’ 시뮬레이션이란 무엇일까? 앞서 설명한 대로 시뮬레이션(모의 시험)은, (1) 대상과 규명하고자 하는 성질을 특정하고 (2) 대상에 가급적 가까운 모형으로 근사하고 (3) 모형을 통해 대상의 성질을 근사적으로 파악하는, 일련의 행위를 말한다. 양자 시뮬레이션은 (2)와 (3)을 위한 근사 모형으로, 양자 기기(quantum device)로 구성한 양자 모형(quantum model)을 채택한 시뮬레이션을 말한다. 기기나 모형이 양자가 아니면 양자 시뮬레이션이라고 할 수 없다. 여기서 말하는 ‘양자’ 모형은 고전 물리학 법칙이 아닌 [[양자 물리학]] 법칙을 따르는 모형을 말한다. 자석을 설명하는 가장 간단한 모형인 이징 모형(Ising model)을 살펴보면, 고전적인 이징 모형의 경우 스핀의 업(up) 상태와 다운(down) 상태를 단순한 정수(+1 또는 -1)로 기술하는 반면 양자 이징 모형은 스핀을 양자화(quantize)하여 연산자(혹은 행렬)로 기술한다 (표 1.6‑1 참고). 그렇다면 ‘양자’ 기기의 기준은 무엇일까? 사실 모든 물리 계들은 다 [[양자역학]]으로 기술이 가능하다. 우리가 현재 사용하고 있는 [[고전 컴퓨터]]([[양자컴퓨터]]와 대비하기 위해 기존 전자 컴퓨터를 고전 컴퓨터라고 부른다)만 봐도, 이를 대부분 구성하고 있는 반도체는 고전역학이 아닌 [[양자역학]]을 이용해야 작동 원리를 설명할 수 있다. 그러면 [[고전 컴퓨터]]도 양자 기기라고 볼 수 있을까? 여기서는 단순히 [[양자역학]]이라는 말보다 더 구체적이고 자세한 현상과 그 개념들이 필요하다. 대표적으로 [[양자 얽힘]]은 양자 기기를 구분하는 가장 중요한 개념 중 하나로 고전역학으로는 기술할 수 없는 개념이다. 반도체를 설명하는 해밀토니안(Hamiltonian)의 파동함수들은 각각 개별 전자에 지정할 수 있다. 즉, 여기서의 파동함수는 단일 입자인 전자의 상태이다. 전자들이 개별 입자 상태를 유지한 채, [[결맞음]] 없이(incoherently) 상호작용한다면, 이들로 구성된 원자들에서 [[양자 얽힘]]은 나타나지 않는다 (Johnson, 2019). 또 다른 [[양자역학]] 개념 중에 [[양자 중첩 원리]]가 있다. [[고전 컴퓨터]]의 비트가 있다면 양자 기기에서는 0과 1에 대응하는 두 개의 양자 상태가 서로 [[중첩]]되어 있는 [[큐비트]]가 있다. 이 밖에 양자 [[결맞음]](quantum coherence), 비국소성(nonlocality) 등 여러 양자 특성이 추가로 있다. 이들 양자 특성 중 가장 핵심적인 특성은 양자 [[중첩]](또는 양자 [[결맞음]])이다. 양자 [[결맞음]] 등이 있을 때 양자 기기라고 칭하는 것이 적절하다. 양자 시뮬레이션은 보통 대상도 양자인 경우를 말한다. 반면에 양자 시뮬레이터는 모형 및 기기가 양자인 경우를 말한다. 이때 대상은 고전일수도 양자일수도 있다. 대표적인 양자 시뮬레이터로는 포획된 이온(trapped ion), 광격자 안에 있는 중성 원자(neutral atom in optical lattices), 양자 점(quantum dots), 초전도성 회로(superconducting circuits), 양자광원 기반 광회로(Photonic circuits based on quantum light sources) 등이 있다. {|class="wikitable" |+style="caption-side:bottom; text-align: left;"|$$i,j$$ : '''스핀의''' '''위치''', $$J_{i,j}$$ : '''두''' '''개의''' '''스핀''' '''사이에''' '''존재하는''' '''상호작용''' '''상수''', $$h_{i}$$ : '''외부''' '''자기장의''' '''크기''' |+style="caption-side:bottom; text-align: left;"|표 ‑ 고전역학으로 기술되는 이징 모형과 양자역학으로 기술되는 이징 모형. !width="50%"| '''고전 이징 모형''' !width="50%"| '''양자 이징 모형''' |- | \[H_{\text{ising}}= - \sum_{\langle i,j\rangle}J_{i,j}(\sigma_{i} \cdot \sigma_{j}) - \sum_{i}h_{i}\sigma_{i}\] | \[{\widehat{H}}_{\text{ising}}= - \sum_{\left\langle i, j \right\rangle}^{}{J_{i,j}\left( {\widehat{\sigma}}_{i}^{x} \otimes {\widehat{\sigma}}_{j}^{x} \right)} - \sum_{i}^{}{h_{i} {\widehat{\sigma}}_{i}^{z}}\] |- | \[\sigma \in \{ 1, - 1\}\] | $${\widehat{\sigma}}^{x}, {\widehat{\sigma}}^{z}$$: 파울리 $$x$$, $$z$$ 연산자 |} 최종적으로, 양자 기기와 양자 모형이 갖추어 졌을 때, 양자 시뮬레이션이 어떻게 진행되는지 살펴보자 (Georgescu, 2014).<ref name=Georgescu>Georgescu, I. M., Ashhab, S., & Nori, F. (2014), “Quantum simulation”, ''Reviews of Modern Physics'', 86(1) : 153.</ref> 시뮬레이션을 할 대상 양자 계(quantum system)의 초기 양자 상태를 $$|\psi(t = 0)\rangle$$ 라고 하면, 이 초기 양자 상태는 유니테리 연산자(unitary operator)에 의하여 시간 $$t$$가 지난 후 최종 양자상태 $$|\psi(t)\rangle$$로 전개된다. 이 때 유니테리 연산자는 대상 양자 계의 해밀토니안을 포함하고 있다$$(U = \exp\left\lbrack - i H_{\text{sys} }t\text{/}\hslash \right\rbrack$$). 이러한 양자 계를 시뮬레이션 하기 위해서는 우선 양자 시뮬레이터는 매개변수로 통제할 수 있는 새로운 양자계이어야 한다. 그리고 이 시뮬레이터의 해밀토니안 $$H_{\text{sim}}$$을 이용하여 앞서 대상 양자 계의 유니테리 연산를 따라하는 유니테리 연산을 수행할 수 있어야 한다. 마지막으로 시뮬레이터의 초기 양자 상태를 준비할 수 있고, 최종 양자 상태를 측정할 수 있어야 한다. 이러한 일련의 양자 시뮬레이션의 과정을 그림 1.6‑2에 도식적으로 나타내었다. [[File:양자 기술백서_image28.png|thumb|700px|그림 ‑ 양자 시뮬레이션의 과정.]] = 아날로그(analog, 유사) 양자 시뮬레이션과 디지털(digital) 양자 시뮬레이션 = 양자 시뮬레이션에는 아날로그 양자 시뮬레이션(analog quantum simulation)과 디지털 양자 시뮬레이션(digital quantum simulation) 두 종류가 있다 (Georgescu, 2014).<ref name=Georgescu>Georgescu, I. M., Ashhab, S., & Nori, F. (2014), “Quantum simulation”, ''Reviews of Modern Physics'', 86(1) : 153.</ref> 아날로그 양자 시뮬레이션이란 하나의 양자 계를 이용하여 다른 알고 싶은 양자 계를 시뮬레이션 하는 것을 말한다. 바로 포획된 이온(trapped ions)을 예로 들어보자. 기본적으로 레이저로 구성된 트랩 안에 있는 알칼리 원자는 다양한 에너지 준위를 가지고 있다. 하지만 이 에너지 준위 중에서 양자적으로 잘 통제할 수 있는 두 개의 준위를 고르면, 스핀-1/2 입자처럼 생각할 수 있다. 스핀-1/2 입자처럼 행동하는 원자들에 자기장을 걸어 서로 상호작용하도록 만들면 양자 이징 모형(quantum Ising model)와 같은 양자 모형들을 구성할 수 있다. 따라서, 포획된 이온들을 이용하여 다른 양자 계를 시뮬레이션 할 수 있다. 아날로그 양자 시뮬레이션의 장점은 시뮬레이터가 자연적으로 평형상태에 도달하기 때문에 초기 양자 상태의 준비가 쉽다는 점이다. 또한 시뮬레이터의 물성 및 관련 정보들을 직접 측정하여 알 수 있다. 아날로그 양자 시뮬레이터는 정확한 분석적 방법(analytical method)으로부터 얻은 유효한 계산 결과, 또는 믿을 수 있는 고전 시뮬레이터의 결과와 비교 분석하여 그 신뢰성을 높일 수 있다. 하지만 이 분석 방법은 한정적이고 고전 시뮬레이터는 오차가 존재하기 때문에, 아직 양자시뮬레이터의 결과를 완전히 신뢰하기 위해서는 복잡한 검증 과정이 필요하다. 디지털 양자 시뮬레이션에 대해 말하기에 앞서, 양자 계를 구성하고 있는 스핀-1/2 입자를 큐비트로 고려해보자. 위의 양자 시뮬레이션 그림(그림 1.6‑2)에서 해밀토니안을 포함하고 있는 유니테리 연산자(unitary operator)는 입자 전체에 대해 적용되는 연산자이다. 이 광역의 연산자는 단일 큐비트(single-qubit) 혹은 이중 큐비트(two-qubit)에 대한 유니테리 연산자들의 연속적인 시행으로 분해할 수 있다.<ref>이는 Trotter decomposition과 관련이 있다. Seth Lloyd, ''Science'' '''273''' 1073 (1996) 참고</ref> 단일 큐비트 게이트(single-qubit gate), 이중 큐비트 게이트(two-qubit gate)라고도 불리는 이 유니테리 연산자들과 큐비트들로 구성되어 있는 시스템을 양자 회로라고 부르고 이 회로 기반으로 수행되는 시뮬레이션을 디지털 양자 시뮬레이션이라고 부른다. 여기서 주목할만한 점은 모든 유니테리 연산자는 범용 양자 게이트(universal quantum gate)로 항상 분해할 수 있고 이로 인해 어떠한 계산도 가능해진다. 즉, 디지털 양자 시뮬레이션은 범용성을 지니고 있다. 이는 아날로그 양자 시뮬레이션과 가장 큰 차이점이다. 따라서 디지털 양자 시뮬레이션을 수행할 수 있는 기기는 범용 양자 시뮬레이터(universal quantum simulator), 또는 범용 양자 컴퓨터(quantum computer)라고 말할 수 있다. 하지만 아직 실험상 모든 양자 게이트들의 구현 및 최종 양자 상태에 대한 측정이 완벽하진 않다. = 양자 시뮬레이터의 필요성 = 파인만(Feynman)은 양자 모형을 고전적인 기기로 계산하는 것은 상당히 비효율적이지만 양자 기기는 효율적인 계산이 가능할 수 있다고 주장하였다 (Cirac, 2019).<ref name =Cirac></ref> 왜냐하면 양자 효과에 대응하는 고전 효과가 존재하지 않으므로, 이 양자 효과를 기반으로 하는 양자 기기는 고전 기기와다를 뿐만 아니라 성능이 더 좋을 것이라고 예측하였다. 이에 관한 예시로, 양자 이징 모형을 생각해보자. 양자 이징 모형을 구성하는 스핀-1/2 입자의 갯수가 20개라고 할 때, 이 모형의 해밀토니안을 기술하는데 고전 컴퓨터로는 $$2^{20} \times 2^{20}$$ 크기의 행렬을 계산하고 저장할 2^40 bits 15 TB의 메모리 공간이 필요하지만, 양자 컴퓨터로는 큐비트 20개면 된다. 그럼에도 불구하고, 고전 컴퓨터의 수치적인 방법을 사용하여 양자 모형을 계산하는 연구는 최근에도 상당히 많이 진행되고 있다. 완전 대각화 방법(exact diagonalization), 평균장 이론(mean-field theory), 밀도 함수 이론(density functional theory), 양자 몬테카를로 방법(quantum monte carlo method), 텐서 망 이론(tensor network theory) 등, 이들 모두 고전적인 수치 계산의 예시이다. 이 방법들로 인해 양자 다 체계(many-body system)에 대한 물성 연구가 크게 발전하였다. 하지만 각각의 수치적 방법마다 그 한계가 있기 때문에 양자시뮬레이터가 필요하다. 여러 개의 페르미온(fermions), 쩔쩔맴(frustration), 강한 얽힘(strong entanglement) 등 계산하기가 어려운 양자 계의 문제를 해결해 줄 것을 기대한다. 또한 양자 컴퓨터는 양자 알고리듬을를 바탕으로 여러가지 수학 문제들(소인수분해, 고유 방정식 문제)을 빠르게 풀어줄 것으로 예상된다. 물론 고전적인 이징 모델의 바닥상태(ground state)를 찾는 문제(NP-난해) 등 여전히 양자시뮬레이터 혹은 양자 컴퓨터로도 풀기 어려운 문제가 있긴 하지만, 제대로 동작하는 양자 시뮬레이터가 고전 시뮬레이터 보다 성능이 더 월등하다는 점은 의심의 여지가 없다. = 참고 문헌 = <references/> [[분류: 양자 시뮬레이션 | 양자 시뮬레이션 ]] [[분류:양자컴퓨팅 이론]]
요약:
한국양자정보학회 위키에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
한국양자정보학회 위키:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
계정 만들기
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보