ler.lens_galaxy_population.lens_functions

Lens functions for gravitational lensing calculations.

This module provides utility functions for computing lens galaxy velocity dispersion functions, ellipticity conversions, and strong lensing cross-sections. These functions support the lens galaxy population modeling in the ler package.

The velocity dispersion functions follow the models from Oguri et al. (2018b) and Bernardi et al. (2010). Cross-section calculations use lenstronomy for EPL+Shear lens models.

Module Contents

Functions

phi_cut_SIE(q)

Calculate cross-section scaling factor for SIE lens galaxy from SIS.

einstein_radius(sigma, zl, zs[, cosmo])

Compute the Einstein radius for an SIS/SIE lens galaxy.

cross_section(theta_E, e1, e2, gamma, gamma1, gamma2)

Compute the strong lensing cross-section for an EPL+Shear lens.

ler.lens_galaxy_population.lens_functions.phi_cut_SIE(q)[source]

Calculate cross-section scaling factor for SIE lens galaxy from SIS.

Computes the ratio of the SIE (Singular Isothermal Ellipsoid) cross-section to the SIS (Singular Isothermal Sphere) cross-section for a given axis ratio. For the regular branch this is

\[\phi_{\rm cut}(q) = \frac{2q\ln q}{q^2 - 1},\]

normalized so that phi_cut_SIE(q=1) = 1.

Parameters:
qnumpy.ndarray

Axis ratio of the lens galaxy (0 < q <= 1).

Returns:
resultnumpy.ndarray

Scaling factor (normalized to pi).

For q -> 1 (spherical): returns 1.0

For q -> 0 (highly elliptical): returns ~0.

ler.lens_galaxy_population.lens_functions.einstein_radius(sigma, zl, zs, cosmo=None)[source]

Compute the Einstein radius for an SIS/SIE lens galaxy.

\[\theta_E = 4\pi \left(\frac{\sigma}{c}\right)^2 \frac{D_{ls}}{D_s}.\]
Parameters:
sigmafloat or numpy.ndarray

Lens velocity dispersion in km/s.

zlfloat or numpy.ndarray

Lens redshift.

zsfloat or numpy.ndarray

Source redshift.

cosmoastropy.cosmology or None

Cosmology used for angular-diameter distances. If None, the package default LambdaCDM cosmology is used.

Returns:
theta_Eastropy.units.Quantity

Einstein radius in radians.

ler.lens_galaxy_population.lens_functions.cross_section(theta_E, e1, e2, gamma, gamma1, gamma2)[source]

Compute the strong lensing cross-section for an EPL+Shear lens.

Uses lenstronomy to compute the caustic structure and returns the area enclosed by the double-image (outer) caustic:

\[\sigma_{\rm SL} = \int_{\mathcal{C}_{\rm double}} d^2\beta.\]
Parameters:
theta_Efloat

Einstein radius (radian).

e1float

First ellipticity component.

e2float

Second ellipticity component.

gammafloat

Power-law density profile slope.

gamma1float

First external shear component.

gamma2float

Second external shear component.

Returns:
areafloat

Cross-section area (radian^2).

Returns 0.0 if caustic computation fails.