コード例 #1
0
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
コード例 #2
0
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