mescla.mixing.ml.profile_objective

mescla.mixing.ml.profile_objective(Delta, x_obs, y_obs, var_x, var_y)[source]

The paper’s eliminated objective (equation 21), for cross-checking.

Carrera et al. remove the concentrations analytically, leaving

\[f(\Lambda) = \tfrac{1}{2} \sum_s (\Lambda z_s)^T (\Lambda A_s \Lambda^T)^{-1} (\Lambda z_s)\]

with Lambda = (-Delta, I). Minimising this over Delta is equivalent to minimising the full objective over Delta and the concentrations, which is what mix_ml() does directly. The test suite asserts the two agree.

Parameters:
Return type:

float