-
폴 디랙, Quantum Mechanics of Many-Electron Systems(1929)
이 문구에서 물리학자인 폴 디랙(Paul Dirac)은 양자 역학이 모든 화학을 정확히 모델링하지만 관련 방정식을 정확히 시뮬레이션하면 너무 복잡해 보인다는 점을 아쉬워합니다.
리처드 파인만(Richard Feynman)도 1982년이 되어서야 양자 역학의 복잡성에 굴복하는 대신 이를 컴퓨팅 리소스로 활용할 수 있을지 모르겠다고 제안했습니다. 이런 이유로,
양자 컴퓨팅 연구를 진행하게 된 원래 동기는 양자 역학 법칙에 따라 컴퓨터를 작동하면 자연의 정확한 시뮬레이션 문제를 효율적으로 해결할 수 있으리라는 점이었습니다. 이러한 시뮬레이션을 통해 태양광 발전, 배터리, 신소재, 제약 및 초전도성과 같은 분야에서 획기적인 발전을 이룰 수 있을 것입니다. 우리는 아직 이러한 분야에서 오래 전부터 다루기 힘들었던 문제를 풀 수 있을 정도로 충분히 큰 양자 컴퓨터를 갖추고 있지는 않지만 빠른 속도로 진보가 이루어지고 있습니다. 작년에 Google은 초전도 큐비트 양자 컴퓨터를 사용하여 최초로 이루어진 분자의 양자 계산을 자세히 설명한
논문을 발표했습니다. 이러한 작업을 바탕으로, IBM의 양자 컴퓨팅 그룹은 더 큰 분자로 실험을 확장했으며, 마침내 지난달
네이처(Nature)의 표지를 장식했습니다.
오늘, 우리는 화학 및 재료 과학 분야의 문제를 기존 플랫폼에서 실행할 수 있는 양자 회로로 변환하는 데 사용할 수 있는 최초의 오픈소스 플랫폼인
OpenFermion의 출시를 발표합니다. OpenFermion은 상호 작용을 통해 물질의 속성이 생기게 하는 전자(페르미 입자) 시스템을 시뮬레이션하기 위한 라이브러리입니다. OpenFermion이 출시되기 전에는 양자 알고리즘 개발자가 가장 기초적인 양자 시뮬레이션을 수행하는 경우에도 화학을 상당히 많이 공부하고 다른 코드를 압도하는 막대한 양의 코드를 작성하여 이들 모두를 함께 적용해야 했습니다. 이 프로젝트는 Google에서 시작되었지만 취리히 연방 공과대학교, 미국 국립 로렌스 버클리 연구소, 미시간 대학교, 하버드 대학교, 옥스퍼드 대학교, 다트머스 대학교, 리게티 컴퓨팅 및 NASA의 공동 연구자가 모두 알파 릴리스에 기여했습니다. 이 릴리스에 대한 자세한 내용은
OpenFermion: The Electronic Structure Package for Quantum Computers 논문에서 확인할 수 있습니다.
OpenFermion은 화학 및 재료 시스템을 양자 컴퓨터에서 해석할 수 있는 표현으로 설명하는 물리 방정식을 생성하고 컴파일하기 위한 도구로 간주할 수 있습니다.
1. 이러한 문제에 대한 가장 효과적인 양자 알고리즘은 정부, 업계 및 학계에 걸쳐 화학 연구원이 사용하고 개발한
기존의 양자 화학 패키지의 성능을 기반으로 하며 이를 확장합니다. 이에 따라 우리는 기존의 전자 구조 패키지인
Psi4 및
PySCF와 함께 OpenFermion을 사용하기 위한 플러그인인
OpenFermion-Psi4와
OpenFermion-PySCF도 출시합니다.
핵심 OpenFermion 라이브러리는 커뮤니티에서 개발되고 있는 다양한 플랫폼과 호환되도록 양자 프로그래밍 프레임워크에 구속되지 않는 방식으로 설계되었습니다. 따라서 OpenFermion은 다양한 하드웨어 플랫폼을 위한 양자 어셈블리 언어 사양을 컴파일하는 외부 패키지를 지원할 수 있습니다. 우리는 이러한 결정이 양자 컴퓨터에 양자 화학을 적용하기 위한 커뮤니티 표준으로서 OpenFermion을 확립하는 데 도움이 되기를 바랍니다. OpenFermion이 다양한 양자 프로그래밍 프레임워크에 어떤 식으로 사용되는지 보려면
OpenFermion-ProjectQ 플러그인과
Forest-OpenFermion 플러그인을 살펴보시기 바랍니다. 이들 플러그인은 각각
ProjectQ와
Forest라고 알려져 있는 외부 개발 회로 시뮬레이션 및 컴파일 플랫폼에 OpenFermion을 연결해 줍니다.
다음 워크플로에서는 양자 화학자가 분자의 에너지 표면을 시뮬레이션하기 위해 OpenFermion을 활용할 수 있는 방법을 설명합니다(예:
지난 블로그 게시물에서 설명한 부류의 양자 계산 준비).
- 연구자가 다음을 지정하여 OpenFermion 계산을 초기화합니다.
- 분자 핵의 좌표를 지정하는 입력 파일
- 분자 구분에 사용해야 하는 기저집합(예: cc-pVTZ)
- 시스템의 전하 및 스핀 다중도(알려진 경우)
- 연구자가 OpenFermion-Psi4 플러그인 또는 OpenFermion-PySCF 플러그인을 사용하여 양자 계산을 최적으로 준비하는 데 사용되는 확장 가능한 기존의 계산법을 수행합니다. 이를테면, 기존의 하트리-폭(Hartree-Fock) 계산법을 수행하여 양자 시뮬레이션에 적합한 초기 상태를 선택할 수 있습니다.
- 그런 다음, 양자 컴퓨터에서 연구하기에 가장 흥미를 끄는 전자(활성 공간이라고 함)를 지정하고 OpenFermion에서 사용할 수 있는 프로시저 중 하나(예: 브라비-키타예프(Bravyi-Kitaev) 변환)를 사용하여 이러한 전자에 대한 방정식을 양자 비트에 적합한 표현으로 매핑할 것을 OpenFermion에 요청합니다.
- 연구자가 관심을 둔 속성에 대해 해결할 양자 알고리즘을 선택하고 OpenFermion-ProjectQ와 같은 양자 컴파일 프레임워크를 사용하여 양자 컴퓨터에서 실행 가능한 어셈블리 언어로 양자 회로를 출력합니다. 연구자가 양자 컴퓨터에 액세스할 수 있는 경우 실험을 실행합니다.
OpenFermion을 사용하여 할 수 있는 작업에 대한 몇 가지 예가 ipython 노트북에서 시연됩니다(
여기,
여기,
여기 참조). 양자 시뮬레이션이 단기간 내에 양자 컴퓨팅의 가장 중요한 응용 사례 중 하나로 널리 알려진 반면, 양자 화학을 아는 양자 컴퓨터 과학자는 극히 드물고 양자 컴퓨팅을 아는 화학자는 훨씬 더 드뭅니다. 우리는 OpenFermion이 이러한 커뮤니티 사이의 격차를 좁히는 데 도움이 되고 양자 컴퓨팅의 힘을 화학자와 재료 과학자에게 실어줄 수 있게 되기를 바랍니다. 관심 있으신 분은
GitHub 저장소를 확인해 보시기 바랍니다. 언제든지 끌어오기 요청을 보내주세요!
1 전문가들을 위해 한 문장만 꼽을 수 있다고 한다면 'OpenFermion의 기본 기능은 다양한 기저집합과 활성 공간으로 정의되는 이차양자화로 전자 구조 문제를 인코딩한 후 큐비트와 페르미 입자 대수학 간의 다양한 동형사상을 사용하여 이들 연산자를 스핀 해밀턴 연산자로 변환한다'라는 문장입니다.↩