biogeme.expressions.log_domain_cnl module

Numerically safe CNL backend that remains in the log domain.

class biogeme.expressions.log_domain_cnl.LogDomainLogCrossNested(util, av, nests, choice, mu=None, _log_recommendation=True)[source]

Bases: LogCrossNested

Internal CNL expression using log-sum-exp throughout its JAX kernel.

Parameters:
recursive_construct_jax_function(numerically_safe)[source]

Generate a compact JAX function for CNL log probability.

Return type:

Callable[[Array, Array, Array, Array], Array]

Parameters:

numerically_safe (bool)