Skip to content

hrgrimsl/OF_VQE

Repository files navigation

This code is old and not maintained. I strongly recommend that you use the newer adapt-vqe code which is pinned on my github.

OF_VQE.py is a fairly self-explanatory UCCSD code.  If you want to use a molecule not specified, you will need to input the geometry alongside the others.  Most of the options are for the benefit of computing dissociation curves, so you can just use the defaults for general calculations.

You can save some hassle by cd'ing to the working directory (OF_VQE by default) and using

pip install -r /path/to/requirements.txt

You will also need a working Psi4 install, instructions available here:

http://www.psicode.org/psi4manual/1.2/external.html

If you have any issues with the code, feel free to e-mail me at

Flags:

-l: Log output file; defaults to app.log but can be anything.

-m: Determines minimum level of a seriousness to be displayed in the log. Defaults to DEBUG, but the threshold can be raised to INFO to get only the final error from FCI.

-rw: Access log file in mode 'a' or 'w'; defaults to w, i.e. obliterates the log file rather than appending to it.

-s: Random seed for shuffling operators. Defaults to 111596.

-p: Protocol for arranging operators. Defaults to a random arrangement. It is also possible to choose:

increasing_comms - Increasing [e^A,H] values

decreasing_comms - Decreasing [e^A,H] values

increasing_unexp_comms - Increasing [A, H] values

decreasing_comms - Decreasing [A, H] values

-sys: System of interest; defaults to water. Must be listed in the code.

-d: Dissociation parameter; defaults to 0, i.e. equilibrium bond distance. Causes the H's to move d angstroms away from the 'central' atom.

-cc: Defaults to False. When on, the program will use classical CCSD amplitudes as starting parameters for the UCCSD calculation.

-b: Defaults to minimal STO-3G basis. Includes all the normal Psi4 orbitals. Likely choices include:

sto-3g - minimal basis

3-21g - small split valence

3-21g* - small split valence w/ polarization

6-31g - larger split valence

6-31g* - larger split valence w/ polarization

cc-pvdz - correlation-consistent basis

(Note that anything larger than STO-3G will fail for all but the smallest systems!)

-f: Filter out terms by their contribution to the Hamiltonian? Defaults to no, is probably more important in the pqrs scheme.

-c: Default ijab.

ijab - allow only the unitary versions of traditional single and double excitations, i.e. only occ->nocc transitions are permitted.  This will generally be substantially faster and only marginally less accurate.

pqrs - allow all non-degenerate excitations which can possibly non-zero, including nocc->nocc, occ->occ, and spin-flips.  This is crazy expensive, but you'll have so many degrees of freedom that America will be jealous, so you'll probably get a slightly better answer.

About

Open_Fermion VQE Stuff

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages