BSMPT 3.0.7
BSMPT - Beyond the Standard Model Phase Transitions : A C++ package for the computation of the EWPT in BSM models
|
Public Member Functions | |
MinimumTracer () | |
default constructor | |
MinimumTracer (const std::shared_ptr< Class_Potential_Origin > &pointer_in, const int &WhichMinimizer_in, const bool &UseMultithreading_in) | |
constructor | |
void | FindFlatDirections () |
Calculates flat field directions. | |
void | ConvertToNonFlatDirections (std::vector< double > &point) |
Convert point into minimal non-flat space, reduces dimension in case of flat directions, point has to have VEV dimension. | |
void | FindDiscreteSymmetries () |
Calculates the list of symmetries that leave V unchanged. | |
std::vector< double > | ConvertToVEVDim (const std::vector< double > &point) |
ConvertToVEVDim converts point from full to reduced (VEV) dimension. | |
std::vector< double > | GetGlobalMinimum (const double &Temp, std::vector< double > &check, const std::vector< double > &start) |
get global minimum of effective potential | |
std::vector< double > | GetGlobalMinimum (const double &Temp, const std::vector< double > &start) |
get global minimum of effective potential | |
std::vector< double > | GetGlobalMinimum (const double &Temp) |
get global minimum of effective potential | |
void | IsGlobMin (Minimum &min) |
IsGlobMin checks whether current minimum is the global minimum. | |
StatusNLOStability | GetStatusNLOVEV (const bool &out) |
GetStatusNLOVEV convert bool output of CheckNLOVEV to status string. | |
StatusEWSR | GetStatusEWSR (const int &out) |
GetStatusEWSR convert double output of IsThereEWSymmetryRestoration to status string. | |
int | IsThereEWSymmetryRestoration () |
IsThereEWSymmetryRestoration checks if there is EW symmetry restoration at high temperatures. | |
double | SmallestEigenvalue (const std::vector< double > &point, const std::function< std::vector< std::vector< double > >(std::vector< double >)> &Hessian) |
SmallestEigenvalue calculate Eigenvalues of Hessian and returns smallest. | |
std::vector< double > | FindZeroSmallestEigenvalue (std::vector< double > point_1, double T_1, std::vector< double > point_2, double T_2) |
FindZeroSmallestEigenvalue. | |
std::vector< Minimum > | TrackPhase (double &globMinEndT, const std::vector< double > &point_In, const double ¤tT_In, const double &finalT, const double &dT_In=1, const bool &output=true, const bool &unprotected=false) |
TrackPhase with enforced global minimum tracing (= phase is checked if it is still the global minimum until it is no longer, then the current temperature is stored in globMinEndT) | |
std::vector< Minimum > | TrackPhase (const std::vector< double > &point_In, const double ¤tT_In, const double &finalT, const double &dT_In=1, const bool &output=true, const bool &unprotected=false) |
TrackPhase. | |
void | ReduceVEV (std::vector< double > &vev) |
Reduce the VEV into the same principal quadrant. | |
void | ReduceVEV (Minimum &min) |
Reduce the VEV of the minimum into the same principal quadrant. | |
const std::vector< std::vector< double > > | WarpPath (const std::vector< std::vector< double > > &path, const std::vector< double > &T1, const std::vector< double > &F1, const std::vector< double > &T2, const std::vector< double > &F2) |
WarpPath. | |
std::vector< double > | LocateMinimum (const std::vector< double > &guess_In, std::function< std::vector< double >(std::vector< double >)> &df, std::function< std::vector< std::vector< double > >(std::vector< double >)> &Hessian, const double &error=1e-4, const double &const_multiplier=1e-2, const int &maxiter=100) |
Finds stationary points of a function (not only minimas). | |
std::vector< std::string > | GetLegend (const int &num_coex_phases, const bool &do_gw_calc) |
GetLegend derive legend. | |
Public Attributes | |
double | GradientThreshold = 1e-3 |
Threshold for the acceptable gradient. | |
double | HessianDiagonalShift = 1e-3 |
Add a constant to the diagonals of the hessian matrix in the LocateMinimum function. Helps with convergence. | |
std::vector< double > | HighTemperatureVEV |
Minimum found in IsThereEWSymmetryRestoration() | |
std::vector< Minimum > | SavedMinimaFromVEVSplitting |
Vector to store minima that appeared from VEV splittings. | |
bool | flat_dirs_found = false |
bool to store whether flat directions are found | |
std::vector< int > | NonFlatDirections |
storage of all non-flat VEV-directions | |
std::vector< std::size_t > | flat_1D_dirs |
storage of indices of flat 1D directions in VEV basis | |
std::vector< std::vector< std::size_t > > | flat_2D_dirs |
storage of indices of flat 2D directions in VEV basis | |
std::vector< std::vector< std::size_t > > | flat_3D_dirs |
storage of indices of flat 3D directions in VEV basis | |
std::vector< Eigen::MatrixXd > | GroupElements |
List of group elements allowed by the potential. | |
Protected Attributes | |
std::shared_ptr< Class_Potential_Origin > | modelPointer |
modelPointer for the used parameter point | |
Private Attributes | |
int | WhichMinimizer |
bool | UseMultithreading |
BSMPT::MinimumTracer::MinimumTracer | ( | const std::shared_ptr< Class_Potential_Origin > & | pointer_in, |
const int & | WhichMinimizer_in, | ||
const bool & | UseMultithreading_in | ||
) |
constructor
pointer_in | this->modelPointer for used parameter point |
WhichMinimizer_in | which minimizers are used |
UseMultithreading_in | whether or not multithreading is used |
std::vector< double > BSMPT::MinimumTracer::ConvertToVEVDim | ( | const std::vector< double > & | point | ) |
ConvertToVEVDim converts point from full to reduced (VEV) dimension.
point | point in full field dimension |
std::vector< double > BSMPT::MinimumTracer::FindZeroSmallestEigenvalue | ( | std::vector< double > | point_1, |
double | T_1, | ||
std::vector< double > | point_2, | ||
double | T_2 | ||
) |
FindZeroSmallestEigenvalue.
point_1 | first point |
T_1 | temperature of first point |
point_2 | second point |
T_2 | temperature of second point |
std::vector< double > BSMPT::MinimumTracer::GetGlobalMinimum | ( | const double & | Temp | ) |
get global minimum of effective potential
Temp | temperature |
std::vector< double > BSMPT::MinimumTracer::GetGlobalMinimum | ( | const double & | Temp, |
const std::vector< double > & | start | ||
) |
get global minimum of effective potential
Temp | temperature |
start | start value for CMA-ES minimization |
std::vector< double > BSMPT::MinimumTracer::GetGlobalMinimum | ( | const double & | Temp, |
std::vector< double > & | check, | ||
const std::vector< double > & | start | ||
) |
get global minimum of effective potential
Temp | temperature |
check | storage for minimization debugging options |
start | start value for CMA-ES minimization |
std::vector< std::string > BSMPT::MinimumTracer::GetLegend | ( | const int & | num_coex_phases, |
const bool & | do_gw_calc | ||
) |
GetLegend derive legend.
num_coex_phases | number of coexisting phase regions |
do_gw_calc | bool that determines whether gw calculation is performed |
StatusEWSR BSMPT::MinimumTracer::GetStatusEWSR | ( | const int & | out | ) |
GetStatusEWSR convert double output of IsThereEWSymmetryRestoration to status string.
out | int output of IsThereEWSymmetryRestoration |
StatusNLOStability BSMPT::MinimumTracer::GetStatusNLOVEV | ( | const bool & | out | ) |
GetStatusNLOVEV convert bool output of CheckNLOVEV to status string.
out | bool output of CheckNLOVEV |
void BSMPT::MinimumTracer::IsGlobMin | ( | Minimum & | min | ) |
IsGlobMin checks whether current minimum is the global minimum.
min | Minimum to check, sets is_glob_min to true if min is global minimum |
int BSMPT::MinimumTracer::IsThereEWSymmetryRestoration | ( | ) |
IsThereEWSymmetryRestoration checks if there is EW symmetry restoration at high temperatures.
std::vector< double > BSMPT::MinimumTracer::LocateMinimum | ( | const std::vector< double > & | guess_In, |
std::function< std::vector< double >(std::vector< double >)> & | df, | ||
std::function< std::vector< std::vector< double > >(std::vector< double >)> & | Hessian, | ||
const double & | error = 1e-4 , |
||
const double & | const_multiplier = 1e-2 , |
||
const int & | maxiter = 100 |
||
) |
Finds stationary points of a function (not only minimas).
guess_In | is the initial guess for the minimum |
df | gradient of the function to be minimized |
Hessian | hessian of the function |
error | Maximum size of \( | \vec{df} | \) that is considered a minimum |
const_multiplier | If \( \det{Hessian} = 0\) this method does not work. In that case we move the guess as \( \vec{p} \rightarrow \vec{p} - const\_multiplier * \vec{df}\) |
maxiter | Maximum iteration exiting function |
void BSMPT::MinimumTracer::ReduceVEV | ( | Minimum & | min | ) |
Reduce the VEV of the minimum into the same principal quadrant.
min | to be rotated |
void BSMPT::MinimumTracer::ReduceVEV | ( | std::vector< double > & | vev | ) |
Reduce the VEV into the same principal quadrant.
point | to be rotated |
double BSMPT::MinimumTracer::SmallestEigenvalue | ( | const std::vector< double > & | point, |
const std::function< std::vector< std::vector< double > >(std::vector< double >)> & | Hessian | ||
) |
SmallestEigenvalue calculate Eigenvalues of Hessian and returns smallest.
point | point where to evaluate the Hessian |
Hessian | Hessian function |
std::vector< Minimum > BSMPT::MinimumTracer::TrackPhase | ( | const std::vector< double > & | point_In, |
const double & | currentT_In, | ||
const double & | finalT, | ||
const double & | dT_In = 1 , |
||
const bool & | output = true , |
||
const bool & | unprotected = false |
||
) |
TrackPhase.
point_In | start point for tracking |
currentT_In | start point temperature for phase tracking |
finalT | end point temperature |
dT_In | initial temperature step size |
output | if true tracking output is printed on the screen |
unprotected | if true we dont check the hessian |
std::vector< Minimum > BSMPT::MinimumTracer::TrackPhase | ( | double & | globMinEndT, |
const std::vector< double > & | point_In, | ||
const double & | currentT_In, | ||
const double & | finalT, | ||
const double & | dT_In = 1 , |
||
const bool & | output = true , |
||
const bool & | unprotected = false |
||
) |
TrackPhase with enforced global minimum tracing (= phase is checked if it is still the global minimum until it is no longer, then the current temperature is stored in globMinEndT)
globMinEndT | temperature at which phase is no longer global minimum |
point_In | start point for tracking |
currentT_In | start point temperature for phase tracking |
finalT | end point temperature |
dT_In | initial temperature step size |
output | if true tracking output is printed on the screen |
unprotected | if true we dont check the hessian |
const std::vector< std::vector< double > > BSMPT::MinimumTracer::WarpPath | ( | const std::vector< std::vector< double > > & | path, |
const std::vector< double > & | T1, | ||
const std::vector< double > & | F1, | ||
const std::vector< double > & | T2, | ||
const std::vector< double > & | F2 | ||
) |
WarpPath.
path | |
T1 | |
F1 | |
T2 | |
F2 |