OpenFermion: the electronic structure package for quantum computers
Jarrod R. McClean, Nicholas C. Rubin, Kevin J. Sung, Ian Kivlichan, Xavier Bonet-Monroig, Yudong Cao, Chengyu Dai, Eliot Fried, Craig Gidney, Brendan Gimby, Pranav Gokhale, Thomas Häner, Tarini Hardikar, Vojtěch Havlíček, Oscar Higgott, Cupjin Huang, Josh Izaac, Jiang Zhang, Xinle Liu, Sam McArdle, M. Neeley, Thomas O’Brien, Bryan O’Gorman, Isil Ozfidan, Maxwell D. Radin, Jonathan Romero, Nicolas P. D. Sawaya, Bruno Senjean, Kanav Setia, Sukin Sim, Damian S. Steiger, Mark Steudtner, Qiming Sun, W. Sun, Daochen Wang, Fang Zhang, Ryan Babbush
Abstract
Abstract Quantum simulation of chemistry and materials is predicted to be an important application for both near-term and fault-tolerant quantum devices. However, at present, developing and studying algorithms for these problems can be difficult due to the prohibitive amount of domain knowledge required in both the area of chemistry and quantum algorithms. To help bridge this gap and open the field to more researchers, we have developed the OpenFermion software package ( www.openfermion.org ). OpenFermion is an open-source software library written largely in Python under an Apache 2.0 license, aimed at enabling the simulation of fermionic and bosonic models and quantum chemistry problems on quantum hardware. Beginning with an interface to common electronic structure packages, it simplifies the translation between a molecular specification and a quantum circuit for solving or studying the electronic structure problem on a quantum computer, minimizing the amount of domain expertise required to enter the field. The package is designed to be extensible and robust, maintaining high software standards in documentation and testing. This release paper outlines the key motivations behind design choices in OpenFermion and discusses some basic OpenFermion functionality which we believe will aid the community in the development of better quantum algorithms and tools for this exciting area of research.