|
| | Diagram (double beta, int s0, double H, double GAMMA, std::list< double > _vertices=std::list< double >(), unsigned int seed=std::chrono::system_clock::now().time_since_epoch().count()) |
| | Construct a new Diagram object, setting its defining parameters. The list of vertices is optional: by default it is the empty list, corresponding to the 0-th order diagram [0]----—[beta]. Optionally, a seed for the Mersenne-Twister random number generator can be explicitly set. More...
|
| |
| bool | attempt_add_segment () |
| | Attemps the ADD_SEGMENT update for the current status of the diagram. More...
|
| |
| bool | attempt_remove_segment () |
| | Attemps the REMOVE_SEGMENT update for the current status of the diagram. More...
|
| |
| bool | attempt_spin_flip () |
| | Attemps the SPIN_FLIP update for the current status of the diagram. More...
|
| |
| void | reset_diagram (double beta, int s0, double H, double GAMMA, std::list< double > vertices=std::list< double >(), unsigned int seed=std::chrono::system_clock::now().time_since_epoch().count()) |
| | Reset all diagram parameters with the new values. More...
|
| |
| double | operator/ (const Diagram_core &other) const |
| | Returns the ratio of the weights of the two diagrams, i.e. this->value()/other.value() More...
|
| |
| | Diagram_core (double beta, int s0, double H, double GAMMA, std::list< double > vertices=std::list< double >()) |
| | Construct a new diagram, setting its defining parameters. The list of vertices is optional: by default it is the 0-th order diagram [0]----—[beta]. More...
|
| |
| bool | operator== (const Diagram_core &other) const |
| | operator to test wether two Diagram_core objects are equal. It is intended for TESTING purposes only, and not to be used within the program. It checks that all values defining a diagram (beta, s0, H, GAMMA and each vertex in the vertices list) of the two Diagram_core objects are within EPSILON = 1e-10 from each other. EPSILON is defined at the beginning of diagram.h More...
|
| |
| bool | operator!= (const Diagram_core &other) const |
| | operator to test wether two Diagram_core objects are different. It is the negation of operator==. It is intended for TESTING purposes only, and not to be used within the program. More...
|
| |
| double | operator/ (const Diagram_core &other) const |
| | Returns the ratio of the weights of the two diagrams, i.e. this->value()/other.value() More...
|
| |
| double | sum_deltatau () const |
| | Small helper function, performing the sum (... +t4-t3 + t2-t1) More...
|
| |
| double | value () const |
| | Returns the value ("weight") of the current diagram. More...
|
| |
| size_t | order () const |
| | Get the order of the diagram (number of _vertices) More...
|
| |
| double | get_beta () const |
| | Get the value of _beta (length of the diagram) More...
|
| |
| int | get_s0 () const |
| | Get the value of the spin of the 0-th segment of the diagram [0—t1]. More...
|
| |
| double | get_H () const |
| | Get the value of the longitudinal field _H. More...
|
| |
| double | get_GAMMA () const |
| | Get the value of the transverse field _GAMMA. More...
|
| |
| std::list< double > | get_vertices () const |
| | Get a copy of the list of _vertices. More...
|
| |
| double | acceptance_rate_add (double tau1, double tau2, double tau2max, double new_segment_spin) const |
| | Returns the acceptance rate for the ADD_SEGMENT update for the given parameters. More...
|
| |
| double | acceptance_rate_remove (double tau1, double tau2, double tau2max, double segment_toberemoved_spin) const |
| | Returns the acceptance rate for the REMOVE_SEGMENT update for the given parameters. More...
|
| |
| double | acceptance_rate_flip () const |
| | Returns the acceptance rate for the SPIN_FLIP update for the given parameter. More...
|
| |
| bool | attempt_add_segment (double RN1, double RN2, double RNacc) |
| | Attemps the ADD_SEGMENT update for the current status of the diagram, using the three random numbers given in input. More...
|
| |
| bool | attempt_remove_segment (double RN1, double RNacc) |
| | Attemps the REMOVE_SEGMENT update for the current status of the diagram, using the two random numbers given in input. More...
|
| |
| bool | attempt_spin_flip (double RNacc) |
| | Attemps the SPIN_FLIP update for the current status of the diagram, using the random number given in input. More...
|
| |
This is the main Diagram class, containing the variables defining the diagram - inherited from Diagram_core - and the functions to attempt the updates.
Definition at line 221 of file diagram.h.