예제 #1
0
def chi2_func(params):
    d, rho, A = params[0], params[1], params[2]
    if A < 0 or rho > 6.0 / np.pi or \
      model_kmin / d > kf[0] or model_kmax / d < kf[-1]:
        return 1e199

    km, Pm = hkfunc(params, model_kmin, model_kmax, model_Nk)
    if km[0] > kf[0] or km[-1] < kf[-1]:
        raise Exception('k range for model is smaller than that of data.')

    Pint = interp1d(km, Pm, kind='cubic')
    Pmodel = Pint(kf)

    diff = Pmodel - Pf
    chi2 = np.dot(diff.T, np.dot(icovf, diff))
    return chi2
예제 #2
0
def best_fit(params):
    return hkfunc(params, model_kmin, model_kmax, model_Nk)
예제 #3
0
                    usecols=(0, 1),
                    unpack=True)
#Pb = Pb/np.max(abs(Pb))

kd_PACHY, Pkd_PACHY, Variance_1_PACHY = np.loadtxt(
    "/hpcstorage/zhaoc/share/ting/PATCHY_pre_voids/powspec_PACHY_dis_voids_16/catelogues/average.dat",
    usecols=(0, 1, 2),
    unpack=True)
test = np.loadtxt(
    "/hpcstorage/zhaoc/share/ting/PATCHY_pre_voids/powspec_PACHY_dis_voids_16/catelogues/average.dat",
    usecols=(0, 1, 2),
    unpack=True)

#result = test[test[0]<0.7]

k_test, P_test = hkfunc([33.2, 0.32, 43000], model_kmin, model_kmax, model_Nk)
fk = interp1d(k_test, P_test, kind='cubic')

#for i in range(len(k_test)):
#  if k_test[i]>0.6:
#    P_test[i]=0
#fk = interp1d(k_test, P_test, kind='cubic')
#k_test = k_test[0.00001<k_test]
#P_test = fk(k_test)

#P_test = fk(kd)
#k_test = kd
fhk = lambda k: fk(k)
#print(np.min(k_test),np.max(k_test))
r, chi = xicalc(fhk, int(model_Nk), np.min(k_test), np.max(k_test), 0.01)
np.savetxt("correlation function.dat", np.transpose([r, chi]), fmt='%g')
예제 #4
0
r_ori, chi_ori, chi_var = np.loadtxt("/hpcstorage/zhaoc/share/ting/2PCF_disjoint_voids/correlation_function_auto_disjoint_16_18/average.dat", usecols=(0,1,2), unpack=True)

kd, Pkd, Variance_1 = np.loadtxt("input/input_data.dat", usecols=(0,1,2), unpack=True)
k_lin, P_lin = np.loadtxt("input/Pnw.dat", usecols=(0,1), unpack=True)
#Variance_1 = Variance_1/np.max(abs(Pkd))
#Pkd = Pkd/np.max(abs(Pkd))
kb, Pb = np.loadtxt("output/HSfit_input_data_bestfit.dat", usecols=(0,1), unpack=True)
#Pb = Pb/np.max(abs(Pb))

kd_PACHY, Pkd_PACHY, Variance_1_PACHY = np.loadtxt("/hpcstorage/zhaoc/share/ting/PATCHY_pre_voids/powspec_PACHY_dis_voids_16_18/catelogues/average.dat", usecols=(0,1,2), unpack=True)
test = np.loadtxt("/hpcstorage/zhaoc/share/ting/PATCHY_pre_voids/powspec_PACHY_dis_voids_16_18/catelogues/average.dat", usecols=(0,1,2), unpack=True)

#result = test[test[0]<0.7]

k_2, P_2 = hkfunc([33.513739,0.40260519,37490.99], model_kmin, model_kmax, model_Nk)
fk = interp1d(k_2, P_2, kind='cubic')

#for i in range(len(k_test)):
#  if k_test[i]>0.6:
#    P_test[i]=0
#fk = interp1d(k_test, P_test, kind='cubic')
#k_test = k_test[0.00001<k_test]
#P_test = fk(k_test)

#P_test = fk(kd)
#k_test = kd
fhk = lambda k : fk(k)
#print(np.min(k_test),np.max(k_test))
r, chi = xicalc(fhk, int(model_Nk), np.min(k_2), np.max(k_2), 0.01)