def b_cov_TEE(lmax=200,frequency=353, psky=70, apo=2):
    """this is theory-based"""

    ls, (cltt, clee, clbb, clte) = fg.get_theory_fg(f=frequency, lmax=lmax,
                                                  psky=psky, apo=apo)
   
    cov = calc_b_cov_TEB(cltt, clee, clee)
    hs = sg.get_hs(lmax=lmax)
    iszero = np.isclose(hs,0.)
    cov[iszero] = 0.
    return cov
示例#2
0
# fetch alms:
alm1 = np.load(alms_sims_path + args.alm1)
if args.alm2 is not None:
    alm2 = np.load(alms_sims_path + args.alm2)
else:
    alm2 = alm1
if args.alm3 is not None:
    alm3 = np.load(alms_sims_path + args.alm3)
else:
    alm3 = alm1

#assert len(alm1)==len(alm2) and len(alm1)==len(alm3) and len(alm1)==LMAX+1, 'problem: alm size(s) and lmax mismatch.'

# fetch w3j's for ms=(0,0,0)s
hs = get_hs(lmax=LMAX)


def split(container, count):
    """
    Simple function splitting a container into equal length chunks.
    Order is not preserved but this is potentially an advantage depending on
    the use case.
    """
    return [container[_i::count] for _i in range(count)]


#########
##########
###########
N = LMAX + 1
# fetch alms:
alm1 = np.load(alms_sims_path+args.alm1)
if args.alm2 is not None:
    alm2 = np.load(alms_sims_path+args.alm2)
else:
    alm2 = alm1
if args.alm3 is not None:
    alm3 = np.load(alms_sims_path+args.alm3)
else:
    alm3 = alm1

#assert len(alm1)==len(alm2) and len(alm1)==len(alm3) and len(alm1)==LMAX+1, 'problem: alm size(s) and lmax mismatch.'
    
# fetch w3j's for ms=(0,0,0)s
hs = get_hs(lmax=LMAX)


def split(container, count):
    """
    Simple function splitting a container into equal length chunks.
    Order is not preserved but this is potentially an advantage depending on
    the use case.
    """
    return [container[_i::count] for _i in range(count)]

#########
##########
###########
N = LMAX + 1
if COMM.rank == 0: