def _estimate_log_gaussian_prob_tied(X, means, covariances):
    n_samples, n_features = X.shape
    n_components = means.shape[0]
    log_prob = np.empty((n_samples, n_components))
    try:
        cov_chol = linalg.cholesky(covariances, lower=True)
    except linalg.LinAlgError:
        raise ValueError("The algorithm has diverged because of too "
                         "few samples per components. "
                         "Try to decrease the number of components, or "
                         "increase reg_covar.")
    cv_log_det = 2. * np.sum(np.log(np.diagonal(cov_chol)))
    for k, mu in enumerate(means):
        cv_sol = linalg.solve_triangular(cov_chol, (X - mu).T,
                                         lower=True).T
        log_prob[:, k] = np.sum(np.square(cv_sol), axis=1)
    log_prob = - .5 * (n_features * np.log(2. * np.pi) + cv_log_det + log_prob)
    return log_prob
Obtains the status for a specific project.
dataset/ETHPy150Open scikit-learn/scikit-learn/sklearn/mixture/gaussian_mixture.py/_estimate_log_gaussian_prob_tied--crossover with--dataset/ETHPy150Open esrlabs/git-repo/subcmds/status.py/Status._StatusHelper