def get_hz_errs(fname): """ Load Fisher matrix and invert to get errors on H(z) as a function of z. """ root = "output/" + fname print(root) # Load cosmo fns. dat = np.atleast_2d(np.genfromtxt(root + "-cosmofns-zc.dat")).T zc, Hc, dAc, Dc, fc = dat z, H, dA, D, f = np.genfromtxt(root + "-cosmofns-smooth.dat").T kc = np.genfromtxt(root + "-fisher-kc.dat").T # Load Fisher matrices as fn. of z Nbins = zc.size F_list = [ np.genfromtxt(root + "-fisher-full-%d.dat" % i) for i in range(Nbins) ] # EOS FISHER MATRIX # Actually, (aperp, apar) are (D_A, H) pnames = rf.load_param_names(root + "-fisher-full-0.dat") zfns = [ 'bs8', 'fs8', 'H', 'DA', ] excl = [ 'Tb', 'n_s', 'sigma8', 'omegak', 'omegaDE', 'w0', 'wa', 'h', 'gamma', 'N_eff', 'pk*', 'f', 'b_HI', 'gamma0', 'gamma1', 'eta0', 'eta1', 'A_xi', 'logkmg', 'sigma8tot', 'sigma_8', 'k*', 'A', 'aperp', 'apar' ] F, lbls = rf.combined_fisher_matrix(F_list, expand=zfns, names=pnames, exclude=excl) print(lbls) cov = np.linalg.inv(F) errs = np.sqrt(np.diag(cov)) # Identify functions of z pH = rf.indices_for_param_names(lbls, 'H*') errH = 1e2 * errs[pH] / Hc # Return values return zc, errH
for k in range(len(names)): root = "output/" + names[k] # Load cosmo fns. dat = np.atleast_2d( np.genfromtxt(root+"-cosmofns-zc.dat") ).T zc, Hc, dAc, Dc, fc = dat z, H, dA, D, f = np.genfromtxt(root+"-cosmofns-smooth.dat").T kc = np.genfromtxt(root+"-fisher-kc.dat").T # Load Fisher matrices as fn. of z Nbins = zc.size F_list = [np.genfromtxt(root+"-fisher-full-%d.dat" % i) for i in range(Nbins)] # EOS FISHER MATRIX # Actually, (aperp, apar) are (D_A, H) pnames = rf.load_param_names(root+"-fisher-full-0.dat") #zfns = ['A', 'b_HI', 'f', 'H', 'DA', 'aperp', 'apar'] zfns = ['bs8', 'fs8', 'H', 'DA',] excl = ['Tb', 'n_s', 'sigma8', 'omegak', 'omegaDE', 'w0', 'wa', 'h', 'gamma', 'N_eff', 'pk*', 'f', 'b_HI', 'gamma0', 'gamma1', 'eta0', 'eta1', 'A_xi', 'logkmg', 'sigma8tot', 'sigma_8', 'k*', 'A', 'aperp', 'apar'] F, lbls = rf.combined_fisher_matrix( F_list, expand=zfns, names=pnames, exclude=excl ) cov = np.linalg.inv(F) errs = np.sqrt(np.diag(cov)) # Identify functions of z