Adds support for multiple field inflation to all functions.
Changes stopping conditions to rely on density only. Now simulation stops when field density reaches a stable value. The main advantage is that it works for multiple field case. The downside is that it is much slower than counting the number of field bounces.
Fixes InflationEvolution so that it now detects when density becomes negative and still returns evolution up to that point without producing any warning messages.
Changes initial condition specification format so that now fields need to be specified as, for example, {a, 1, 0} instead of {a[t], 1, 0}.
Changes InflationEvolution to directly return the sign of density at the end of inflation (thus whether inflation stops or not), the total number of e-foldings and total integration time, so InflationStopsQ and InflationEfoldingsCount are now removed.
Adds automatic time rescaling to InflationEvolution which helps with simulating extremely large or extremely small potentials.
Observables
Removes InflationProperty and instead adds the ability to use any expression of property-strings and their derivatives as an input to InflationValue. This allows to compute, for example, a derivative of the product of number of e-foldings and slow-roll epsilon as ("Efoldings" "SlowRollEpsilon")'.
Adds the ability to use the output of InflationEvolution as an input to InflationValue. That could cause potential problems when inconsistent inputs are supplied, but it makes optimizations easier.
Allows computation of arbitrary derivatives of observables (i.e., "SlowRollEpsilon"'''''' will compute the 6-th derivative) and streamlines their specification.
Changes InflationValue to automatically and efficiently thread over time specifications, which makes it possible to do ListPlots of various observables over time.
Adds "InflatonLagrangianValue" function that can compute various observables from the Lagrangian along without the need to compute evolution. Specifically, it can compute "SlowRollEpsilon", "SlowRollEta" and "EffectiveAxionDecayConstant" for multiple-field Lagrangians.
Removed features
Removes adaptive WorkingPrecision adjustments from InflationSimulator, WorkingPrecision has now to be set manually.
Removes "Debug" option from InflationEvolution.
The new stopping conditions in InflationEvolution are significantly slower than the old ones, but the old ones are not generalizable for multiple-field inflation.
Removes "Lagrangian", "Potential", "Density", "Pressure", absolute values of power spectra and "NonGaussianityAmplitude" and related parameters.
Removes Method from "SlowRollEpsilon", etc. Values from potential now need to be computed with InflatonLagrangianValue instead.
Tests and commands
Build and install the paclet as described in readme.
Documentation pages for all symbols are updated, so evaluate all examples to verify that it works.
New features
Simulation
InflationEvolution
so that it now detects when density becomes negative and still returns evolution up to that point without producing any warning messages.{a, 1, 0}
instead of{a[t], 1, 0}
.InflationEvolution
to directly return the sign of density at the end of inflation (thus whether inflation stops or not), the total number of e-foldings and total integration time, soInflationStopsQ
andInflationEfoldingsCount
are now removed.InflationEvolution
which helps with simulating extremely large or extremely small potentials.Observables
InflationProperty
and instead adds the ability to use any expression of property-strings and their derivatives as an input toInflationValue
. This allows to compute, for example, a derivative of the product of number of e-foldings and slow-roll epsilon as("Efoldings" "SlowRollEpsilon")'
.InflationEvolution
as an input toInflationValue
. That could cause potential problems when inconsistent inputs are supplied, but it makes optimizations easier."SlowRollEpsilon"''''''
will compute the 6-th derivative) and streamlines their specification.InflationValue
to automatically and efficiently thread over time specifications, which makes it possible to doListPlot
s of various observables over time.InflatonLagrangianValue
" function that can compute various observables from the Lagrangian along without the need to compute evolution. Specifically, it can compute"SlowRollEpsilon"
,"SlowRollEta"
and"EffectiveAxionDecayConstant"
for multiple-field Lagrangians.Removed features
WorkingPrecision
adjustments from InflationSimulator,WorkingPrecision
has now to be set manually."Debug"
option fromInflationEvolution
.InflationEvolution
are significantly slower than the old ones, but the old ones are not generalizable for multiple-field inflation."Lagrangian"
,"Potential"
,"Density"
,"Pressure"
, absolute values of power spectra and"NonGaussianityAmplitude"
and related parameters.Method
from"SlowRollEpsilon"
, etc. Values from potential now need to be computed withInflatonLagrangianValue
instead.Tests and commands