Beispiel #1
0

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.4 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-4 * np.random.randn(20, 3)

MCMC_sampler(log_probability,
             pos,
             filename="sample_LCDM_CC+SN+BAO+AGN_3params.h5",
             witness_file='witness_15.txt',
             witness_freq=5,
             max_samples=100000)

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 0 < b < 5 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-4 * np.random.randn(12, 4)

MCMC_sampler(log_probability,
             pos,
             filename="sample_EXP_CC+SN+AGN_4params_v2.h5",
             witness_file='witness_332.txt',
             witness_freq=5,
             max_samples=2000000)
Beispiel #3
0

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    omega_m, b = theta
    if (0.2 < omega_m < 0.6 and 0 < b < 3):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-2 * np.random.randn(12, 2)

MCMC_sampler(log_probability,
             pos,
             filename="sample_EXP_AGN_2params.h5",
             witness_file='witness_31.txt',
             witness_freq=20,
             max_samples=40000)
Beispiel #4
0
log_likelihood = lambda theta: -0.5 * params_to_chi2_AGN_nuisance(theta,H0_true,
                                        data_agn, model='LCDM',less_z=True)

#%% Definimos la distribucion del prior
def log_prior(theta):
    omega_m, beta, gamma, delta = theta
    if not (5 < beta < 15 and 0.1 < gamma < 0.8 and 0 < delta < 0.5):
        return -np.inf
    #gaussian prior on a
    mu = 0.298
    sigma = 0.022
    return np.log(1.0/(np.sqrt(2*np.pi)*sigma))-0.5*(omega_m-mu)**2/sigma**2

# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):
        return -np.inf
    return lp + log_likelihood(theta)

#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-2 * np.random.randn(12, 4)

MCMC_sampler(log_probability,pos,
            filename = "sample_LCDM_AGN_4params_nuisance_3.h5",
            witness_file = 'witness_123.txt',
            witness_freq = 5,
            max_samples = 1000000)
Beispiel #5
0
    model='HS')


#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 0 < b < 3 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol * (1 + 0.01 * np.random.randn(20, 4))
MCMC_sampler(log_probability,
             pos,
             filename="sample_HS_CC+SN_4params_augusto.h5",
             witness_file='witness_26_augusto.txt',
             witness_freq=100,
             max_samples=2000000)
Beispiel #6
0
    integrador=1)


#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 0 < b < 3 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol * (1 + 0.01 * np.random.randn(12, 4))
MCMC_sampler(log_probability,
             pos,
             filename="sample_HS_CC+SN_4params_int1.h5",
             witness_file='witness_261.txt',
             witness_freq=5,
             max_samples=2000000)

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 0 < b < 1 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-4 * np.random.randn(20, 4)

MCMC_sampler(log_probability,
             pos,
             filename="sample_HS_CC+SN+AGN_4params_v2_nuevo.h5",
             witness_file='witness_232-nuevo.txt',
             witness_freq=20,
             max_samples=2000000)
Beispiel #8
0

#%% Definimos la distribucion del prior
def log_prior(theta):
    omega_m, b, beta, gamma, delta = theta
    if (0.1 < omega_m < 0.99 and 0 < b < 0.2 and 5 < beta < 15
            and 0.1 < gamma < 0.8 and 0 < delta < 0.5):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-2 * np.random.randn(12, 5)

MCMC_sampler(log_probability,
             pos,
             filename="sample_HS_AGN_5params_nuisance_less_z.h5",
             witness_file='witness_22.txt',
             witness_freq=5,
             max_samples=1000000)

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    omega_m = theta
    if 0.1 < omega_m < 0.5:
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-2 * np.random.randn(20, 1)

MCMC_sampler(log_probability,
             pos,
             filename="sample_LCDM_AGN_1params.h5",
             witness_file='witness_11.txt',
             witness_freq=5,
             max_samples=100000)
Beispiel #10
0

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.5 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
#pos = sol + 1e-4 * np.random.randn(12, 3)
pos = sol * (1 + 0.01 * np.random.randn(12, 3))
MCMC_sampler(log_probability,
             pos,
             filename="sample_LCDM_CC+H0_3params.h5",
             witness_file='witness_162.txt',
             witness_freq=5,
             max_samples=2000000)
Beispiel #11
0
                                                        #dataset_BAO = ds_BAO,
                                                        dataset_AGN = ds_AGN,
                                                        #H0_Riess = True,
                                                        model = 'HS'
                                                        )
#%%
# Definimos la distribucion del prior
def log_prior(theta):
    omega_m, b = theta
    if (0.2 < omega_m < 0.6 and 0 < b < 4):
        return 0.0
    return -np.inf

# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp): #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)

#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-4 * np.random.randn(20, 2)

MCMC_sampler(log_probability,pos,
            filename = "sample_HS_AGN_2params.h5",
            witness_file = 'witness_21.txt',
            witness_freq = 5,
            max_samples = 2000000)
                                                        dataset_BAO = ds_BAO,
                                                        #dataset_AGN = ds_AGN,
                                                        #H0_Riess = True,
                                                        model = 'EXP'
                                                        )
#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and  0.01 < omega_m < 0.5 and 0 < b < 3 and 60 < H0 < 80):
        return 0.0
    return -np.inf

# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp): #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)

#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-4 * np.random.randn(12, 4)

MCMC_sampler(log_probability,pos,
            filename = "sample_EXP_CC+SN+BAO_4params_odintsov.h5",
            witness_file = 'witness_34_odintsov.txt',
            witness_freq = 5,
            max_samples = 2000000)

#%%
# Definimos la distribucion del prior
def log_prior(theta):
    M, omega_m, b, H0 = theta
    if (-22 < M < -18 and 0.01 < omega_m < 0.4 and 0 < b < 4 and 60 < H0 < 80):
        return 0.0
    return -np.inf


# Definimos la distribución del posterior
def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):  #Este if creo que está de más..
        return -np.inf
    return lp + log_likelihood(theta)


#%%
#Defino los valores iniciales de cada cadena a partir de los valores
#de los parametros que corresponden al minimo del chi2.
pos = sol + 1e-4 * np.random.randn(20, 4)

MCMC_sampler(log_probability,
             pos,
             filename="sample_HS_CC+SN+BAO+AGN_4params.h5",
             witness_file='witness_25.txt',
             witness_freq=5,
             max_samples=2000000)
with np.load('valores_medios_LCDM_AGN_4params_nuisance.npz') as data:
    sol = data['sol']
sol = 0.6

log_likelihood = lambda theta: -0.5 * params_to_chi2_AGN_nuisance(
    theta, params_fijos, data_agn, model='LCDM')


#%% Definimos las funciones de prior y el posterior
def log_prior(theta):
    omega_m = theta
    if (0.5 < omega_m < 0.99):
        return 0.0
    return -np.inf


def log_probability(theta):
    lp = log_prior(theta)
    if not np.isfinite(lp):
        return -np.inf
    return lp + log_likelihood(theta)


pos = sol * (1 + 0.01 * np.random.randn(20, 1))
MCMC_sampler(log_probability,
             pos,
             filename="sample_LCDM_AGN_4params_nuisance_72.h5",
             witness_file='witness_67.txt',
             witness_freq=10,
             max_samples=200000)