Recommended Reading¶
The sections below contain information, or at least links to information, that should be helpful for anyone who wants to use Nexus, but who is not an expert in one of the following areas: installing python and related modules, installing PWSCF and QMCPACK, the Python programming language, and the theory and practice of Quantum Monte Carlo.
Helpful Links for Installing Python Modules¶
- Python itself
- Numpy and Scipy
- Download and installation: http://www.scipy.org/Installing_SciPy.
- Matplotlib
- Download: http://matplotlib.org/downloads.htmlInstallation: http://matplotlib.org/users/installing.html
- H5py
- Download and installation: http://www.h5py.org/
Helpful Links for Installing Electronic Structure Codes¶
PWSCF: pw.x, pw2qmcpack.x, pw2casino.x¶
README
file in
qmcpack/external_codes/quantum_espresso
for instructions on
patching Quantum Espresso version 5.1.QMCPACK: qmcpack, qmcpack_complex, convert4qmc, ppconvert, sqd¶
Wfconvert: wfconvert¶
VASP¶
GAMESS¶
Download: http://www.msg.ameslab.gov/gamess/License_Agreement.html Install: See the “readme.unix” file in the GAMESS source distribution (gamess/machines/readme.unix).
Brushing up on Python¶
Python¶
Python is a flexible, multi-paradigm, interpreted programming language with powerful intrinsic datatypes and a large library of modules that greatly expand its functionality. A good way to learn the language is through the extensive Documentation provided on the python.org website. If you have never worked with Python before, be sure to go through the Tutorial. To learn more about the intrinsic data types and standard libraries look at Library Reference. A very short introduction to Python is in Basic Python Constructs.
Documentation |
|
---|---|
Tutorial |
|
Library Reference |
NumPy¶
Other than the Python Standard Library, the main library/module Nexus makes heavy use of is NumPy. NumPy provides a convenient and fairly fast implementation of multi-dimensional arrays and related functions, much like MATLAB. If you want to learn about NumPy arrays, the NumPy Tutorial is recommended. For more detailed information, see the NumPy User Guide and the NumPy Reference Manual. If MATLAB is one of your native languages, check out NumPy for MATLAB Users.
Tutorial |
|
---|---|
User Guide |
|
Reference |
|
MATLAB |
Matplotlib¶
Plotting in Nexus is currently handled by Matplotlib. If you want to learn more about plotting with Matplotlib, the Pyplot Tutorial is a good place to start. More detailed information is in the User’s Guide. Sometimes Examples provide the fastest way to learn.
Tutorial |
|
---|---|
User’s Guide |
|
Examples |
Scipy and H5Py¶
Nexus also occasionally uses functionality from SciPy and H5Py. Learning more about them is unlikely to help you interact with Nexus. However, they are quite valuable on their own. SciPy provides access to special functions, numerical integration, optimization, interpolation, fourier transforms, eigenvalue solvers, and statistical analysis. To get an overview, try the SciPy Tutorial. More detailed material is found in the Scipy Reference. H5Py provides a NumPy-like interface to HDF5 data files, which QMCPACK creates. To learn more about interacting with HDF5 files through H5Py, try the Quick Start Guide. For more information, see the General Documentation.
SciPy Tutorial |
http://docs.scpy.org/doc/scipy/reference/tutorial/index.html |
SciPy Reference |
|
H5Py Quick Guide |
|
H5Py General Docs |
Quantum Monte Carlo: Theory and Practice¶
Currently, review articles may be the best way to get an overview of Quantum Monte Carlo methods and practices. The review article by Foulkes, et al. from 2001 remains quite relevant and is lucidly written. Other review articles also provide a broader perspective on QMC, including more recent developments. Another resource that can be useful for newcomers (and needs to be updated) is the QMC Wiki. If you are aware of resources that fill a gap in the information presented here (almost a certainty), please contact the developer at krogeljt@ornl.gov to add your contribution.
QMC Review Articles |
|
---|---|
Foulkes, 2001 |
|
Bajdich, 2009 |
|
Needs, 2010 |
|
Kolorenc, 2011 |
Online Resources |
|
---|---|
QMCWiki & |
|
QMC Summer School 2012 |