import numpy as np def get_data(): with open('../data/sndata.txt', 'r') as f: lines = f.readlines()[5:] # skip header z = [] d_L = [] sigma_d_L = [] for line in lines: parts = line.split() z.append(float(parts[0])) d_L.append(float(parts[1])) # Gpc sigma_d_L.append(float(parts[2])) # Gpc return z, d_L, sigma_d_L def chi2(z_model, d_L_model, z_obs, d_L_obs, sigma_d_L): # Interpolate model at observed redshifts d_L_ipl_interp = np.interp(z_obs, z_model[::-1], d_L_model[::-1]) return np.sum(((d_L_ipl_interp - d_L_obs) / sigma_d_L) ** 2)