parse_hh0_data.py 文件源码

python
阅读 37 收藏 0 点赞 0 评论 0

项目:hh0 作者: sfeeney 项目源码 文件源码
def riess_sn_fit(app_mag_s, app_mag_err_s, z_s, sig_int_s):

    # helpful parameters. only fitting an intercept here
    n_s = len(app_mag_s)
    n_obs = n_s
    n_par = 1
    y_vec = np.zeros(n_obs)
    l_mat = np.zeros((n_obs, n_par))
    c_mat_inv = np.zeros((n_obs, n_obs))

    # loop through SNe
    k = 0
    for i in range(0, n_s):
        y_vec[k] = np.log10(z2d(z_s[i])) - 0.2 * app_mag_s[i]
        l_mat[k, 0] = 1.0
        c_mat_inv[k, k] = 1.0 / 0.2 ** 2 / \
                          (app_mag_err_s[i] ** 2 + sig_int_s ** 2)
        k += 1

    # fit, calculate residuals in useable form and return
    ltci = np.dot(l_mat.transpose(), c_mat_inv)
    q_hat_cov = np.linalg.inv(np.dot(ltci, l_mat))
    q_hat = np.dot(np.dot(q_hat_cov, ltci), y_vec)
    res = y_vec - np.dot(l_mat, q_hat)
    return q_hat, np.sqrt(np.diag(q_hat_cov)), res
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号