CosmoFit.FRTLinear

class CosmoFit.FRTLinear(params)[source]

Bases: Cosmology

f(R,T) gravity, linear model: f(R,T) = R + 2*lambda*T.

f(R,T) gravity (Harko, Lobo, Nojiri & Odintsov 2011) makes the gravitational Lagrangian depend on the trace T of the matter stress-energy tensor as well as the Ricci scalar R, coupling gravity directly to the matter content rather than adding a separate dark-energy fluid on top of standard GR. This is the original, simplest member of that family: f(T) = lambda*T.

Reference derivation (their eq. 26, for dust p=0, T=rho): 3H^2 = (8*pi + 3*lambda)*rho. Extending their eq. 23 (general perfect fluid, not just dust) from a single dust fluid to a two-component universe – pressureless matter (rho_m, p_m=0) and a Lambda-like component (rho_L, p_L=-rho_L) – gives (cross- checked: this reduces to their eq. 26 exactly as rho_L -> 0):

3H^2 = (8*pi + 3*lambda)*rho_m + (8*pi + 4*lambda)*rho_L

Non-dimensionalizing with beta = lambda / (8*pi) (beta=0 is exactly GR):

E(z)^2 = Omega_k*(1+z)^2
  • (1 + 3*beta) * Omega_m * (1+z)^3

  • (1 + 4*beta) * Omega_L

Omega_L is derived, from the Friedmann equation at z = 0:

Omega_L = (1 - Omega_k - (1 + 3*beta) * Omega_m) / (1 + 4*beta)

which is what makes E(0) = 1 – i.e. what makes H0 the Hubble rate today. It used to be a free parameter independent of Omega_m. Then E(0)^2 = Omega_k + (1+3*beta) Omega_m + (1+4*beta) Omega_L was whatever the sampler made it, the parameter called H0 was not H(z=0), and everything that reads H0 as the Hubble constant – an H0 prior, the SN absolute magnitude, the CMB shift parameter R – compared it with the wrong number. f(R,T) fits that quote independent Omega_m and Omega_L posteriors are fitting a curvature they do not name; here Omega_k is that parameter, and it is explicit. Only the linear (f(T) proportional to T) case is implemented; the general f(R,T) = R + alpha*T^n form is not, since the units/normalization convention for alpha in the papers surveyed for this couldn’t be pinned down with confidence – see the project’s dev notes.

Growth of structure. mu(a, k) uses mu(a) = 1 + 3*beta – the same rescaling already derived above for the matter term of this model’s own E(z)^2 (internally consistent with the background by construction). This is a stated simplification, not a full derivation: unlike f(Q) (where G_eff = G_N/f_Q is a settled sub-horizon result – see FQExponential.mu), f(R,T) does not separately conserve the matter stress-energy tensor, so a full covariant linear perturbation theory is genuinely more involved (see Asghari & Sheykhi 2024, arXiv:2405.11840, who derive it for a general f(R,T) form and find it suppresses structure growth relative to LCDM – the same qualitative direction mu(a) = 1+3*beta with the fitted-negative beta typical of this model produces, but not the same derivation). Scale-independent (k accepted for interface consistency, ignored). beta=0 (GR) gives mu=1 exactly.

Notes

Adds beta (the dimensionless matter-geometry coupling, default 0.0 = GR) via EXTRA_PARAMS. Omega_L is a derived property, not a parameter.

References

Harko, Lobo, Nojiri & Odintsov (2011), “f(R,T) gravity”, Phys. Rev. D 84, 024020, arXiv:1104.2669.

Asghari & Sheykhi (2025), “Growth of cosmic perturbations in the modified f(R,T) gravity”, Phys. Dark Univ. 48, arXiv:2405.11840.

Parameters:

params (CosmologyParameters)

__init__(params)
Parameters:

params (CosmologyParameters)

Methods

E(z)

Dimensionless Hubble parameter.

H(z)

Omega_de(z)

Effective dark-energy density (the Lambda-like component, rescaled by the matter-geometry coupling -- constant in z, as in LCDM).

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.

dEdz(z)

Derivative of E(z).

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, mu(a) = 1 + 3*beta -- see the class docstring for the (stated-simplification) caveat.

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).

Attributes

A_planck

A_s

DERIVED_PARAMS

Omega_L is fixed by the Friedmann equation at z = 0 -- see Omega_L -- so freeing it would sample a number nothing reads.

EXTRA_PARAMS

this is a weak- coupling perturbation around GR (beta=0), and literature fits of this model find it consistent with |beta| of a few percent -- values of order 1 aren't just "strongly coupled", they can make E(z)^2 negative (unphysical) at moderate-to-high z for otherwise-ordinary Omega_m/Omega_L, since (1+3*beta) and (1+4*beta) can go negative and dominate.

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_L

The Lambda-like component's density parameter, from E(0) = 1:

Omega_b

Omega_de0

Omega_k

Omega_m

alpha

beta

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_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