Coder Social home page Coder Social logo

multiplecrashes / fermilib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from projectq-framework/fermilib

0.0 2.0 0.0 746 KB

FermiLib: Open source software for analyzing fermionic quantum simulation algorithms

Home Page: https://projectq.ch/

License: Apache License 2.0

Python 100.00%

fermilib's Introduction

FermiLib - Open source software for analyzing quantum simulation algorithms

image

image

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 and leverages ProjectQ to compile, emulate and simulate quantum circuits. There are also plugins available for FermiLib.

You may also be interested in OpenFermion, 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.

Getting started

To start using FermiLib, follow the installation instructions in the intro. There, you will also find code examples. Also, make sure to check out the ProjectQ website and the detailed code documentation. 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.

Plugins

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, recommended) and PySCF (plugin here).

How to contribute

To contribute code please adhere to the following very simple rules:

  1. Make sure your new code comes with extensive tests!
  2. Make sure you adhere to our style guide. Until we release a code style guide, just have a look at our code for clues. We mostly follow pep8 and use the pep8 linter to check for it.
  3. Put global constants and configuration parameters into src/fermilib/config.py, and add from config import* in the file that uses the constants/parameters.

Documentation can be found here.

Authors

The first release of FermiLib (v0.1a0) was developed by Ryan Babbush, Jarrod McClean, Damian S. Steiger, Ian D. Kivlichan, Thomas Häner, Vojtech Havlicek, Matthew Neeley, and Wei Sun.

How to cite

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. 2017.

Questions?

If you have any other questions, please contact [email protected].

License

FermiLib is released under the Apache 2 license.

fermilib's People

Contributors

babbush avatar strilanc avatar damiansteiger avatar spaceenter avatar jarrodmcc avatar hsim13372 avatar thomashaener avatar ncrubin avatar kanavsetia avatar

Watchers

James Cloos avatar Harish Kumar Upadhyay avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.