Exemple #1
0
def search_lam_double(lam0, lam_min, lam_max,sse,mid,dl_chg_pct=10,num_jobs=4):
    from multiprocessing.pool import ThreadPool
    pool=ThreadPool(processes=num_jobs)
    res=[]
    lam=lam_min
    lam_list=[]
    while lam<lam_max:
        l0=max(lam0,lam)
        l1=min(lam0,lam)
        if l0/l1>=1.5:
            lam_list.append(lam)
            res.apend(pool.appy_async(eval_lam,([lam0,lam],sse,mid)))
        lam*=(1.0+float(dl_chg_pct)/100.0)

    param=[]
    for lam0,res0 in zip(lam_list,res):
        lgp,a,U=res0.get()
        param.append([lam0,lgp,a,U])
    return param