Page 1 of 1

ValueError: f(a) and f(b) must have different signs

Posted: 27. Jul 2018, 16:06
by peinberg
Hi,

Recently I have been studying the vacuum stability of higgs and stau scalar potentials in MSSM with Vevacious. However I find that most parameter points can go through Vevacious but there are still some parameter points that can't be calculated successfully by Vevacious when I turn on thermal calculations. The error is as the followings:

tunnelingCalculator.npoints being given 137
falseVacuumArray = [0. 0. 0. 0.]
trueVacuumArray = [ 93.46248299 -3567.76895125 -3509.70633295 4699.95658229]
Traceback (most recent call last):
File "./Vevacious.py", line 197, in <module>
dsbEvaporationTemperature )
File "/home/pengbo/secondproject/6vevscan/test/VevaciousParameterDependent.py", line 1508, in FindOptimalTunnelingTemperature
thermalNotQuantum = True )
File "/home/pengbo/secondproject/6vevscan/test/VevaciousParameterDependent.py", line 1248, in CalculateAction
maxiter = outerLoopMaxDeformations )
File "/home/pengbo/VEVACIOUS/CosmoTransitions-2.0a2/cosmoTransitions/pathDeformation.py", line 935, in fullTunneling
profile1D = tobj.findProfile(**tunneling_findProfile_params)
File "/home/pengbo/VEVACIOUS/CosmoTransitions-2.0a2/cosmoTransitions/tunneling1D.py", line 700, in findProfile
rf, yf, ctype = self.integrateProfile(r0, y0, *integration_args)
File "/home/pengbo/VEVACIOUS/CosmoTransitions-2.0a2/cosmoTransitions/tunneling1D.py", line 504, in integrateProfile
x = optimize.brentq(lambda x: f(x)[1], 0,1)
File "/usr/local/lib/python2.7/dist-packages/scipy/optimize/zeros.py", line 510, in brentq
r = _zeros._brentq(f,a,b,xtol,rtol,maxiter,args,full_output,disp)
ValueError: f(a) and f(b) must have different signs

Minimizing the one-loop potential, calculating the tunneling time or its upper bound, and printing the results took 19.2795 seconds.

Warning! "./74.out" was not produced!

If I turn off thermal calculations they can go through it and they are all long lived points. I have tried to modify input settings or relevant programs but all methods failed. Do you know how to solve this problem? Thank you very much!

Best Wishes!
Bo

Re: ValueError: f(a) and f(b) must have different signs

Posted: 30. Jul 2018, 10:36
by benoleary
Dear Bo Peng,

as mentioned in our direct correspondence, I do not know exactly what the problem is, but suspect that the potential is too shallow for the computer code to resolve a barrier sufficiently.

Investigating the potential at a specific non-zero T might give some insights (as in, hacking the Vevacious.py code to just print out potential depths at a set of points where you put in values for T and the scalar fields, maybe in a grid around the minima, maybe at regular intervals in a straight line between the minima, and so on). Sometimes it's just that the algorithm used by CosmoTransitions just does not work.

Regards,
Ben

Re: ValueError: f(a) and f(b) must have different signs

Posted: 2. Aug 2018, 09:10
by FStaub
Hi,

it seems that something goes wrong with your runs:

Code: Select all

falseVacuumArray = [0. 0. 0. 0.]
trueVacuumArray = [ 93.46248299 -3567.76895125 -3509.70633295 4699.95658229]
One of these vacua should the ew one. Thus, Vevacious doesn't find the input minimum. As long as this doesn't work, I won't trust any result.
One possible origin might be that you use different loop levels for the parameters and the potential.

Cheers,
Florian

Re: ValueError: f(a) and f(b) must have different signs

Posted: 2. Aug 2018, 11:20
by benoleary
No, there's no problem if that's at a non-zero temperature, as the SU(2)-breaking minimum "evaporates" at a few hundred GeV I think.So Vevacious correctly rolls it to {0, 0, 0, 0}.