CosmoFit.FTPowerLaw

class CosmoFit.FTPowerLaw(params)[source]

Bases: Cosmology

f(T) gravity, Bengochea-Ferraro power-law model.

f(T) modified gravity is the torsion counterpart of FQExponential. Where f(Q) builds gravity from non-metricity with a flat, torsion-free connection, f(T) builds it from torsion with a flat, metric-compatible one; both reduce to general relativity when f is the identity, and both differ from it otherwise. This is a genuine modification of the field equations, not a dark-energy fluid added on top of GR.

The model implemented here is the power law of Bengochea & Ferraro (2009), the standard benchmark of the f(T) literature:

f(T) = T + alpha * T^n, T = 6 H^2

Conventions, and why they do not matter here. Half the f(T) literature writes the flat-FLRW torsion scalar as T = +6H^2 and half as T = -6H^2 (with the power law then written f = T + alpha (-T)^n, so that the power is taken of a positive number). cosmofit.theory uses the negative convention; this class was derived in the positive one. Both were worked through, and they give the same E(z) and the same mu(a) – the sign difference is absorbed by the E(0) = 1 closure, and the two are checked against each other rather than assumed equal. Either way general relativity sits at f(T) = T.

The Friedmann equation. Varying the lapse in the minisuperspace tetrad action gives kappa*rho = (2 T f_T - f)/2, the sign fixed by demanding that f(T) = T return 3H^2 = kappa*rho. For the power law, writing A = alpha (6 H0^2)^(n-1) for the dimensionless amplitude, this collapses to

E^2 + (2n - 1) * A * E^(2n) = Omega_m * (1+z)^3

which is transcendental in E^2 for general n and is solved by vectorized Newton iteration, exactly as FQExponential does. dEdz comes from implicit differentiation of the same relation, closed-form given E(z).

``A`` is not a free parameter. Requiring E(0) = 1 closes the model:

A = (Omega_m - 1) / (2n - 1)

so n is the only quantity beyond flat LCDM’s H0 and Omega_m – the same “one extra number” structure as this library’s f(Q). Substituting the closure back collapses the Friedmann relation to a form with no free amplitude in it at all,

E^2 + (Omega_m - 1) * E^(2n) = Omega_m * (1+z)^3

which is what E and dEdz actually solve. Writing it this way matters numerically as well as tidily: A itself diverges at n = 1/2, but the combination (2n-1) A that the background depends on is just Omega_m - 1, finite everywhere. The background therefore has no pole at n = 1/2; only mu does, and only mu guards against it.

Two limits follow immediately and are both covered by the test suite:

  • n = 0 gives E^2 = Omega_m (1+z)^3 + (1 - Omega_m), i.e. flat LCDM exactly, since f = T + alpha is TEGR plus a cosmological constant.

  • n = 1 gives E^2 = (1+z)^3, Einstein-de Sitter, since f = (1 + alpha) T is a rescaled TEGR with no constant term and the rescaling cancels out of the Friedmann equation.

n = 1/2 is a genuine singularity of the growth sector rather than a numerical one. Holding the background fixed there forces alpha to diverge, which sends f_T to infinity and mu to zero: gravity switches off. E(z) is perfectly well defined at that point and is returned; mu raises instead of handing back a number that came from cancelling infinities. The default bounds stay on the branch n < 1/2, which contains the LCDM limit.

On the branch n > 1/2 the Friedmann relation can have no real solution past some redshift, because its left-hand side turns over: at n = 2 and Omega_m = 0.315 there is no E above z = 0.05. E(z) returns NaN there rather than the value an unconverged Newton iteration happens to land on. This is not a corner worth reaching for – the default bounds keep well away from it – but it is worth stating, because the unguarded version returned finite, plausible, non-monotonic numbers instead.

Omega_de(z) is reported, as for f(Q), as an effective/geometric dark-energy density E(z)^2 - Omega_m (1+z)^3. There is no second fluid; the acceleration is entirely from the modified gravitational sector. Flat only – Omega_k is ignored, since T = 6H^2 is itself a flat-FLRW identity. Radiation is dropped, as in every other model here.

Growth of structure. mu(a, k) is the sub-horizon, quasi-static effective gravitational coupling G_eff/G_N = 1/f_T, which for this model is

mu = 1 / (1 + n * A * E^(2n-2))

scale-independent, so k is accepted for interface consistency with Cosmology.mu() and ignored – the same situation as f(Q), and unlike f(R), whose chameleon screening makes its mu genuinely k-dependent. n = 0 gives mu = 1 identically, so the LCDM limit above is a limit of the growth history too, not only of the background.

