{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/openfermion-the-electronic-structure-package","title":"OpenFermion: The Electronic Structure Package for Quantum Computers","arxiv_id":"1710.07629","date":"2017-10-20","proceeding":null,"authors":["Jarrod R. McClean","Kevin J. Sung","Ian D. Kivlichan","Yudong Cao","Chengyu Dai","E. Schuyler Fried","Craig Gidney","Brendan Gimby","Pranav Gokhale","Thomas Häner","Tarini Hardikar","Vojtěch Havlíček","Oscar Higgott","Cupjin Huang","Josh Izaac","Zhang Jiang","Xinle Liu","Sam McArdle","Matthew Neeley","Thomas O'Brien","Bryan O'Gorman","Isil Ozfidan","Maxwell D. Radin","Jhonathan Romero","Nicholas Rubin","Nicolas P. D. Sawaya","Kanav Setia","Sukin Sim","Damian S. Steiger","Mark Steudtner","Qiming Sun","Wei Sun","Daochen Wang","Fang Zhang","Ryan Babbush"],"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 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.","url_abs":"http://arxiv.org/abs/1710.07629v3","url_pdf":"http://arxiv.org/pdf/1710.07629v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/ProjectQ-Framework/FermiLib","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/qchemsoftware/openfermion-qchem","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/quantumlib/OpenFermion","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/quantumlib/OpenFermion-Cirq","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/quantumlib/OpenFermion-ProjectQ","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/quantumlib/OpenFermion-Psi4","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"LGPL-3.0"}},{"paper_slug":"openfermion-the-electronic-structure-package","repo_url":"https://github.com/quantumlib/OpenFermion-PySCF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1710.07629","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1710.07629"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/quantumlib/OpenFermion-ProjectQ","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/quantumlib/OpenFermion","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/quantumlib/OpenFermion-Psi4","reach":{"status":"ok","spdx":"LGPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/olansog/bidlabs-sherlock-fermion-code","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/quantumlib/OpenFermion-PySCF","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/qchemsoftware/openfermion-qchem","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ProjectQ-Framework/FermiLib","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/quantumlib/OpenFermion-Cirq","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":26},"by_repo_kind":{"listed":{"samples":26,"ran":0,"repositories":5}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"179fd3eb8aebad25","entry":"abbreviate_command_arguments_after_switches","repo":"olansog/bidlabs-sherlock-fermion-code","repo_kind":"listed","path":"dev_tools/shell_tools.py","file_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code/blob/HEAD/dev_tools/shell_tools.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"179fd3eb8aebad25"}},{"code_sha256_prefix":"fe6beac2afb1b241","entry":"angstroms_to_bohr","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/chem/molecular_data.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/chem/molecular_data.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fe6beac2afb1b241"}},{"code_sha256_prefix":"24fec827df86cb55","entry":"bohr_to_angstroms","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/chem/molecular_data.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/chem/molecular_data.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"24fec827df86cb55"}},{"code_sha256_prefix":"8efd3f3201b09054","entry":"bubble_sort","repo":"qchemsoftware/openfermion-qchem","repo_kind":"listed","path":"openfermionqchem/_qchem_functiontools.py","file_url":"https://github.com/qchemsoftware/openfermion-qchem/blob/HEAD/openfermionqchem/_qchem_functiontools.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8efd3f3201b09054"}},{"code_sha256_prefix":"6a28070450714bdd","entry":"determinants","repo":"qchemsoftware/openfermion-qchem","repo_kind":"listed","path":"openfermionqchem/_qchem_functiontools.py","file_url":"https://github.com/qchemsoftware/openfermion-qchem/blob/HEAD/openfermionqchem/_qchem_functiontools.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6a28070450714bdd"}},{"code_sha256_prefix":"a8daa6874ac569cb","entry":"diff_to_new_interesting_lines","repo":"olansog/bidlabs-sherlock-fermion-code","repo_kind":"listed","path":"dev_tools/incremental_coverage.py","file_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code/blob/HEAD/dev_tools/incremental_coverage.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a8daa6874ac569cb"}},{"code_sha256_prefix":"3d811e1576d60e4b","entry":"fact","repo":"qchemsoftware/openfermion-qchem","repo_kind":"listed","path":"openfermionqchem/_qchem_functiontools.py","file_url":"https://github.com/qchemsoftware/openfermion-qchem/blob/HEAD/openfermionqchem/_qchem_functiontools.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3d811e1576d60e4b"}},{"code_sha256_prefix":"598ac4505b0f44d0","entry":"fill_full_matrix","repo":"qchemsoftware/openfermion-qchem","repo_kind":"listed","path":"openfermionqchem/_qchem_parser.py","file_url":"https://github.com/qchemsoftware/openfermion-qchem/blob/HEAD/openfermionqchem/_qchem_parser.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"598ac4505b0f44d0"}},{"code_sha256_prefix":"c40e203f33e18343","entry":"fix_line_from_coverage_file","repo":"olansog/bidlabs-sherlock-fermion-code","repo_kind":"listed","path":"dev_tools/incremental_coverage.py","file_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code/blob/HEAD/dev_tools/incremental_coverage.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c40e203f33e18343"}},{"code_sha256_prefix":"2423058f3e5bbbfa","entry":"geometry_from_pubchem","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/chem/pubchem.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/chem/pubchem.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2423058f3e5bbbfa"}},{"code_sha256_prefix":"bf7fa4434e39a565","entry":"highlight","repo":"olansog/bidlabs-sherlock-fermion-code","repo_kind":"listed","path":"dev_tools/shell_tools.py","file_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code/blob/HEAD/dev_tools/shell_tools.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bf7fa4434e39a565"}},{"code_sha256_prefix":"f6b4466b04d918d4","entry":"index_of_position_in_1d_array","repo":"quantumlib/OpenFermion-ProjectQ","repo_kind":"listed","path":"openfermionprojectq/_parallel_bubble_sort.py","file_url":"https://github.com/quantumlib/OpenFermion-ProjectQ/blob/HEAD/openfermionprojectq/_parallel_bubble_sort.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f6b4466b04d918d4"}},{"code_sha256_prefix":"6e1651ebdde223f3","entry":"is_sorted_array_of_nd_positions","repo":"quantumlib/OpenFermion-ProjectQ","repo_kind":"listed","path":"openfermionprojectq/_parallel_bubble_sort.py","file_url":"https://github.com/quantumlib/OpenFermion-ProjectQ/blob/HEAD/openfermionprojectq/_parallel_bubble_sort.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6e1651ebdde223f3"}},{"code_sha256_prefix":"721d851992e9a94d","entry":"lambda_norm","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/circuits/lcu_util.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/circuits/lcu_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"721d851992e9a94d"}},{"code_sha256_prefix":"7ef5e44955306241","entry":"name_molecule","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/chem/molecular_data.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/chem/molecular_data.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7ef5e44955306241"}},{"code_sha256_prefix":"60dc74e8998881f1","entry":"one_body_basis_change","repo":"ProjectQ-Framework/FermiLib","repo_kind":"listed","path":"src/fermilib/ops/_interaction_tensor.py","file_url":"https://github.com/ProjectQ-Framework/FermiLib/blob/HEAD/src/fermilib/ops/_interaction_tensor.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"60dc74e8998881f1"}},{"code_sha256_prefix":"01ae70a7c6aea6b1","entry":"parallel_bubble_sort","repo":"quantumlib/OpenFermion-ProjectQ","repo_kind":"listed","path":"openfermionprojectq/_parallel_bubble_sort.py","file_url":"https://github.com/quantumlib/OpenFermion-ProjectQ/blob/HEAD/openfermionprojectq/_parallel_bubble_sort.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"01ae70a7c6aea6b1"}},{"code_sha256_prefix":"e06d6ed50efaf55a","entry":"parse","repo":"qchemsoftware/openfermion-qchem","repo_kind":"listed","path":"openfermionqchem/_qchem_parser.py","file_url":"https://github.com/qchemsoftware/openfermion-qchem/blob/HEAD/openfermionqchem/_qchem_parser.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e06d6ed50efaf55a"}},{"code_sha256_prefix":"34062f6a49554c7e","entry":"periodic_table","repo":"qchemsoftware/openfermion-qchem","repo_kind":"listed","path":"openfermionqchem/_qchem_parser.py","file_url":"https://github.com/qchemsoftware/openfermion-qchem/blob/HEAD/openfermionqchem/_qchem_parser.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"34062f6a49554c7e"}},{"code_sha256_prefix":"e84fa36ba99f6dcb","entry":"preprocess_lcu_coefficients_for_reversible_sampling","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/circuits/lcu_util.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/circuits/lcu_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e84fa36ba99f6dcb"}},{"code_sha256_prefix":"f43b4c5d110c3d62","entry":"run_shell","repo":"olansog/bidlabs-sherlock-fermion-code","repo_kind":"listed","path":"dev_tools/shell_tools.py","file_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code/blob/HEAD/dev_tools/shell_tools.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f43b4c5d110c3d62"}},{"code_sha256_prefix":"69e0ebd0ee933c16","entry":"shift_decoder","repo":"olansog/bidlabs-sherlock-fermion-code","repo_kind":"listed","path":"src/openfermion/ops/_binary_code.py","file_url":"https://github.com/olansog/bidlabs-sherlock-fermion-code/blob/HEAD/src/openfermion/ops/_binary_code.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"69e0ebd0ee933c16"}},{"code_sha256_prefix":"eed471709a9b0a3b","entry":"two_body_basis_change","repo":"ProjectQ-Framework/FermiLib","repo_kind":"listed","path":"src/fermilib/ops/_interaction_tensor.py","file_url":"https://github.com/ProjectQ-Framework/FermiLib/blob/HEAD/src/fermilib/ops/_interaction_tensor.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eed471709a9b0a3b"}},{"code_sha256_prefix":"3b91d0e5517cd972","entry":"uccsd_convert_amplitude_format","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/circuits/unitary_cc.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/circuits/unitary_cc.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b91d0e5517cd972"}},{"code_sha256_prefix":"9e7253ceb0973883","entry":"uccsd_singlet_paramsize","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/circuits/unitary_cc.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/circuits/unitary_cc.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9e7253ceb0973883"}},{"code_sha256_prefix":"d8b172a8142843da","entry":"wrap_module","repo":"quantumlib/OpenFermion","repo_kind":"listed","path":"src/openfermion/_compat.py","file_url":"https://github.com/quantumlib/OpenFermion/blob/HEAD/src/openfermion/_compat.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d8b172a8142843da"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}