lfkit.photometry.conditional_lf_integrals module#

Conditional luminosity function integration utilities.

This module provides numerical helpers for conditional luminosity functions of the form Phi(M | x), where M is absolute magnitude and x is an external conditioning variable.

The conditioning variable is intentionally generic. It may represent halo mass, environment, galaxy type, richness, stellar mass, or any other quantity. This module does not implement HOD or halo-model machinery.

The goal is to support conditional luminosity function evaluation and integration while keeping halo-model calculations outside LFKit.

lfkit.photometry.conditional_lf_integrals.evaluate_conditional_luminosity_function(absolute_mag, condition, conditional_lf)[source]#

Evaluate a conditional luminosity function.

Parameters:
  • absolute_mag (float | Sequence[float] | ndarray[tuple[Any, ...], dtype[float64]]) – Absolute magnitude values.

  • condition (float | Sequence[float] | ndarray[tuple[Any, ...], dtype[float64]]) – Values of the conditioning variable.

  • conditional_lf (Callable[[ndarray[tuple[Any, ...], dtype[float64]], ndarray[tuple[Any, ...], dtype[float64]]], ndarray[tuple[Any, ...], dtype[float64]]]) – Callable returning Phi(M | x) for absolute magnitude M and condition x.

Returns:

Conditional luminosity function values evaluated at the requested absolute magnitudes and conditioning values.

Raises:

ValueError – If the inputs contain non-finite values, or if the evaluated conditional luminosity function contains non-finite or negative values.

Return type:

ndarray[tuple[Any, …], dtype[float64]]

lfkit.photometry.conditional_lf_integrals.integrate_conditional_luminosity_function(absolute_mag, condition, conditional_lf, *, axis=-1)[source]#

Integrate a conditional luminosity function over absolute magnitude.

Parameters:
  • absolute_mag (float | Sequence[float] | ndarray[tuple[Any, ...], dtype[float64]]) – Absolute magnitude grid.

  • condition (float | Sequence[float] | ndarray[tuple[Any, ...], dtype[float64]]) – Values of the conditioning variable.

  • conditional_lf (Callable[[ndarray[tuple[Any, ...], dtype[float64]], ndarray[tuple[Any, ...], dtype[float64]]], ndarray[tuple[Any, ...], dtype[float64]]]) – Callable returning Phi(M | x) for absolute magnitude M and condition x.

  • axis (int) – Axis corresponding to the absolute magnitude grid.

Returns:

Conditional luminosity function integrated over absolute magnitude.

Raises:

ValueError – If the inputs contain invalid values, or if the evaluated conditional luminosity function contains invalid values.

Return type:

ndarray[tuple[Any, …], dtype[float64]]

lfkit.photometry.conditional_lf_integrals.integrate_weighted_conditional_luminosity_function(absolute_mag, condition, conditional_lf, weight, *, axis=-1)[source]#

Integrate a weighted conditional luminosity function.

Parameters:
  • absolute_mag (float | Sequence[float] | ndarray[tuple[Any, ...], dtype[float64]]) – Absolute magnitude grid.

  • condition (float | Sequence[float] | ndarray[tuple[Any, ...], dtype[float64]]) – Values of the conditioning variable.

  • conditional_lf (Callable[[ndarray[tuple[Any, ...], dtype[float64]], ndarray[tuple[Any, ...], dtype[float64]]], ndarray[tuple[Any, ...], dtype[float64]]]) – Callable returning Phi(M | x) for absolute magnitude M and condition x.

  • weight (Callable[[ndarray[tuple[Any, ...], dtype[float64]], ndarray[tuple[Any, ...], dtype[float64]]], ndarray[tuple[Any, ...], dtype[float64]]]) – Callable returning weights w(M, x) for absolute magnitude M and condition x.

  • axis (int) – Axis corresponding to the absolute magnitude grid.

Returns:

Weighted conditional luminosity function integrated over absolute magnitude.

Raises:

ValueError – If the inputs contain invalid values, or if the evaluated conditional luminosity function or weights contain invalid values.

Return type:

ndarray[tuple[Any, …], dtype[float64]]