|
Path Integral Quantum Monte Carlo
|
A derived class which performs a swap head move, which mixes up worldlines by reconnecting the worm head and is essential for systems with permutation symmetry (such as bosons). More...
#include <move.h>
Inheritance diagram for SwapHeadMove:
Collaboration diagram for SwapHeadMove:Public Member Functions | |
| SwapHeadMove (Path &, ActionBase *, MTRand &, ensemble _operateOnConfig=OFFDIAGONAL) | |
| Constructor. | |
| ~SwapHeadMove () | |
| Destructor. | |
| bool | attemptMove () |
| Perform a swap head move. More... | |
| string | getName () |
| return the move name | |
Public Member Functions inherited from SwapMoveBase | |
| SwapMoveBase (Path &, ActionBase *, MTRand &, ensemble _operateOnConfig=OFFDIAGONAL) | |
| Constructor. | |
| ~SwapMoveBase () | |
| Destructor. | |
Public Member Functions inherited from MoveBase | |
| MoveBase (Path &, ActionBase *, MTRand &, ensemble _operateOnConfig=ANY, bool _varLength=false) | |
| Move naming conventions: More... | |
| virtual | ~MoveBase () |
| Destructor. | |
| double | getAcceptanceRatio () |
| Get the acceptance ratio. | |
| double | getTotAcceptanceRatio () |
| Get the total acceptance ratio. | |
| double | getAcceptanceRatioLevel (int n) |
| Get the acceptance ratio by level. | |
| int | getNumAttempted () |
| Get the number of moves attempted. | |
| int | getNumAccepted () |
| Get the number of moves accepted. | |
| int | getNumAttemptedLevel (int n) |
| Get the number of moves attempted by level. | |
| int | getNumAcceptedLevel (int n) |
| Get the number of moves accepted by level. | |
| void | resetTotAccept () |
| Reset the total accepted counter. | |
| void | resetAccept () |
| Reset the number accepted counter. | |
Static Public Attributes | |
| static const string | name |
Additional Inherited Members | |
Data Fields inherited from MoveBase | |
| ensemble | operateOnConfig |
| What configurations do we operate on? | |
| bool | variableLength |
| Does the move have a variable length? | |
| string | name1 |
Protected Member Functions inherited from SwapMoveBase | |
| double | getNorm (const beadLocator &, const int sign=1) |
| Get the normalization constant for a swap move. More... | |
| beadLocator | selectPivotBead () |
| Select the pivot bead for a swap move. More... | |
| beadLocator | selectPivotBead (iVec &) |
| *************************************************************************//** More... | |
Protected Member Functions inherited from MoveBase | |
| dVec | newStagingPosition (const beadLocator &, const beadLocator &, const int, const int) |
| Returns a new staging position which will exactly sample the kinetic action. More... | |
| dVec | newStagingPosition (const beadLocator &, const beadLocator &, const int, const int, iVec &) |
| Returns a new staging position which will exactly sample the kinetic action in different winding sectors. More... | |
| iVec | sampleWindingSector (const beadLocator &, const beadLocator &, const int, double &) |
| Obtain a winding sector for a stage-like move. More... | |
| iVec | getWindingNumber (const beadLocator &, const beadLocator &) |
| Find the winding number for a path between two beads. More... | |
| dVec | newFreeParticlePosition (const beadLocator &) |
| Generates a new position, which exactly samples the free particle density matrix. More... | |
| dVec | newBisectionPosition (const beadLocator &, const int) |
| Returns a new bisection position which will exactly sample the kinetic action. More... | |
| void | printMoveState (string) |
| void | checkMove (int, double) |
Protected Attributes inherited from SwapMoveBase | |
| int | swapLength |
| The length of worldLine to be moved. | |
| int | numLevels |
| The number of bisection levels. | |
| unsigned int | sizeCDF |
| The size of the cumulative distribution function. | |
| vector< double > | cumulant |
| The cumulant array used in selecting a pivot. | |
| beadLocator | pivot |
| The pivot bead. | |
| beadLocator | swap |
| The swap bead. | |
| double | SigmaSwap |
| Probability normalization factor. | |
Protected Attributes inherited from MoveBase | |
| Path & | path |
| A reference to the paths. | |
| ActionBase * | actionPtr |
| A base pointer to the action. | |
| MTRand & | random |
| A reference to the RNG. | |
| bool | success |
| Did we sucessfully perform a move? | |
| uint32 | numAccepted |
| The number of accepted moves. | |
| uint32 | numAttempted |
| The number of attempted moves. | |
| int | numToMove |
| The number of particles moved. | |
| int | numLevels |
| Array< uint32, 1 > | numAcceptedLevel |
| The number of moves accepted at each level. | |
| Array< uint32, 1 > | numAttemptedLevel |
| The number of moves attempted at each level. | |
| Array< dVec, 1 > | originalPos |
| The original particle positions. | |
| Array< dVec, 1 > | newPos |
| New particle positions. | |
| vector< iVec > | winding |
| The winding vectors | |
| vector< int > | windingSector |
| Used to index different winding sectors. | |
| vector< double > | cumrho0 |
| Used for tower-sampling winding sectors. | |
| int | maxWind |
| The largest winding number. | |
| int | numWind |
| The total number of winding vectors. | |
| double | oldAction |
| The original potential action. | |
| double | newAction |
| The new potential action. | |
| double | deltaAction |
| The action difference. | |
| double | sqrt2LambdaTau |
| sqrt(2 * Lambda * tau) | |
| double | sqrtLambdaTau |
| sqrt(Lambda * tau) | |
| beadLocator | nBeadIndex |
| Neighbor bead index. | |
| dVec | neighborPos |
| Staging neighbor position. | |
| dVec | newRanPos |
| Staing random position. | |
| double | newK |
| double | oldK |
| The old and new kinetic action. | |
| double | newV |
| double | oldV |
| The old and new potential action. | |
Static Protected Attributes inherited from MoveBase | |
| static uint32 | totAccepted = 0 |
| The total number of moves accepted. | |
| static uint32 | totAttempted = 0 |
| The total number of moves attempted. | |
A derived class which performs a swap head move, which mixes up worldlines by reconnecting the worm head and is essential for systems with permutation symmetry (such as bosons).
|
virtual |
Perform a swap head move.
Attempt to perform a swap move that samples particle permuations due to the indistinguishability of bosons by reattaching the worm head to another worldline..
Implements MoveBase.
Definition at line 3317 of file move.cpp.
Here is the call graph for this function: