More precise mass spectrum calculation
In some cases a numerical more precise calculation is needed to diagonalise mass matrices in SPheno. This is the case if the hierarchy in the mass matrix very large. In that case double precision with about 15 digits precision might not be sufficient. The best example are models with Rparity violation where neutrinos and neutralinos mix. Another example are seesaw typeI like models where TeVscale rightneutrinos mix with the leftneutrinos. In this case one has to go for quadruple precision which gives a precision of about 32 digits. To enable quadruple precision for specific masses, two small changes are necessary:

In
SPheno.m
used to set up the SPheno output, one has to define for which particles the higher precision is needed. This is done with the variableQuadruplePrecision
which accepts a list of mass eigenstates. If we just want to have the masses of the neutrinos, which are calledFv
in the considered model, with higher precision, the corresponding line reads QuadruplePrecision = {Fv}; 
One must change the
Makefile
of SPheno located in thesrc
directory and remove the compiler flagDONLYDOUBLE
. This flags forces all calculations just to be done with double precision. Thus,PreDef
must be defined as PreDef = DGENERATIONMIXINGBy doing that, the routines necessary for a higher precision get compiled. To make sure that everything is consistent, one has to recompile the entire code after changing the
Makefile
:cd $PATH/SPHENO make cleanall make MODEL=$NAME