Beispiel #1
0
def invert_f_mt(y):
    xstar = np.zeros_like(y)
    for iy,yy in enumerate(y):
        if not isinstance(yy,np.ndarray):
            to_invert = lambda x: sim_utils.f_miller_troyer(x,1)-yy
            xstar[iy] = sop.root_scalar(to_invert,x0=yy,x1=0).root
        else:
            xstar[iy] = invert_f_mt(yy)
    return xstar
Beispiel #2
0
def invert_f_mt(y,s02=1,floor=-5):
    xstar = np.zeros_like(y)
    for iy,yy in enumerate(y):
        if not isinstance(yy,np.ndarray):
            to_invert = lambda x: sim_utils.f_miller_troyer(x,s02)-yy
            #xstar[iy] = sop.root_scalar(to_invert,x0=yy,x1=0).root
            xstar[iy] = sop.root_scalar(to_invert,x0=1,x1=0).root
        else:
            xstar[iy] = invert_f_mt(yy,s02=s02,floor=floor)
    return np.maximum(xstar,floor)
Beispiel #3
0
 def compute_f_(Eta,Xi,s02):
     return sim_utils.f_miller_troyer(Eta,Xi**2+np.concatenate([s02 for ipixel in range(nS*nT)]))