Skip to content

Extend CLFs to support multiple conditioning variables #14

Description

@nikosarcevic

The current CLF interface assumes a single conditioning variable. We should generalize this so conditional luminosity functions can depend on more than one condition.

For example, instead of only supporting something like:

phi = clf.phi(luminosity, halo_mass)

we should allow models that depend on multiple quantities, such as:

phi = clf.phi(luminosity, halo_mass, redshift)
phi = clf.phi(luminosity, halo_mass, galaxy_type)
phi = clf.phi(luminosity, halo_mass, environment)

Motivation behind this:
Many realistic CLF models depend on more than one variable, for example halo mass plus redshift, galaxy type, central/satellite component, or environment. Supporting multiple conditioning variables would make the CLF API more flexible and easier to extend.

Desired outcome:
Refactor the CLF interface so models can declare and receive multiple conditioning variables cleanly, without hardcoding a single condition argument throughout the code. Existing single-condition CLF models should continue to work.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions