TRIQS / triqs_0.x

DEPRECATED -- This is the repository of the older versions of TRIQS
Other
11 stars 9 forks source link

Modify acceptance probabilities for impurity solver #134

Closed JohanSchott closed 11 years ago

JohanSchott commented 11 years ago

Hi,

I am using the hybridisation-expansion solver for a SIAM problem with legendre sampling. How does one change the acceptance probability values?

I have used the following solver-settings: U = 4

S = Solver( Beta = 100, GFstruct = [ ('up',[1]), ('down',[1]) ], H_Local = U * N('up',1) * N('down',1), Quantum_Numbers = { 'Nup' : N('up',1), 'Ndown' : N('down',1) }, N_Cycles = 1000000, Length_Cycle = 200, N_Warmup_Cycles = 100000, N_Legendre_Coeffs = 70, Random_Generator_Name = 'mt19937', Random_Seed = 1, Use_Segment_Picture = True, Proba_Move = 1.0, Proba_Insert_Remove = 1.0, )

S.G0 is determined from a converged DMFT-loop of the single-band Hubbard model on a Bethe-lattice (bandwidth 2). Here is the output from the solver:

Acceptance probability of move : INSERT : 0.0888183 Move set : INSERT Acceptance probability of move : Insert0 : 0.0888434 Acceptance probability of move : Insert1 : 0.0887933 Acceptance probability of move : REMOVE : 0.0887726 Move set : REMOVE Acceptance probability of move : Remove0 : 0.0888112 Acceptance probability of move : Remove1 : 0.0887341 Acceptance probability of move : Move C Delta : 0.064086 Monte-Carlo : Time measurements (cpu time) : time elapsed total : 563 seconds Solver Hybridization Expansion has ended.

Are the acceptance values not too low? Shouldn't they be around 0.5 as in a normal Markov process? If so, how do I change them? I have tried to change the solver-parameters: Proba_Move Proba_Insert_Remove away from their default values (1.0 and 1.0) to eg. (1.0 and 5.0) and (5.0 and 5.0) but no change in the acceptance probabilities were observed.

best regards Johan

mferrero commented 11 years ago

Hi Johan! There is not much you can do to change the acceptance rates. These rates depend on what kind of Monte Carlo sampling is done and is therefore controlled by the implementation of the algorithm itself. There is no external parameter that can change these rates. In any case, an acceptance rate of 0.08 in this kind of Monte Carlo algorithm is more than enough!