Handling of Tadpoles with SPheno
Solving the tadpole equations with SPheno
The Tadpole Equations can be used to eliminate free parameters of the model to ensure that that a parameter point is at the bottom of the potential. Therefore, SPheno makes use of these equations to calculate a set of parameters for which no input value must be defined. The set of parameter is defined via the two lists
ParametersToSolveTadpoles = {List of parameters};
ParametersToSolveTadpolesLowScaleInput = {List of parameters};
The second list can optionally be defined for models in which the tadpole equations shall be solved for different parameters when using a low scale input compare to the high scale input. If ParametersToSolveTadpolesLowScaleInput
is not defined, the same parameters as defined in ParametersToSolveTadpoles
are also used for the low scale input.
Example
The standard choice for the MSSM is that the tadpoles are solved for constrained models with respect to μ and B_{μ}, while for a SUSY scale input the softbreaking masses for the Higgs doublets (m_{Hd}^{2}, m_{Hu}^{2}) are obtained from the tadpole equations. These two choices are defined via
ParametersToSolveTadpoles = {\[mu], B[\mu]};
ParametersToSolveTadpolesLowScaleInput = {mHd2,mHu2};
The expressions for the constrained parameters are automatically used during the numerical analysis at the SUSY as well at the electroweak scale. That’s possible, because also the RGE evaluation of all VEVs is included in the generated SPheno version. If models with CP violation in the Higgs sector are studied, it is often necessary to solve the tadpole equations for complex parameters. This can be done by demanding that Mathematica should solve the tadpole equations for the real and imaginary part of the corresponding parameter, e.g.
ParametersToSolveTadpoles = {\[mu], re[B[\mu]], im[B[\mu]]};
Method to solve the tadpole equations and SPheno
Analytical solution
By default, SARAH uses the Solve
command of Mathematica to solve the tadpole equations for the given set of parameters. This is only possible if Mathematica finds (at least) one analytical solution, which is afterwards hardcoded in the SPheno code. It can also happen, that several solutions exists. Here, two cases how to be distinguished:

If one parameter appears only as X^{2} in the equations, it is not possible to obtain the phases of X from the equations. Therefore, the phease must be given as additional input parameters. The convention is that the phases is called
SignumX
which can for instance be defined via theMINPAR
orEXTPAR
block. 
If several independent solutions exists, SARAH writes all of them into the SPheno code and the user can choose a specific solution during the numerical evaluation by using the flag Block SPhenoInput # SPheno specific input ... 65 N # Solution tadpole equation
in the Les Houches input file.
N
is an integer which counts the solution. To see whichN
corresponds to which solution, one can check the order of solutions in the fileTadpoleEquations_MODEL.f90
written by SARAH.
Example

In the constrained MSSM, the tadpole equations depend only on
\mu^2<\m>, i.e. the phase of <math>\mu
is not fixed. Therefore, it is common to define the sign (or in general the phase) of μ via an input parameters in the blockMINPAR
: MINPAR = {... {4,SignumMu}, ...; 
If one solves the tadpole equations in the MSSM with Rparity violation with respect to μ, not only terms μ^{2}, but also terms μ**ϵ appear in the equations. Thus, one finds two independent solutions for μ. Therefore, one can user either 65 1 # Solution tadpole equation
or
65 2 # Solution tadpole equation
Note, neither SARAH nor SPheno checks if one minimum is deeper than the other and points out potential problems with vacuum stability! For this purpose, one could use for instance Vevacious to check the vacuum stability.
Numerical solutions
So far, we assumed that Mathematica finds an analytical solution for the tadpoles. This must not always be the case. In particular, of the tadpoles shall be solved for VEVs which appear with third power, this is rather unlikely. For those cases, one try to let SPheno find a numerical solution. The input is as follows:
ParametersToSolveTadpoles = {X, Y,...};
NumericalSolutionTadpoleEquations = True;
InitializationTadpoleParameters = {X > StartX, Y > StartY, ...};
This means that
 First the parameters to solve the tadpoles are defined as usual
 However, SARAH skips the attempts to solve the equations analytical and exports the equations to SPheno
 SPheno tries to solve the equations numerically with a brodyn methode where it uses as starting point the values
StartX
,StartY
for the parameters.
Example
Even if there is no good reason for that, one can also use the numerical method to solve the tadpole equations in the MSSM with respect to μ and B_{μ}. The corresponding input reads
ParametersToSolveTadpoles = {\[Mu],B[\[Mu]], x1, x2};
NumericalSolutionTadpoleEquations = True;
InitializationTadpoleParameters = { \[Mu] > m0, B[\[Mu]]> m0^2};
In the third line one assumes that μ is O(m_{0}) and B_{μ} is O(m_{0}^{2}). These values are used in the numerical routines for initializing the calculation. Of course, other possible and reasonable choices would have been to relate μ, B_{μ} with the running softbreaking terms of the Higgs:
InitializationTadpoleParameters = { \[Mu] > Sqrt[mHd2], B[\[Mu]]> mHd2};
Also constant values can be used
InitializationTadpoleParameters = { \[Mu] > 10^3, B[\[Mu]]> 10^6};
Usually, the time needed to find the solution changes only slightly with the chosen initialization values as long as they are not completely off. Note, all choices above would only find the solution which is the closest one to the initialization values. However, the equations are cubic in the VEVs and there will be in general many solutions. Thus, it would be necessary to check if the found vacuum is the global one or at least longlived. This could be done for instance with Vevacious.
Further options to solve the tadpole equations
Solving for real and imaginary parts
If models with CP violation in the Higgs sector are studied, it is often necessary to solve the tadpole equations for complex parameters. This can be done by demanding that Mathematica should solve the tadpole equations for the real and imaginary part of the corresponding parameter. The Header for doing that are re
and im
Example
ParametersToSolveTadpoles = {\[mu], re[B[\mu]], im[B[\mu]]};
Assumptions
It is possible to define a list with replacements which are done by SARAH when it tries to solve the tadpole equations. These assumptions are set via
AssumptionsTadpoleEquations={...}
Example
To approximate some matrices as diagonal and to assume that all parameters are real, one could use
AssumptionsTadpoleEquations = {Yx[a__]>Delta[a] Yx[a],
T[Yx][a__]>Delta[a] T[Yx][a], conj[x_]>x};
That has, of course, no impact on our example because these matrices don’t show up in the tadpole equations. However, in the Rparity violating case with sneutrinos VEVs this might help to find analytical solutions which don’t exists in the most general case.
Fixed solutions
There might be cases in which an analytical solution exists when some approximations are made, but Mathematica doesn’t find this solution. Then, it might be useful to give the solutions as input in SPheno.m
. This can be done via
UseGivenTapdoleSolution=True;
SubSolutionsTadpolesTree = {x1 > sol1Tree, x2 > sol2Tree,...};
SubSolutionsTadpolesLoop = {x1 > sol1Loop, x2 > sol2Loop, ....};
Note, the solutions have to be given for the treelevel and loop corrected tadpole equations. In the loopcorrected tadpole equations the oneloop contributions are parametrized by Tad1Loop[i]
where i is an integer counting the equations.