import common import problem12 import problem13 import scipy def chi2_lcdm(Omega_m0, N, z_model, z_obs, d_L_obs, sigma_d_L): d_L_model = problem12.d_L(N, Omega_m0, 'lcdm') # Convert from dimensionless (H_0 * d_L / c) to Gpc d_L_model = d_L_model / common.h * common.c return problem13.chi2(z_model, d_L_model, z_obs, d_L_obs, sigma_d_L) def best_fit_Omega_m0(N, z_model, z_obs, d_L_obs, sigma_d_L): result = scipy.optimize.minimize(chi2_lcdm, x0=0.3, args=(N, z_model, z_obs, d_L_obs, sigma_d_L), bounds=[(0.01, 0.99)]) return result.x