Skip to content

Commit

Permalink
Merge pull request #125 from ProjectQ-Framework/release-v0.1a3
Browse files Browse the repository at this point in the history
Release v0.1a3
  • Loading branch information
babbush authored Jul 24, 2017
2 parents 7c91ac9 + d8fab6c commit e24bfa0
Show file tree
Hide file tree
Showing 79 changed files with 2,892 additions and 571 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,5 @@ ENV/

# mkdocs documentation
/site

*.lprof
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ matrix:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['gcc-4.9', 'g++-4.9']
env: CC=gcc-4.9 CXX=g++-4.9 PYTHON=3.5
env: CC=gcc-4.9 CXX=g++-4.9 PYTHON=3.6

before_install:
- pip$PY install --upgrade pip setuptools wheel
Expand Down
12 changes: 11 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ Getting started
---------------

To start using FermiLib, simply 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>`__. Moreover, take a look at the available `plugins <http://projectq.ch/code-and-docs/#Fermilib>`__ for FermiLib.
website <http://www.projectq.ch>`__ and the detailed `code documentation <http://fermilib.readthedocs.io/en/latest/fermilib.html>`__. 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 <https://github.com/ProjectQ-Framework/FermiLib-Plugin-Psi4>`__, recommended) and PySCF (plugin `here <https://github.com/ProjectQ-Framework/FermiLib-Plugin-PySCF>`__).

How to contribute
-----------------
Expand All @@ -41,6 +46,11 @@ Authors
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>`__.

Questions?
----------

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

License
-------

Expand Down
12 changes: 12 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Dockerfile for FermiLib+ProjectQ

# Change the following line to "FROM continuumio/anaconda" to use Python 2
FROM continuumio/anaconda3

USER root

RUN apt install -y g++

RUN pip install git+https://github.com/ProjectQ-Framework/ProjectQ.git && \
pip install git+https://github.com/ProjectQ-Framework/FermiLib.git

30 changes: 30 additions & 0 deletions docker/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Docker Setup for FermiLib + ProjectQ
====================================

This Docker image will help users to easily install `FermiLib <https://github.com/ProjectQ-Framework/FermiLib.git>`__ and `ProjectQ <https://github.com/ProjectQ-Framework/ProjectQ>`__. Check out Docker's `website <https://www.docker.com/what-container>`__ that describes what a container image is and why it can be so useful.

What is included?
-----------------

- Conda Python 3 (but you can also use Python 2 with one minor change in the Dockerfile. See the Dockerfile for instructions.)
- `ProjectQ <https://github.com/ProjectQ-Framework/ProjectQ.git>`__
- `FermiLib <https://github.com/ProjectQ-Framework/FermiLib.git>`__

How to use it?
--------------

1. To use this image, you first need to install `Docker <https://www.docker.com/>`__.

2. To build the Docker image, move the Dockerfile to your working directory. Then execute:

.. code-block:: bash
docker build -t "fermiq_docker" .
3. To run the image (assuming you're still inside your working directory), execute with :code:`YOUR_WORK_DIR` as the path to your working directory:

.. code-block:: bash
docker run -it -v $(pwd):YOUR_WORK_DIR -w YOUR_WORK_DIR fermiq_docker
When you're done using the Docker image, you can execute :code:`docker stop YOUR_CONTAINER_ID` or :code:`docker kill YOUR_CONTAINER_ID` to stop your container (you can get the container ID by using the command :code:`docker ps`). Finally, feel free to use this as a parent image to build a more customized image layer, perhaps containing the available plugins (`PySCF <https://github.com/ProjectQ-Framework/FermiLib-Plugin-PySCF>`__ or `Psi4 <https://github.com/ProjectQ-Framework/FermiLib-Plugin-Psi4>`__) for FermiLib.
5 changes: 5 additions & 0 deletions docs/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,8 @@ To see a basic example with both fermionic and qubit operators as well as whethe
This code creates the fermionic operator :math:`a^\dagger_2 a_0` and adds its Hermitian conjugate :math:`a^\dagger_0 a_2` to it. It then maps the resulting fermionic operator to qubit operators using two transforms included in FermiLib, the Jordan-Wigner and Bravyi-Kitaev transforms. Despite the different representations, these operators are iso-spectral. The example also shows some of the intuitive string methods included in FermiLib.

Further examples can be found in the docs (`Examples` in the panel on the left) and in the FermiLib examples folder on `GitHub <https://github.com/ProjectQ-Framework/FermiLib/tree/master/examples/>`_.

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 <https://github.com/ProjectQ-Framework/FermiLib-Plugin-Psi4>`__, recommended) and PySCF (plugin `here <https://github.com/ProjectQ-Framework/FermiLib-Plugin-PySCF>`__).
Loading

0 comments on commit e24bfa0

Please sign in to comment.