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 magnitudeMand conditionx.
- 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 magnitudeMand conditionx.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 magnitudeMand conditionx.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 magnitudeMand conditionx.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]]