# Difference between revisions of "Documentation:dwa"

(Created page with "= Directed worm algorithm =") |
|||

Line 1: | Line 1: | ||

= Directed worm algorithm = | = Directed worm algorithm = | ||

+ | |||

+ | === QMC 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 <math>Z(\mathcal{C})</math> which is just a positive number assigned to some particular configuration <math>\mathcal{C}</math> for instance shown [[#link_worldlines_configuration|here]]. | ||

+ | How <math>Z(\mathcal{C})</math> 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, <math>n_i(\mathcal{C})</math> is the number of particles (or state) at site i with time 0. | ||

+ | |||

+ | Each configuration update is known as a Monte Carlo sweep. | ||

+ | <br/><br/> | ||

+ | The complete step-by-step description of the directed worm algorithm can be found here, and the code implementation here. | ||

+ | <br/><br/> | ||

+ | The following table summarizes the basic options for the DWA simulation. | ||

+ | |||

+ | <div id="links_option1"></div> | ||

+ | {| border="1" | ||

+ | |- style="background:gray; color:white" | ||

+ | ! Option | ||

+ | ! Default | ||

+ | ! Remark | ||

+ | |- | ||

+ | | SWEEPS | ||

+ | | align="center" | 1000000 | ||

+ | | total number of Monte Carlo configuration updates (sweeps) | ||

+ | |- | ||

+ | | t | ||

+ | | align="center" | 1. | ||

+ | | hopping strength <math>t</math> | ||

+ | |- | ||

+ | | U | ||

+ | | align="center" | 0. | ||

+ | | onsite interaction strength <math>U</math> | ||

+ | |- | ||

+ | | mu | ||

+ | | align="center" | 0. | ||

+ | | chemical potential <math>\mu</math> | ||

+ | |- | ||

+ | | K | ||

+ | | align="center" | 0. | ||

+ | | parabolic trapping strength <math>K</math> | ||

+ | |- | ||

+ | | T | ||

+ | | align="center" | — | ||

+ | | temperature <math>T</math> | ||

+ | |} | ||

+ | |||

+ | |||

+ | == <div id="link_measurements">Measurements</div> == | ||

+ | |||

+ | === 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. | ||

+ | |||

+ | <div id="links_option2"></div> | ||

+ | {| border="1" | ||

+ | |- style="background:gray; color:white" | ||

+ | ! Option | ||

+ | ! Default | ||

+ | ! Remark | ||

+ | |- | ||

+ | | SKIP | ||

+ | | align="center" | 1 | ||

+ | | number of Monte Carlo configuration updates (sweeps) per measurement | ||

+ | |- | ||

+ | | MEASURE | ||

+ | | align="center" | true | ||

+ | | turns on/ off measurements | ||

+ | |- | ||

+ | | MEASURE[Simulation Speed] | ||

+ | | align="center" | true | ||

+ | | observe time taken per checkpoint | ||

+ | |} | ||

+ | |||

+ | === <div id="links_measurement_observables">Measurement observables</div> === | ||

+ | |||

+ | When the measurement mode is turned on, the following is a list of common observables available to the user. | ||

+ | |||

+ | {| border="1" | ||

+ | |- style="background:gray; color:white" | ||

+ | ! Observable | ||

+ | ! | ||

+ | ! Boolean control | ||

+ | ! Binning analysis | ||

+ | ! Remark | ||

+ | |- | ||

+ | | Total Particle Number | ||

+ | | align="center" | <math>\langle N \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure always | ||

+ | |- | ||

+ | | Energy | ||

+ | | align="center" | <math>\langle E \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure always | ||

+ | |- | ||

+ | | Energy:Vertex | ||

+ | | align="center" | <math>\langle E_v \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure always | ||

+ | |- | ||

+ | | Energy:Onsite | ||

+ | | align="center" | <math>\langle E_o \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure always | ||

+ | |- | ||

+ | | Density | ||

+ | | align="center" | <math>\langle n \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure if lattice is homoogeneous | ||

+ | |- | ||

+ | | Energy Density | ||

+ | | align="center" | <math>\langle \epsilon \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure if lattice is homoogeneous | ||

+ | |- | ||

+ | | Energy Density:Vertex | ||

+ | | align="center" | <math>\langle E_v \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure if lattice is homoogeneous | ||

+ | |- | ||

+ | | Energy Density:Onsite | ||

+ | | align="center" | <math>\langle E_o \rangle</math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure if lattice is homoogeneous | ||

+ | |- | ||

+ | | Total Particle Number^2 | ||

+ | | align="center" | <math>\langle N^2 \rangle</math> | ||

+ | | align="center" | measure_number2_ | ||

+ | | detailed | ||

+ | | — | ||

+ | |- | ||

+ | | Energy^2 | ||

+ | | align="center" | <math>\langle E^2 \rangle</math> | ||

+ | | align="center" | measure_energy2_ | ||

+ | | detailed | ||

+ | | — | ||

+ | |- | ||

+ | | Density^2 | ||

+ | | align="center" | <math>\langle N^2 \rangle</math> | ||

+ | | align="center" | measure_density2_ | ||

+ | | detailed | ||

+ | | measure if lattice is homogeneous | ||

+ | |- | ||

+ | | Energy Density^2 | ||

+ | | align="center" | <math>\langle E^2 \rangle</math> | ||

+ | | align="center" | measure_energy_density2_ | ||

+ | | detailed | ||

+ | | measure if lattice is homogeneous | ||

+ | |- | ||

+ | | Winding Number^2 | ||

+ | | align="center" | <math>\langle W_\alpha^2 \rangle </math> | ||

+ | | align="center" | measure_winding_number2_ | ||

+ | | simple | ||

+ | | measure if lattice is periodic: <math> \alpha=x,y,z </math> | ||

+ | |- | ||

+ | | Local Kink:Number | ||

+ | | align="center" | <math>\langle n_i^r \rangle</math> | ||

+ | | align="center" | measure_local_num_kinks_ | ||

+ | | simple | ||

+ | | — | ||

+ | |- | ||

+ | | Local Density | ||

+ | | align="center" | <math>\langle n_i \rangle</math> | ||

+ | | align="center" | measure_local_density_ | ||

+ | | simple | ||

+ | | — | ||

+ | |- | ||

+ | | Local Density^2 | ||

+ | | align="center" | <math>\langle n_i^2 \rangle</math> | ||

+ | | align="center" | measure_local_density2_ | ||

+ | | simple | ||

+ | | — | ||

+ | |- | ||

+ | | Green Function:0 | ||

+ | | align="center" | <math>g_f \left(\alpha=0\right) </math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure always | ||

+ | |- | ||

+ | | Green Function:1 | ||

+ | | align="center" | <math> \sum_{i=x,y,z} g_f \left(\alpha_i =1\right) </math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure always | ||

+ | |- | ||

+ | | Green Function | ||

+ | | align="center" | <math>g_f \left(\alpha ; \gamma = 0 \right) </math> | ||

+ | | align="center" | measure_green_function_ | ||

+ | | simple | ||

+ | | — | ||

+ | |- | ||

+ | | Green Function:TOF | ||

+ | | align="center" | <math>g_f \left(\alpha \right) </math> | ||

+ | | align="center" | measure_green_function_ | ||

+ | | simple | ||

+ | | measure if tof_phase != 0 | ||

+ | |- | ||

+ | | Momentum Distribution:0 | ||

+ | | align="center" | <math> \langle n_k \left( 0 ; \gamma = 0 \right) \rangle </math> | ||

+ | | align="center" | — | ||

+ | | detailed | ||

+ | | measure if tof_phase == 0 | ||

+ | |- | ||

+ | | Momentum Distribution:TOF:0 | ||

+ | | align="center" | <math> \langle n_k \left( 0 \right) \rangle </math> | ||

+ | | align="center" | — | ||

+ | | 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. | ||

+ | |||

+ | {| border="1" | ||

+ | |- style="background:gray; color:white" | ||

+ | ! Option | ||

+ | ! Default | ||

+ | ! Boolean control | ||

+ | |- | ||

+ | | MEASURE[Total Particle Number^2] | ||

+ | | align="center" | false | ||

+ | | measure_number2_ | ||

+ | |- | ||

+ | | MEASURE[Energy^2] | ||

+ | | align="center" | false | ||

+ | | measure_energy2_ | ||

+ | |- | ||

+ | | MEASURE[Density^2] | ||

+ | | align="center" | false | ||

+ | | measure_density2_ | ||

+ | |- | ||

+ | | MEASURE[Energy Density^2] | ||

+ | | align="center" | false | ||

+ | | measure_energy_density2_ | ||

+ | |- | ||

+ | | MEASURE[Local Kink: Number] | ||

+ | | align="center" | false | ||

+ | | measure_local_num_kinks_ | ||

+ | |- | ||

+ | | MEASURE[Winding Number] | ||

+ | | align="center" | false | ||

+ | | measure_winding_number_ | ||

+ | |- | ||

+ | | MEASURE[Local Density] | ||

+ | | align="center" | false | ||

+ | | measure_local_density_ | ||

+ | |- | ||

+ | | MEASURE[Local Density^2] | ||

+ | | align="center" | false | ||

+ | | measure_local_density2_ | ||

+ | |- | ||

+ | | MEASURE[Green Function] | ||

+ | | align="center" | false | ||

+ | | measure_green_function_ | ||

+ | |} | ||

+ | |||

+ | |||

+ | <div id="links_option3"></div> | ||

+ | {| border="1" | ||

+ | |- style="background:gray; color:white" | ||

+ | ! Option | ||

+ | ! Default | ||

+ | ! Remark | ||

+ | |- | ||

+ | | tof_phase | ||

+ | | align="center" | 0. | ||

+ | | time-of-flight phase <math>\gamma</math> | ||

+ | |} |

## Revision as of 19:44, 13 September 2013

## Contents

# Directed worm algorithm

### QMC 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 here, and the code implementation here.

The following table summarizes the basic options for the DWA simulation.

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 |