Path Integral Quantum Monte Carlo
|
Global common header with shared dependencies and methods. More...
#include <iomanip>
#include <iostream>
#include <string>
#include <cmath>
#include <cassert>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <chrono>
#include <functional>
#include <blitz/array.h>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/archive/binary_iarchive.hpp>
#include <boost/format.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
#include <boost/ptr_container/ptr_map.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/math/tools/minima.hpp>
#include "MersenneTwister.h"
Go to the source code of this file.
Macros | |
#define | BZ_HAVE_BOOST_SERIALIZATION |
#define | PIMC_DEBUG_MESSAGE(X) |
A PIMC debugging message. | |
#define | PIMC_ASSERT(X) |
Rename assert method. | |
#define | NDIM 1 |
Number of spatial dimnsions. | |
#define | PIGS false |
#define | REPO_VERSION "none" |
#define | NN_TABLE |
Turn on the nearest neighbor particle lookup table. | |
#define | NPCFSEP 50 |
Spatial separations to be used in the pair correlation function. | |
#define | NOBDMSEP 50 |
Spatial separations to be used in the one body density matrix. | |
#define | NRADSEP 200 |
Spatial separations to be used in the radial density. | |
#define | NGRIDSEP 51 |
Spatial separations to be used in each dimension of the particle position grid. | |
#define | EPS 1.0E-7 |
A small number. | |
#define | DBL_EPS std::numeric_limits<double>::epsilon() |
#define | BIG 1.0E30 |
A big number. | |
#define | LBIG 69.07755279 |
The log of a big number. | |
#define | XXX -1 |
Used to refer to a nonsense beadIndex. | |
Typedefs | |
typedef unsigned long | uint32 |
Unsigned integer type, at least 32 bits. | |
typedef TinyMatrix< double, NDIM, NDIM > | dMat |
A NDIM x NDIM matrix of type double. | |
typedef TinyVector< double, NDIM > | dVec |
A NDIM-vector of type double. | |
typedef TinyVector< int, NDIM > | iVec |
A NDIM-vector of type integer. | |
typedef TinyVector< int, 2 > | beadLocator |
time-slice,bead-number world line index | |
typedef Array< int, 1 >::iterator | intIter |
Integer array iterator. | |
typedef Array< int, 1 >::const_iterator | cintIter |
Constant integer array iterator. | |
typedef Array< beadLocator, 1 >::iterator | beadIter |
beadLocator array iterator | |
Enumerations | |
enum | beadState { HEADTAIL , SPECIAL , NONE } |
Each bead can have three possible states. | |
enum | ensemble { DIAGONAL , OFFDIAGONAL , ANY } |
Each move can operate on only the digaonal ensemble, only the off-diagonal ensemble, or both. | |
Functions | |
int | ipow (int base, int power) |
Return the integer value of a number raised to a power. | |
template<typename Ttype > | |
Ttype & | min (Ttype &x, Ttype &y) |
Minimum of two inputs. | |
template<typename Ttype > | |
Ttype & | max (Ttype &x, Ttype &y) |
Maximum of two inputs. | |
Global common header with shared dependencies and methods.
We use blitz++ for all arrays and used boost::format to simplify input and output.
Definition in file common.h.