Documentation:dwa
Directed worm algorithm
Theory
Quantum statistical mechanics at finite temperature
At finite temperature T, the physics is essentially captured by the partition function
and physical quantities such as the local density
for some configuration in the complete configuration space, with inverse temperature
.
Here, the units will be cleverly normalized later on.
Feynmann perturbation in the path-integral representation
Decompose , where
is purely diagonal in the basis of choice, and
being off-diagonal.
Feynmann perturbation in the path-integral representation defines the configuration weight:
for configuration
where
The derivation can be found in chapter 2.1-2.2 of my thesis.
Quantum Monte Carlo (Directed Worm Algorithm)
The Quantum Monte Carlo simulation is in fact a Markov chain random walk in the (worldlines) configuration space, importance sampled by the configuration weight which is just a positive number assigned to some particular configuration
for instance shown here.
How
is being assigned depends on the model Hamiltonian as well as the ergodic algorithm that satisfies detailed balance.
For the directed worm algorithm, the configuration is updated with the worm transversing to and from the extended configuration space to ensure ergodicty.
In addition, is the number of particles (or state) at site i with time 0.
Each configuration update is known as a Monte Carlo sweep.
The complete step-by-step description of the directed worm algorithm can be found in chapter 2.3 of my thesis, and the code implementation in the following.
The dwa code
Monte Carlo options
Option | Default | Remark |
---|---|---|
THERMALIZATION | 0 | number of Monte Carlo configuration updates (sweeps) needed for thermalization, no measurements are performed |
SWEEPS | 1000000 | total number of Monte Carlo configuration updates (sweeps) |
t | 1. | hopping strength ![]() |
U | 0. | onsite interaction strength ![]() |
mu | 0. | chemical potential ![]() |
K | 0. | parabolic trapping strength ![]() |
T | — | temperature ![]() |
Options
Option | Default | Remark |
---|---|---|
SWEEPS | 1000000 | total number of Monte Carlo configuration updates (sweeps) |
t | 1. | hopping strength ![]() |
U | 0. | onsite interaction strength ![]() |
mu | 0. | chemical potential ![]() |
K | 0. | parabolic trapping strength ![]() |
T | — | temperature ![]() |
Measurements
Basic options
The following table summarizes the basic options for measurements available to the user of our DWA code. When unspecified in the parameter list, they assume the default values.
Option | Default | Remark |
---|---|---|
SKIP | 1 | number of Monte Carlo configuration updates (sweeps) per measurement |
MEASURE | true | turns on/ off measurements |
MEASURE[Simulation Speed] | true | observe time taken per checkpoint |
Measurement observables
When the measurement mode is turned on, the following is a list of common observables available to the user.
Observable | Boolean control | Binning analysis | Remark | |
---|---|---|---|---|
Total Particle Number | ![]() |
— | detailed | measure always |
Energy | ![]() |
— | detailed | measure always |
Energy:Vertex | ![]() |
— | detailed | measure always |
Energy:Onsite | ![]() |
— | detailed | measure always |
Density | ![]() |
— | detailed | measure if lattice is homoogeneous |
Energy Density | ![]() |
— | detailed | measure if lattice is homoogeneous |
Energy Density:Vertex | ![]() |
— | detailed | measure if lattice is homoogeneous |
Energy Density:Onsite | ![]() |
— | detailed | measure if lattice is homoogeneous |
Total Particle Number^2 | ![]() |
measure_number2_ | detailed | — |
Energy^2 | ![]() |
measure_energy2_ | detailed | — |
Density^2 | ![]() |
measure_density2_ | detailed | measure if lattice is homogeneous |
Energy Density^2 | ![]() |
measure_energy_density2_ | detailed | measure if lattice is homogeneous |
Winding Number^2 | ![]() |
measure_winding_number2_ | simple | measure if lattice is periodic: ![]() |
Local Kink:Number | ![]() |
measure_local_num_kinks_ | simple | — |
Local Density | ![]() |
measure_local_density_ | simple | — |
Local Density^2 | ![]() |
measure_local_density2_ | simple | — |
Green Function:0 | ![]() |
— | detailed | measure always |
Green Function:1 | ![]() |
— | detailed | measure always |
Green Function | ![]() |
measure_green_function_ | simple | — |
Green Function:TOF | ![]() |
measure_green_function_ | simple | measure if tof_phase != 0 |
Momentum Distribution:0 | ![]() |
— | detailed | measure if tof_phase == 0 |
Momentum Distribution:TOF:0 | ![]() |
— | detailed | measure if tof_phase != 0 |
More options
The following table summarizes more options for measurements available to the user of our DWA code. When unspecified in the parameter list, they assume the default values.
Option | Default | Boolean control |
---|---|---|
MEASURE[Total Particle Number^2] | false | measure_number2_ |
MEASURE[Energy^2] | false | measure_energy2_ |
MEASURE[Density^2] | false | measure_density2_ |
MEASURE[Energy Density^2] | false | measure_energy_density2_ |
MEASURE[Local Kink: Number] | false | measure_local_num_kinks_ |
MEASURE[Winding Number] | false | measure_winding_number_ |
MEASURE[Local Density] | false | measure_local_density_ |
MEASURE[Local Density^2] | false | measure_local_density2_ |
MEASURE[Green Function] | false | measure_green_function_ |
Option | Default | Remark |
---|---|---|
tof_phase | 0. | time-of-flight phase ![]() |