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