Giter Site home page Giter Site logo

yashpatel1994 / adapt-vqe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jordanovsj/vqe

1.0 0.0 0.0 10.03 MB

A python module and example scripts to perform molecular simulationts with the variational quantum eigensolver (VQE)

Python 78.09% Mathematica 18.00% Jupyter Notebook 3.90%

adapt-vqe's Introduction

VQE

This repository contains a code used to perform classical numerical simulations of molecules with the variational quantum eigensolver (VQE).The purpose of this repository is to be used as a benchmark to test and design ADAPT-VQE protocols (see Ref. 1).

  • An implementation of the VQE is contained in src/vqe_runner.py
  • The vqe_runner uses one of two different backends (in src/backends.py) to evaluate the expectation value of a quantum operator w.r.t. to a qubit state defined by an ansatz
  • The ansatz is defined by a list of ansatz elements. Different types of ansatz elements are defined in src/ansatz_elements.py
  • src/molecules/molecules.py contains a list of example molecular systems.

Adapt-VQE protocol (see Refs. 1,2,3,4):

  • An implementation of the QEB-ADAPT-VQE protocol (Ref. 1) is contained in scripts/adapt_vqes/iqeb_vqe.py
  • An implementation of the excited-QEB-ADAPT-VQE protocol (Ref. 3) is contained in scripts/adapt_vqes/excited_iqeb_vqe.py
  • An implementation of the fermionic-ADAPT-VQE protocol (Ref. 2) is contained in scripts/adapt_vqes/adapt_vqe.py
  • An implementation of the qubit-ADAPT-VQE protocol (Ref. 4) is contained in scripts/adapt_vqes/qubit_adapt_vqe.py

References:

  1. https://www.nature.com/articles/s42005-021-00730-0
  2. https://www.nature.com/articles/s41467-019-10988-2
  3. https://arxiv.org/abs/2106.06296
  4. https://journals.aps.org/prxquantum/abstract/10.1103/PRXQuantum.2.020310

Installation (Linux):

i. Install using the environment.yml file.

  • note that this option may not work for some dependencies

ii. If using the environment.yml file does not work, install manually:

  1. Create a new conda environment

  2. Install the following libraries:

  • qiskit 0.23.5 (or newer version)

  • numpy 1.20.0 (or newer version)

  • scipy 1.6.0

  • ray

  • pandas

    (Install the next three libraries in the given order. I recommend isntalling psi4 and openfermionpsi4 as given at https://github.com/quantumlib/OpenFermion-Psi4 )

  • psi4

  • openfermionpsi4 0.5 (or newer version)

  • openfermion 1.0.0 (or newer version)

c) Make sure that the following directories are added to PYTHONPATH:

  • "/home/ .. path/to .. /VQE"
  • "/home/ .. path/to .. /VQE/src"

(To add these paths permanently you can use the following command: "conda develop '/home/ .. path/ to .. /VQE/'")

adapt-vqe's People

Contributors

jordanovsj avatar elenastoyanovac avatar

Stargazers

 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.