WallGo.PotentialTools.effectivePotentialNoResum.EffectivePotentialNoResum
- class EffectivePotentialNoResum(integrals=None, useDefaultInterpolation=False, imaginaryOption=EImaginaryOption.ERROR)[source]
Bases:
EffectivePotential,ABCOne-loop thermal effective potential
Specialization of the abstract EffectivePotential class that implements common functions for computing the 1-loop potential at finite temperature, without any assumptions regarding the temperature (no high- or low-\(T\) approximations). In some literature this would be the 4D effective potential.
Initialisation of EffectivePotentialNoResum
- Parameters:
integrals (Integrals, optional) – An object of the Integrals class. Default is None in which case the integrals will be done without interpolation. Beware this may be slow.
useDefaultInterpolation (bool, optional) – If True the default integration data will be loaded and used for interpolation.
imaginaryOption (EImaginaryOption) – Default is
EImaginaryOption.ERRORwhich throws an error if nonzero imaginary parts arise. Alternatives areEImaginaryOption.PRINCIPAL_PARTfor the principal part of the integrals,EImaginaryOption.ABS_RESULTfor taking the absolute part of the result, andEImaginaryOption.ABS_ARGUMENTfor taking the absolute part of the argument.
- Returns:
cls – An object of the EffectivePotentialNoResum class.
- Return type:
- __init__(integrals=None, useDefaultInterpolation=False, imaginaryOption=EImaginaryOption.ERROR)[source]
Initialisation of EffectivePotentialNoResum
- Parameters:
integrals (Integrals, optional) – An object of the Integrals class. Default is None in which case the integrals will be done without interpolation. Beware this may be slow.
useDefaultInterpolation (bool, optional) – If True the default integration data will be loaded and used for interpolation.
imaginaryOption (EImaginaryOption) – Default is
EImaginaryOption.ERRORwhich throws an error if nonzero imaginary parts arise. Alternatives areEImaginaryOption.PRINCIPAL_PARTfor the principal part of the integrals,EImaginaryOption.ABS_RESULTfor taking the absolute part of the result, andEImaginaryOption.ABS_ARGUMENTfor taking the absolute part of the argument.
- Returns:
cls – An object of the EffectivePotentialNoResum class.
- Return type:
Methods
__init__([integrals, ...])Initialisation of EffectivePotentialNoResum
allSecondDerivatives(fields, temperature)Computes \(d^2V/(d\text{Field}^2)\), \(d^2V/(d\text{Field} dT)\) and \(d^2V/(dT^2)\) at the ssame time.
True if derivative routines are ready to use.
bosonInformation(fields, temperature)Calculate the boson particle spectrum.
configureDerivatives(settings)Sets the temperature and field scales.
deriv2Field2(fields, temperature)Computes the Hessian, \(d^2V/(d\text{Field}^2)\).
deriv2FieldT(fields, temperature)Computes \(d^2V/(d\text{Field} dT)\).
derivField(fields, temperature)Compute field-derivative of the effective potential with respect to all background fields, at given temperature.
derivT(fields, temperature)Calculate derivative of the effective potential with respect to temperature.
evaluate(fields, temperature)Implement the actual computation of \(V_{\rm eff}(\phi)\) here.
fermionInformation(fields, temperature)Calculate the fermion particle spectrum.
findLocalMinimum(initialGuess, temperature)Finds a local minimum starting from a given initial configuration of background fields.
getInherentRelativeError()jCW(massSq, degreesOfFreedom, c, rgScale)Coleman-Weinberg potential
potentialOneLoop(bosons, fermions)One-loop corrections to the zero-temperature effective potential in dimensional regularization.
potentialOneLoopThermal(bosons, fermions, ...)One-loop thermal correction to the effective potential without any temperature expansions.
Attributes
SMALL_NUMBERNumber of background fields in your potential.
Typical relative accuracy at which the effective potential can be computed.
derivativeSettings- allSecondDerivatives(fields, temperature)
Computes \(d^2V/(d\text{Field}^2)\), \(d^2V/(d\text{Field} dT)\) and \(d^2V/(dT^2)\) at the ssame time. This function is more efficient than calling the other functions one at a time.
- Parameters:
fields (Fields) – The background field values (e.g.: Higgs, singlet)
temperature (array_like) – The temperature
- Returns:
d2VdField2 (list[Fields]) – Field Hessian of the potential. For each temperature, this is a matrix of the same size as Fields.
d2fdFielddT (list[Fields]) – Field derivatives of the potential, one Fields object for each temperature. They are of Fields type since the shapes match nicely.
d2VdT2 (array-like) – Temperature second derivative of the potential.
- areDerivativesConfigured()
True if derivative routines are ready to use.
- Return type:
bool
- abstractmethod bosonInformation(fields, temperature)[source]
Calculate the boson particle spectrum. Should be overridden by subclasses.
- Parameters:
fields (array_like) – Field value(s). Either a single point (with length Ndim), or an array of points.
temperature (float or array_like) – The temperature at which to calculate the boson masses. Can be used for including thermal mass corrrections. The shapes of fields and temperature should be such that fields.shape[:-1] and temperature.shape are broadcastable (that is, fields[0,…]*T is a valid operation).
- Returns:
massSq (array_like) – A list of the boson particle masses at each input point X. The shape should be such that massSq.shape == (X[…,0]*T).shape + (Nbosons,). That is, the particle index is the last index in the output array if the input array(s) are multidimensional.
degreesOfFreedom (float or array_like) – The number of degrees of freedom for each particle. If an array (i.e., different particles have different d.o.f.), it should have length Ndim.
c (float or array_like) – A constant used in the one-loop zero-temperature effective potential. If an array, it should have length Ndim. Generally c = 1/2 for gauge boson transverse modes, and c = 3/2 for all other bosons.
rgScale (float or array_like) – Renormalization scale in the one-loop zero-temperature effective potential. If an array, it should have length Ndim. Typically, one takes the same rgScale for all particles, but different scales for each particle are possible.
- Return type:
tuple[ndarray, float | ndarray, float | ndarray, float | ndarray]
- configureDerivatives(settings)
Sets the temperature and field scales. These quantities are used together with the ‘effectivePotentialError’ attribute to estimate the optimal step size when computing derivatives with finite differences. It is done by requiring that the potential error and the error from finite difference calculation contribute similarly to the derivative error.
- Parameters:
settings (VeffDerivativeSettings)
- Return type:
None
- deriv2Field2(fields, temperature)
Computes the Hessian, \(d^2V/(d\text{Field}^2)\).
- Parameters:
fields (Fields) – The background field values (e.g.: Higgs, singlet)
temperature (npt.ArrayLike) – Temperatures. Either scalar or a 1D array of same length as fields.NumPoints()
- Returns:
d2VdField2 – Field Hessian of the potential. For each temperature, this is a matrix of the same size as Fields.
- Return type:
list[Fields]
- deriv2FieldT(fields, temperature)
Computes \(d^2V/(d\text{Field} dT)\).
- Parameters:
fields (Fields) – The background field values (e.g.: Higgs, singlet)
temperature (array_like) – The temperature
- Returns:
d2fdFielddT – Field derivatives of the potential, one Fields object for each temperature. They are of Fields type since the shapes match nicely.
- Return type:
list[Fields]
- derivField(fields, temperature)
Compute field-derivative of the effective potential with respect to all background fields, at given temperature.
- Parameters:
fields (Fields) – The background field values (e.g.: Higgs, singlet)
temperature (array_like) – The temperature
- Returns:
dVdField – Field derivatives of the potential, one Fields object for each temperature. They are of Fields type since the shapes match nicely.
- Return type:
list[Fields]
- derivT(fields, temperature)
Calculate derivative of the effective potential with respect to temperature.
- Parameters:
fields (Fields) – The background field values (e.g.: Higgs, singlet)
temperature (array_like) – The temperature
- Returns:
dVdT – Temperature derivative of the potential, evaluated at each point of the input temperature array.
- Return type:
array_like
- effectivePotentialError: float
Typical relative accuracy at which the effective potential can be computed. For simple polynomial potentials this is probably close to machine precision of Python floats (1e-15). For loop-corrected potentials a limited factor can be the eg. accuracy of numerical integration. IMPORTANT: YOUR CONCRETE POTENTIAL MUST SET THIS TO A NONZERO POSITIVE FLOAT.
- abstractmethod evaluate(fields, temperature)
Implement the actual computation of \(V_{\rm eff}(\phi)\) here. The return value should be (the UV-finite part of) \(V_{\rm eff}\) at the input field configuration and temperature.
Normalization of the potential DOES matter: You have to ensure that full T-dependence is included. Pay special attention to field-independent “constant” terms such as (minus the) pressure from light fermions.
- Parameters:
fields (Fields | FieldPoint)
temperature (_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
- Return type:
_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]
- abstractmethod fermionInformation(fields, temperature)[source]
Calculate the fermion particle spectrum. Should be overridden by subclasses.
- Parameters:
fields (array_like) – Field value(s). Either a single point (with length Ndim), or an array of points.
temperature (float or array_like)
- Returns:
massSq (array_like) – A list of the fermion particle masses at each input point field. The shape should be such that massSq.shape == (field[…,0]).shape. That is, the particle index is the last index in the output array if the input array(s) are multidimensional.
degreesOfFreedom (float or array_like) – The number of degrees of freedom for each particle. If an array (i.e., different particles have different d.o.f.), it should have length Ndim.
c (float or array_like) – A constant used in the one-loop zero-temperature effective potential. If an array, it should have length Ndim. Generally c = 3/2 for all fermions.
rgScale (float or array_like) – Renormalization scale in the one-loop zero-temperature effective potential. If an array, it should have length Ndim. Typically, one takes the same rgScale for all particles, but different scales for each particle are possible.
- Return type:
tuple[ndarray, float | ndarray, float | ndarray, float | ndarray]
- fieldCount: int
Number of background fields in your potential. IMPORTANT: YOUR CONCRETE POTENTIAL MUST SET THIS TO A NONZERO POSITIVE INTEGER.
- findLocalMinimum(initialGuess, temperature, tol=None, method=None)
Finds a local minimum starting from a given initial configuration of background fields. Feel free to override this if your model requires more delicate minimization.
- Returns:
minimum, functionValue (tuple.)
minimum (list[float] is the location x of the minimum in field space.)
functionValue (float is Veff(x) evaluated at the minimum.)
If the input temperature is a numpy array, the returned values will be arrays of same length.
- Parameters:
initialGuess (Fields)
temperature (_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str])
tol (float)
method (str | None)
- Return type:
Tuple[Fields, ndarray]
- static jCW(massSq, degreesOfFreedom, c, rgScale)[source]
Coleman-Weinberg potential
- Parameters:
msq (array_like) – A list of the boson particle masses at each input point X.
degreesOfFreedom (float or array_like) – The number of degrees of freedom for each particle. If an array (i.e., different particles have different d.o.f.), it should have length Ndim.
c (float or array_like) – A constant used in the one-loop zero-temperature effective potential. If an array, it should have length Ndim. Generally c = 1/2 for gauge boson transverse modes, and c = 3/2 for all other bosons.
rgScale (float or array_like) – Renormalization scale in the one-loop zero-temperature effective potential. If an array, it should have length Ndim. Typically, one takes the same rgScale for all particles, but different scales for each particle are possible.
massSq (ndarray)
- Returns:
jCW – One-loop Coleman-Weinberg potential for given particle spectrum.
- Return type:
float or array_like
- potentialOneLoop(bosons, fermions)[source]
One-loop corrections to the zero-temperature effective potential in dimensional regularization.
- Parameters:
bosons (tuple) – bosonic particle spectrum (here: masses, number of dofs, ci)
fermions (tuple) – fermionic particle spectrum (here: masses, number of dofs)
RGscale (float) – RG scale of the effective potential
- Returns:
potential
- Return type:
float or array_like
- potentialOneLoopThermal(bosons, fermions, temperature)[source]
One-loop thermal correction to the effective potential without any temperature expansions.
- Parameters:
bosons (tuple) – bosonic particle spectrum (here: masses, number of dofs, ci)
fermions (tuple) – fermionic particle spectrum (here: masses, number of dofs)
temperature (float or array_like)
- Returns:
potential
- Return type:
float or array_like