.. image:: https://travis-ci.org/ProjectQ-Framework/FermiLib.svg?branch=master :target: https://travis-ci.org/ProjectQ-Framework/FermiLib
.. image:: https://coveralls.io/repos/github/ProjectQ-Framework/FermiLib/badge.svg :target: https://coveralls.io/github/ProjectQ-Framework/FermiLib
.. image:: https://readthedocs.org/projects/fermilib/badge/?version=latest :target: http://fermilib.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
FermiLib is an open source effort for compiling and analyzing quantum simulation algorithms.
The current version is an alpha release which features data structures and tools for obtaining and manipulating representations of fermionic Hamiltonians. FermiLib is designed as a library on top of ProjectQ <https://github.com/ProjectQ-Framework/ProjectQ>
and leverages ProjectQ to compile, emulate and simulate quantum circuits. There are also plugins <http://projectq.ch/code-and-docs/#Fermilib>
available for FermiLib.
You may also be interested in OpenFermion <http://openfermion.org>
__, an actively developed FermiLib fork which is designed without an explicit dependency on ProjectQ in order to support a variety of circuit compilation and simulation frameworks.
To start using FermiLib, follow the installation instructions in the intro <http://fermilib.readthedocs.io/en/latest/intro.html>
. There, you will also find code examples <http://fermilib.readthedocs.io/en/latest/examples.html>
. Also, make sure to check out the ProjectQ website <http://www.projectq.ch>
and the detailed code documentation <http://fermilib.readthedocs.io/en/latest/fermilib.html>
. Alternatively, consider creating a Docker container defined by the Dockerfile found inside the docker directory. Moreover, take a look at the available plugins for FermiLib.
In order to generate molecular hamiltonians in Gaussian basis sets and perform other complicated electronic structure calculations, one can install plugins. We currently support Psi4 (plugin here <https://github.com/ProjectQ-Framework/FermiLib-Plugin-Psi4>
, recommended) and PySCF (plugin here <https://github.com/ProjectQ-Framework/FermiLib-Plugin-PySCF>
).
To contribute code please adhere to the following very simple rules:
Documentation can be found here <http://fermilib.readthedocs.io/>
_.
The first release of FermiLib (v0.1a0) was developed by Ryan Babbush <https://research.google.com/pubs/RyanBabbush.html>
, Jarrod McClean <https://crd.lbl.gov/departments/computational-science/ccmc/staff/alvarez-fellows/jarrod-mcclean/>
, Damian S. Steiger <http://www.comp.phys.ethz.ch/people/person-detail.html?persid=165677>
, Ian D. Kivlichan <http://aspuru.chem.harvard.edu/ian-kivlichan/>
, Thomas Häner <http://www.comp.phys.ethz.ch/people/person-detail.html?persid=179208>
, Vojtech Havlicek <https://github.com/VojtaHavlicek>
, Matthew Neeley <https://maffoo.net/>
, and Wei Sun <https://github.com/Spaceenter>
.
When using FermiLib for research projects, please cite:
Jarrod R. McClean, Ian D. Kivlichan, Kevin J. Sung, Damian S. Steiger,
Yudong Cao, Chengyu Dai, E. Schuyler Fried, Craig Gidney, Brendan Gimby,
Thomas Häner, Tarini Hardikar, Vojtĕch Havlíček, Cupjin Huang, Zhang Jiang,
Matthew Neeley, Thomas O'Brien, Isil Ozfidan, Maxwell D. Radin, Jhonathan Romero,
Nicholas Rubin, Nicolas P. D. Sawaya, Kanav Setia, Sukin Sim, Mark Steudtner,
Wei Sun, Fang Zhang and Ryan Babbush.
*OpenFermion: The Electronic Structure Package for Quantum Computers*.
`arXiv:1710.07629 <https://arxiv.org/abs/1710.07629>`__. 2017.
If you have any other questions, please contact fermilib@projectq.ch.
FermiLib is released under the Apache 2 license.