SPEEDUP codes for Phys. Rev. Lett. 94, 180403 (2005)
A. Bogojevic, A. Balaz and A. Belic
"Systematically accelerated convergence of path integrals"
Phys. Rev. Lett. 94 (2005) 180403
arXiv e-print: cond-mat/0508545
A. Bogojevic, A. Balaz, and A. Belic,
"Systematic speedup of path integrals of a generic N-fold discretized theory",
Phys. Rev. B 72, 064302 (2005)
A. Bogojevic, A. Balaz, and A. Belic,
"Generalization of Euler's summation formula to path integrals",
Phys. Lett. A 344, 84 (2005)
A. Bogojevic, A. Balaz, and A. Belic,
"Jaggedness of pathe integral trajectories",
Phys. Lett. A 345, 258 (2005)
A. Bogojevic, A. Balaz, and A. Belic,
"Asymptotic Properties of Path Integral Ideals",
Phys. Rev. E 72, 036128 (2005)
- Effective action to level p=6 (PDF file);
- Link to the Monte Carlo parallel (MPI) code used in this investigation: speedup-mpi.tgz;
- Serial version of the above code: speedup-serial.tgz.
README file from above MPI code
/* Path Integral Monte Carlo code developed by A. Balaz
(antun [at] ipb [dot] ac [dot] rs) for the paper:
"Systematically accelerated convergence of path integrals"
by A. Bogojevic, A. Balaz, and A. Belic
Phys. Rev. Lett. 94, 180403 (2005)
Address: Institute of Physics, Belgrade, Serbia
Scientific Computing Laboratory, http://www.scl.rs/speedup/
Public use and modification of this code is allowed providing the above paper is properly acknowledged. The author would be grateful for all information and/or comments regarding the use of the code.
*/
This MPI code gives a Monte Carlo simulation that calculates imaginary time amplitudes for the transition from a to b in time T for generic thery. The Planck constant hbar=1. Trajectories are generated using the bisection method. The variable s determines the level of bisection, i.e. time discretization N takes the values 2^0, 2^1, ..., 2^s.
The user configurable section is in file p.c. In it users need to define the level parameter p (1 <= p <= 18) and to supply the potential V and its derivatives.
COMPILING:
1) Supply the appropriate level p (by adjusting #define statement) and function V0() in file p.c.
2) A typical serial compiling line (e.g. for level p=2) looks like:
mpicc -O5 -o speedup-p2 main.c p.c nr.c -lm -lsprng -I.
Note that you need to have installed SPRNG libraries, http://sprng.cs.fsu.edu/
(The above example [-lsprng] is for the case of system wide installation of SPRNG.
In the case of a custom installation this needs to be changed appropriatel.)
USAGE:
mpirun [-nolocal] -np NP speedup-p2 T a b s Nmc seed par[0] ...
NP is the number of processes.
speedup-p2 is the compile name of the simulation working at level p=2.
T is the time of propagation.
a is the position at time t=0.
b is the position at time t=T.
s is the bisection level.
Nmc is the number of Monte Carlo samples used.
seed is seed value used by the SPRNG (random number generator).
par[0], ... are additional parameters defining the potential
(initialize as many as needed and use them in the same order
in the user supplied function V0 in file p.c).