Provenance. The Friedmann equation, the closure condition, dEdz and mu above were derived symbolically in the wljs-gr-toolkit GR-06 notebook rather than transcribed, and every step was checked against a limit where the answer is already known: that varying the lapse returns a^3 (2 T f_T - f), that f(T) = T gives 3H^2, that n = 0 reproduces flat LCDM exactly, that n = 1 gives Einstein-de Sitter, that mu = 1 at both n = 0 and A = 0, and that the dEdz expression agrees with implicit differentiation of the Friedmann relation. The tests in tests/test_ft.py re-check the LCDM and TEGR limits on the Python side.

One caveat worth carrying. The same toolkit’s GR-08 notebook finds that f(T)’s extra Lorentz modes have kinetic terms that vanish identically around flat FLRW: they do not propagate at linear order there, which is strong coupling, and means linear perturbation theory is not a reliable guide to them. The mu above is a statement about the metric sector, which is well behaved; it is not a claim that the full theory is healthy around this background. Gravitational waves in f(T) are exactly luminal, c_GW^2 = 1, so GW170817 does not constrain it.

References

Bengochea & Ferraro (2009), “Dark torsion as the cosmic speed-up”, Phys. Rev. D 79, 124019, arXiv:0812.1205.

Linder (2010), “Einstein’s Other Gravity and the Acceleration of the Universe”, Phys. Rev. D 81, 127301, arXiv:1005.3039.

Nesseris, Basilakos, Saridakis & Perivolaropoulos (2013), “Viable f(T) models are practically indistinguishable from LCDM”, Phys. Rev. D 88, 103010, arXiv:1308.6142.

Parameters:

params (CosmologyParameters)

__init__(params)
Parameters:

params (CosmologyParameters)

Methods

E(z)

Dimensionless Hubble parameter (solves the transcendental Friedmann equation -- see the class docstring).

H(z)

Omega_de(z)

Effective/geometric dark-energy density -- see the class docstring for why this isn't a real second fluid here.

Omega_matter(z)

Matter density at redshift z, in units of today's critical density -- i.e. the Omega_m (1+z)^3 term as it appears inside E(z)^2, before dividing by E(z)^2.

__init__(params)

background_jumps()

Redshifts at which this model's E(z) is discontinuous.

coupling(z)

f_T on this model's own background -- the quantity whose reciprocal is mu, and whose sign decides whether that reciprocal means anything.

dEdz(z)

Derivative of E(z), by implicit differentiation of the Friedmann relation (closed-form given E(z), no extra root-finding).

matter_exchange(z)

Rate at which matter gains energy from the dark sector, in units of the expansion rate: psi = Q / (H rho_m), with rho_m' + 3 rho_m = Q / H (' = d/dln a).

mu(a[, k])

Effective gravitational coupling G_eff/G_N = 1/f_T = 1/(1 + n A E^(2n-2)) -- scale-independent, so k is ignored.

plain_name()

This model's name as plain text: MODEL_NAME if it declares one, else the class name.

plot_label()

This model's name as it should appear in a figure legend or title -- MODEL_LABEL (LaTeX) if it declares one, else plain_name().

refresh()

Rebuild internal numerical tables after the underlying params object has been mutated in place (e.g. by params.update(theta) during an MCMC step).

viability([z])

Whether this model is one worth fitting, checked along its own background.

Attributes

A_planck

A_s

EXTRA_PARAMS

Extra parameters this model adds beyond CosmologyParameters.

FLAT_ONLY

Whether this model is defined for a flat universe only.

H0

MB

MODEL_LABEL

a LaTeX math string where the plain name is really a set of symbols (LCDM -> $\Lambda$CDM), None where the plain name is already what a reader should see (an acronym like CPL).

MODEL_NAME

Plain-text name for this model, for tables, JSON and log lines.

N_eff

Omega_b

Omega_de0

Omega_k

Omega_m

alpha

compute_rd

Whether rd is computed from the physical densities (rd_computed()) rather than read from the free rd parameter.

derive_sigma8

Whether sigma8 is derived from the Boltzmann code rather than read from the free sigma8 parameter.

h

Reduced Hubble constant, H0 / 100.

ln1e10As

m_nu

n

n_s

omega_b_h2

Physical baryon density, Omega_b h^2 -- the combination BBN and the CMB actually constrain.

omega_cdm_h2

Physical cold dark matter density, Omega_c h^2 -- matter less baryons.

omega_m_h2

Physical matter density, Omega_m h^2.

rd

The sound horizon at the drag epoch [Mpc] that the BAO likelihoods divide by.

sigma8

Present-day sigma_8, the normalization every growth prediction is built on.

tau_reio

w0

wa