JaxTheory#
- class cosmicjellyfish.cosmology.jax_theory.JaxTheory(*args, **kwargs)[source]#
Bases:
ProtocolA theory backend that can be traced and differentiated by JAX.
Implementations must be pure functions of the parameters: no NumPy conversion and no SciPy splines on the path between parameters and returned arrays.
-
cosmo_names:
tuple[str,...]# Canonical cosmological parameter names expected in the
paramsmapping.
-
free_name_map:
Mapping[str,str]# Mapping from CosmicJellyfish parameter names to this backend’s canonical names.
- resolve_cosmology(params)[source]#
Validate a CosmicJellyfish cosmology mapping and return canonical float values.
- tables(params, z, k_hmpc, nonlinear=True)[source]#
Evaluate
TheoryTablesatzandk_hmpcforparams.- Return type:
- power(params, z, k_hmpc, nonlinear=True)[source]#
Matter power in
Mpc^3at per-redshift wavenumbersk_hmpc(h/Mpc).zhas shape(nz,).k_hmpcmay have shape(nk,)(the same wavenumbers for every redshift) or(nz, nk)to request a different wavenumber per redshift, which is what a Limber projection needs. The return value has shape(nz, nk).- Return type:
-
cosmo_names: