Skip to content

A program for quantum chemistry simulation on quantum computers

Notifications You must be signed in to change notification settings

nashfan/FullQuantumEigensolver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

FQE is a quantum algorithm for calculating the ground state energy of a system Hamiltonian, and can be applied to a wide range of fields, such as determining the electronic structure of fermionic systems, finding the ground energy of molecules in quantum chemistry. For more information, see our release paper.

Getting started

Performing FQE requires installing OpenFermion firstly. And, installing OpenFermion requires pip. Make sure that you are using an up-to-date version of it. You can click the link to learn how to install OpenFermion. We use ProjectQ framework to program this quantum algorithm. You need to install ProjectQ with this link.

An introduction of FQE

Full quantum eigensolver (FQE) is an algorithm to estimate the ground state of a given Hamiltonian using quantum gradient descent. We adopt it to calculate the molecular ground energies and electronic structures. We embed this method in Python code and provide a full stack quantum simulation procedure. One feeds a molecule into this program and will obtain an explicit quantum circuit, and calculating results of the molecular energy of this molecule, and corresponding electronic structures. It can be performed both by a quantum simulator or a real quantum processor. Compared to existing classical-quantum hybrid methods such as variational quantum eigensolver (VQE), this method removes the classical optimizer and performs all the calculations on a quantum computer.
A molecular system, containing a collection of nuclear charges and electrons, can be described by a molecular Hamiltonian. By Jordan-Wigner or Bravyi-Kitaev transformations, the molecular Hamiltonian can be mapped into a qubit Hamiltonian form

where Roman indices i, j denote the qubit on which the operator acts, and Greek indices , refer to the type of Pauli operators, i.e., means Pauli matrix acting on a qubit at site i. We can calculate the ground state energy by minimizing the expect value of Hamiltonian

The gradient descent of f(X) can be deviated as

At the limit when ε->0 :

Then, the classical gradient descent iteration can be mapped to a quantum version by being regarded as an evolution of X under operator H,

where is learning rate.

Denoting and it can be expressed as

where M is the number of Pauli product terms in . Then the gradient descent process can be rewritten as

The above equation can be evaluated by the following quantum circuit circuit

After enough iterative times, will converge to the ground state and is the corresponding ground state energy. Moreover, by variating the interatomic distances of a molecule, this method can calculate the lowest energy in potential-energy surfaces corresponds to the most stable structure of the molecules.

Example

We write a demo with ProjectQ in form of jupyter notebook. We solve the ground state and ground state energy of Hydrogen molecule in this demo. You can also change to solve other molecules. Some other molecular information is contained in Molecules_Data.json, which was copied from NIST.

The program can be divided in three parts,

  • Data input and parameter setting
  • Compute the hamiltonian of the system
  • Simulation with FullQuantumEigensolver(FQE)

Use the class FullQuantumEigensovler to bulid the object FQE, and run it with K iterations.

FQE = FullQuantumEigensolver(Gatelist, active_space_stop, active_space_start, initial_state)
FQE.start(K)   

In every iteration, the information about the quantum state remained will be output. After several iterations, the state will converge to the ground state.

Note: We use the get_amplitude to extract the state, so there will be no measurement in the program. Because of that, the program may output warning sign.

Authors

ShiJie Wei, Zeng-Rong Zhou

Contact: long_group@163.com

How to cite

When using FQE for research projects, please cite:

ShiJie Wei, Hang Li, GuiLu Long. A Full Quantum Eigensolver for Quantum Chemistry Simulations. Research 2020, 1 (2020).

About

A program for quantum chemistry simulation on quantum computers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%