샘플 기반 양자 대각화(SQD)
이 패키지는 샘플 기반 양자 대각화(SQD)를 구현합니다. SQD는 양자 시스템의 해밀토니안과 같은 양자 연산자의 고윳값과 고유벡터를 찾는 기법입니다 [1–6]. 파울리 연산자의 선형 결합이나 2차 양자화된 페르미온 연산자로 표현된 해밀토니안을 대상으로 할 수 있습니다. SQD 기반 워크플로는 현재의 양자 컴퓨터에서 실행할 수 있으며, 변분 방법으로 가능했던 문제 크기를 넘어, 심지어 정확한 고전 대각화 방법의 한계까지 넘어서는 규모로 확장됨이 입증되었습니다.
SQD 기반 워크플로는 먼저 양자 장치에서 하나 이상의 양자 상태를 준비하고 그로부터 샘플링하는 것으로 시작합니다. 그런 다음 고전 분산 컴퓨팅으로 노이즈가 있는 샘플을 처리합니다. 이 처리는 두 단계로 반복적으로 이루어집니다. 먼저 구성 복원 단계에서 입력 문제에 대한 정보를 사용해 노이즈가 있는 샘플을 보정하고, 다음으로 해밀토니안을 그 샘플이 span하는 부분공간에 투영하여 대각화합니다. 이 단계들은 수렴할 때까지 자기 일관적으로 반복됩니다. 그 결과 주어진 해밀토니안의 근사된 최저 고윳값(에너지)과 최저 에너지 고유 상태를 얻습니다. SQD는 양자 노이즈로 손상된 샘플에 강건합니다. 실제로 양자 컴퓨터에서 유용한 신호를 얻을 수만 있다면, SQD의 결과는 노이즈가 있는 비트열에 영향을 받지 않습니다.
qiskit-addon-sqd는 실제로 다양한 양자 회로에서 뽑은 샘플을 고전적으로 처리하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- 회로를 샘플링하면 목표 파동함수(예: 바닥 상태)가 유의미한 지지를 갖는 전자 구성이 만들어지도록 매개변수를 선택한 변분 회로 앤사츠. 해밀토니안이 수백만 개의 상호작용 항을 가질 수 있는 화학 응용에 매력적입니다 [1]. LUCJ 회로를 사용해 이 방식을 화학에 적용한 예는 N2 분자의 바닥 상태 에너지 근사 튜토리얼을 참고하세요.
- 시간 간격을 늘려 가며 준비한 크릴로프 기저 상태의 집합. 좋은 초기 상태와 바닥 상태의 희소성을 가정하면 이 방식은 효율적으로 수렴함이 증명되었습니다. 양자 장치에서 트로터화된 시간 발전 회로를 준비해야 하므로, 이 방식은 양자 화학과 같은 복잡한 다체 해밀토니안보다 격자 모형 [2]에 적용하는 데 가장 적합합니다. 이 방식을 페르미온 격자 해밀토니안에 적용한 예는 단순화된 단일 불순물 앤더슨 모형의 바닥 상태 에너지 근사 튜토리얼을 참고하세요.
- 시간 발전 연산자의 qDRIFT 무작위 컴파일로 구현한 크릴로프 기저 상태의 집합. 이 방식은 시간 발전의 트로터 기반 분해보다 깊이가 짧은 회로를 만들어 내므로 양자 화학 해밀토니안에 사용할 수 있습니다. 이 기법은 다환 방향족 탄화수소의 바닥 상태 에너지에 적용된 바 있습니다 [6].
시작하기
이 패키지를 빠르게 시작하는 데 도움이 되는 간단한 가이드는 퀵스타트 가이드에서 볼 수 있습니다.
활용 사례 예시
샘플 기반 양자 대각화 기법은 다양한 워크플로를 구현하는 데 사용할 수 있습니다. 사용된 사례의 몇 가지 예는 다음과 같습니다.
-
철-황 클러스터의 바닥 상태 에너지에 대한 전자 구조 계산
-
유전체의 밴드 갭을 예측하기 위한 바닥 상태 에너지 추정
-
낮은 에너지의 분자 들뜬 상태 추정
-
분자 간 상호작용 시뮬레이션
-
전자 구조 시뮬레이션에서 용질-용매 상호작용 연구
-
분자 해리의 개방 껍질(open-shell) 분석
-
광화학 문제의 반응 경로 모델링
-
엔탱글먼트 포징(entanglement forging)과 결합하여 수소 추출을 통한 재료 열화의 반응 경로 연구
-
양자 크릴로프(Krylov) 기저 상태로 부분공간을 구성하여 페르미온 계의 불순물 모델에 대한 바닥 상태 시뮬레이션 수행
-
qDRIFT 무작위 컴파일을 사용하여 화학 해밀토니안에 대한 크릴로프 기저 상태 구현의 오버헤드를 낮추고, 하프 뫼비우스 전자 위상을 보이는 분자에 적용
-
분자 계의 임베딩 및 분할(fragmentation) 방법에서 SQD를 솔버로 사용하여, 수소 고리와 사이클로헥세인 및 이금속·삼금속 착물의 에너지 계산, 산소 환원 반응 연구, 단백질 및 단백질-리간드 복합체의 에너지 추정, 삼중수소 화학종 분포 예측 등을 수행
기술적 논의
시스템 크기와 계산 요구 사항
SQD의 계산 비용은 고유상태 솔버 호출이 대부분을 차지합니다. 자기 일관적 구성 복구 반복의 각 단계마다 n_batches개의 고유상태 솔버 호출이 수행됩니다. 이 호출들은 서로 완전히 병렬로 실행할 수 있습니다(embarrassingly parallel). 이 튜토리얼에서는 해당 호출이 for 루프 안에 있습니다. 이 호출들을 병렬로 수행하는 것을 강력히 권장합니다.
qiskit_addon_sqd.fermion.solve_fermion() 함수는 멀티스레드로 동작하며, 코어 ~10-30개를 사용하여 공간 오비탈 ~25개, 전자 ~10개, 부분공간 차원 ~$10^7$ 정도의 시스템을 처리할 수 있습니다.
부분공간 차원 선택
부분공간 차원의 선택은 고유상태 솔버의 정확도와 실행 시간에 영향을 줍니다. 부분공간이 클수록 계산이 더 정확해지지만, 실행 시간과 메모리 요구량이 늘어납니다. 주어진 시스템에 대한 최적의 부분공간 크기는 알려져 있지 않으므로, 이 가이드에 설명된 대로 부분공간 차원에 대한 수렴 연구를 수행할 수 있습니다.
부분공간 차원의 상한 설정
qiskit_addon_sqd.fermion.diagonalize_fermionic_hamiltonian()의 samples_per_batch 인자는 각 배치에 포함되는 비트열의 개수를 정하며, 이를 통해 부분공간 차원을 간접적으로 제어합니다. 양자 화학 응용에서는 이 값이 부분공간 차원의 상한을 정합니다. 실제로 얻어지는 차원은 샘플링된 비트열 중 서로 다른 것이 몇 개인지에 따라 달라지고 자기 일관적 구성 복구 반복이 진행되면서 커지므로, 미리 알 수는 없습니다. 자세한 내용은 이 예제를 참고하세요.
같은 함수의 max_dim 인자는 각 스핀 섹터에 유지되는 CI 문자열의 수를 제한하여 차원을 직접 제한합니다. 부분공간은 두 스핀 섹터의 데카르트 곱으로 생성되므로 max_dim=d는 부분공간 차원을 d**2로 제한하고, 튜플 max_dim=(d_a, d_b)는 스핀 알파 섹터와 스핀 베타 섹터를 따로 제한하여 부분공간 차원을 d_a * d_b로 제한합니다(symmetrize_spin=True인 경우 두 제한값은 같아야 합니다). 한 배치에서 제한보다 많은 CI 문자열이 나오면 include_configurations로 요청한 문자열과 이전 반복에서 넘어온 문자열이 우선적으로 유지되고, 남은 자리는 가장 자주 샘플링된 문자열로 채워집니다. max_dim은 고유상태 솔버가 수행해야 하는 가장 큰 대각화의 크기를 제한하므로, 솔버를 실행 시간과 메모리 예산 안에 유지하는 편리한 방법입니다. 자세한 내용은 이 가이드를 참고하세요.
솔버
사영과 대각화 단계는 고전 솔버가 수행합니다. 여기에서는 페르미온 계용과 큐비트 계용, 두 가지 범용 솔버를 제공합니다. 특정 시스템에 더 효율적일 수 있는 다른 솔버는 사용자가 연결하여 사용할 수 있습니다.
Trim SQD
표준 SQD는 부분 샘플링된 각 배치를 독립적으로 대각화하고 가장 좋은 결과를 유지하므로, 고려할 수 있는 구성의 수가 감당 가능한 하나의 부분공간이 담을 수 있는 양으로 제한됩니다. 반면 Trim SQD는 비트열을 여러 배치로 나누고 각 배치에 대해 중간 대각화를 수행한 다음, 각 분할에서 가중치가 가장 큰 행렬식(determinant)들을 사용하여 더 큰 대각화를 수행합니다. 이 방법은 Cleveland Clinic Foundation, RIKEN, IBM의 공동 연구 [7]에 기반하며, TrimPolicy 객체를 diagonalize_fermionic_hamiltonian() 함수에 전달하여 활성화할 수 있습니다.
기여하기
소스 코드는 GitHub에서 확인할 수 있습니다.
개발자 가이드는 이 프로젝트 저장소의 루트에 있는 CONTRIBUTING.md에 있습니다. 참여하시는 분은 Qiskit의 행동 강령을 지켜 주시기 바랍니다.
요청 사항과 버그 추적에는 GitHub 이슈를 사용합니다.
이 패키지 인용하기
연구에서 이 패키지를 사용하신다면, 이 프로젝트 저장소의 CITATION.bib 파일을 사용하여 적절한 참고 문헌을 인용해 주세요.
감사의 말
이 패키지에는 자기 일관적 구성 복구 루프 안에서 중간 대각화 결과를 바탕으로 행렬식을 다듬는(trim) 선택적 샘플링 전략이 포함되어 있습니다. 이 구현은 Cleveland Clinic Foundation, RIKEN, IBM의 공동 연구에 기반합니다. 연구에서 이 기능을 사용하신다면 해당 논문의 인용도 함께 사용해 주세요. 논문의 인용은 CITATION.bib 파일에서 인용 키 merz2026crossing으로 찾을 수 있습니다. 해당 논문의 전체 워크플로 구현이 곧 GitHub에 공개될 예정입니다.
라이선스
지원 중단 정책
유의적 버전 관리를 따릅니다. 사용자 경험을 개선하기 위해 때때로 호환성을 깨는 변경을 할 수 있습니다. 가능한 경우 새 인터페이스와 공존할 수 있는 한 기존 인터페이스를 유지하고 지원 중단(deprecated)으로 표시합니다. 모든 주요 개선, 호환성을 깨는 변경, 지원 중단은 릴리스 노트에 문서화됩니다.
참고 문헌
-
Javier Robledo-Moreno, et al., Chemistry Beyond Exact Solutions on a Quantum-Centric Supercomputer, arXiv:2405.05068 [quant-ph].
-
Jeffery Yu, et al., Quantum-Centric Algorithm for Sample-Based Krylov Diagonalization, arXiv:2501.09702 [quant-ph].
-
Keita Kanno, et al., Quantum-Selected Configuration Interaction: classical diagonalization of Hamiltonians in subspaces selected by quantum computers, arXiv:2302.11320 [quant-ph].
-
Kenji Sugisaki, et al., Hamiltonian simulation-based quantum-selected configuration interaction for large-scale electronic structure calculations with a quantum computer, arXiv:2412.07218 [quant-ph].
-
Mathias Mikkelsen, Yuya O. Nakagawa, Quantum-selected configuration interaction with time-evolved state, arXiv:2412.13839 [quant-ph].
-
Samuele Piccinelli, et al., Quantum chemistry with provable convergence via randomized sample-based Krylov quantum diagonalization, arXiv:2508.02578 [quant-ph].
-
Kenneth M. Merz Jr., et al., Crossing the 12,000-atom barrier with heterogeneous quantum-classical supercomputing: quantum chemistry of protein-ligand complexes, arXiv:2605.01138 [quant-ph].