|
Path Integral Quantum Monte Carlo
|
A derived class which performs a swap tail move, which mixes up worldlines by reconnecting the worm tail and is essential for systems with permutation symmetry (such as our bosons). More...
#include <move.h>
Inheritance diagram for SwapTailMove:
Collaboration diagram for SwapTailMove:Public Member Functions | |
| SwapTailMove (Path &, ActionBase *, MTRand &, ensemble _operateOnConfig=OFFDIAGONAL) | |
| Constructor. | |
| ~SwapTailMove () | |
| Destructor. | |
| bool | attemptMove () |
| Perform a swap tail 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 tail move, which mixes up worldlines by reconnecting the worm tail and is essential for systems with permutation symmetry (such as our bosons).
|
virtual |
Perform a swap tail move.
Try to perform a swap tail move that samples particle permuations due to the indistinguishability of bosons by reattaching the tail to a worldline.
Implements MoveBase.
Definition at line 3554 of file move.cpp.
Here is the call graph for this function: