SQD와 SKQD
이 챕터에서는 양자 컴퓨터와 고전 컴퓨터가 협력하여 과학에서 가장 중요한 과제 중 하나인 분자 및 물질의 에너지를 정확하게 추정하는 방법을 살펴봅니다.
Iskandar Sitdikov가 다음 영상에서 알고리즘적 접근 방식을 설명합니다.
해밀토니안
이 문제의 핵심은 수학적 연산자인 해밀토니안(Hamiltonian)으로, 이는 시스템의 전체 에너지를 나타냅니다. 계산 목적상 이 해밀토니안을 큰 행렬로 생각할 수 있습니다. 우리가 찾는 해—특히 시스템의 바닥 상태(ground state)—는 이 행렬의 가장 낮은 고유값입니다. 그러나 실제 문제에서 이 해밀토니안 행렬은 매우 큽니다. 시스템의 크기에 따라 지수적으로 증가하여 (이 Qubit 수일 때 ) 가장 강력한 슈퍼컴퓨터조차 직접 저장하거나 풀기 어렵게 됩니다.
이를 해결하기 위해 부분 공간(subspace) 방법이라는 강력한 전략을 사용합니다. 전체 행렬을 직접 다루는 대신, 우리가 찾는 저에너지 해에 관한 가장 중요한 정보를 담고 있다고 판단되는 작고 관련성 높은 조각—"부분 공간"—을 지능적으로 선택합니다.
기저 상태들의 집합 으로 이 작은 부분 공간이 정의되면, 전체 해밀토니안을 그 위에 투영하여 새롭고 더 작은 행렬 를 만듭니다. 이 행렬의 각 원소는 부분 공간 기저 상태와 원래 해밀토니안으로부터 와 같이 계산됩니다. 이 작은 행렬은 고전 컴퓨터에서 쉽게 대각화할 수 있으며, 결과 고유값이 추정 에너지가 됩니다.
짐작하시듯, 이 전체 접근법의 성공은 "좋은" 부분 공간을 선택하는 데 크게 달려 있습니다. 부분 공간이 진짜 바닥 상태를 정확하게 나타내지 못하면 최종 답도 틀리게 됩니다. 여기서 양자 컴퓨터가 등장합니다. 양자 컴퓨터를 이용하면 이 중요한 부분 공간을 찾아내도록 설계된 복잡한 양자 상태를 준비하고 샘플링할 수 있습니다. 복잡한 화학 구조나 결합 부위 같은 정말 거대한 문제에서는 투영된 행렬조차 대각화하기 어려울 수 있습니다. 따라서 이러한 문제는 양자 컴퓨팅과 고전 컴퓨팅 자원의 강점을 모두 활용하기에 이상적입니다.
다음 섹션에서는 양자 역학을 활용하여 이러한 부분 공간을 찾고 구성하는 두 가지 고급 알고리즘인 SQD와 SKQD를 살펴봅니다. 더 깊이 알고 싶다면 IBM Quantum 학습 플랫폼에 이 주제를 상세히 다루는 전체 강좌가 마련되어 있습니다. 이 강좌에서는 높은 수준의 설명에 집중합니다.
샘플 기반 양자 대각화 (Sample-based Quantum Diagonalization)
샘플 기반 양자 대각화(SQD)는 부분 공간 방법을 양자적 방식으로 구현하는 강력한 변분 알고리즘입니다. SQD는 Hadamard 테스트 같은 비용이 많이 드는 복잡한 절차를 피하고, 양자 컴퓨터를 사용하여 시행 상태(trial state)를 준비하고 *비트 문자열(bitstring)*을 샘플링하여 고전 대각화를 위한 부분 공간을 정의합니다.
SQD 알고리즘은 다음 단계로 분해할 수 있습니다:
1단계: 앤사츠(Ansatz) 상태 준비
큐비트에 대한 해밀토니안을 라 할 때, 진짜 바닥 상태는 모든 개의 기저 상태에 걸쳐 지지될 수 있습니다. SQD는 바닥 상태가 희소한 부분 공간(다항식 크기의 비트 문자열 집합)으로 잘 근사될 수 있는 경우에 가장 효과적입니다.
이 부분 공간을 구성하기 위해, 화학에서 Hartree-Fock(HF) 상태와 같은 입력 상태 에서 시작합니다. 그런 다음 앤사츠라고 불리는 파라미터화된 양자 Circuit인 를 적용합니다.
이 다이어그램은 좋은 앤사츠의 목표를 설명합니다. 앤사츠는 지지(support, 즉 구성하는 기저 상태의 집합)가 진짜 바닥 상태의 지지와 이상적으로 큰 겹침을 갖는 양자 상태를 준비합니다. 이 Circuit을 통해 앤사츠를 계산 기저 상태로 신속하게 투영할 수 있으며, 이는 이후 고전 대각화에 활용됩니다. 다시 말해, 앤사츠가 바닥 상태 자체일 필요는 없습니다. 동일한 기저 상태를 포함하기만 하면 됩니다. 그러면 투영된 해밀토니안의 고전 대각화가 바닥 상태를 가장 잘 근사하는 기저 상태들의 중첩을 제공합니다.
2단계: 부분 공간 샘플링
앤사츠로 준비된 Circuit에서 샘플링하면 비트 문자열 모음 을 얻습니다. 이 비트 문자열들이 선택한 부분 공간의 기저를 정의합니다. 이 단계의 양자 실행 시간은 Circuit의 깊이와 샘플 수에 의해 결정됩니다.
3단계: 고전적으로 투영 및 대각화
샘플링된 비트 문자열을 사용하여 해밀토니안을 그들이 생성하는 부분 공간으로 투영합니다. 각 비트 문자열 쌍 에 대해 행렬 원소 를 고전적으로 계산합니다. 파울리 연산자는 희소하기 때문에, 이 단계는 물리적 해밀토니안에 대해 고전적으로 효율적입니다. 결과로 얻은 작은 행렬 는 고전 프로세서에서 대각화되어 바닥 상태와 그 에너지를 추정합니다.