Ejemplo n.º 1
0
    C_invhat=numpy.dot(numpy.dot(numpy.transpose(Vh),numpy.diag(s)),numpy.transpose(U))
    C_inv=numpy.zeros((n,n),dtype=double)
    C_inv[n_strong:n,n_strong:n]=C_invhat
    
    zw=numpy.append((zs-0.1832)/zs,(1.4-0.1832)/1.4+numpy.zeros(n_weak,dtype=double))
    delx,dely,chi_prevmat=smooth_pbl.chisq(x1,y1,id_image,n_strong,n_weak,a1mat,a2mat,strong_weight,C_inv,psi,g1mat,g2mat,kmat,e1,e2,zw)
    chi_prev=sum(chi_prevmat)
    print "chi_start= ",chi_prev
    eps=0.1
    del_chi=100
    n_iter=10
    eps=0.01
    
    #while (del_chi>eps):
    for i in xrange(1):
        C_kap,dpsi=smooth_pbl.create_psi(x1,y1,id_image,n_strong,n_weak,a1mat,a2mat,strong_weight,psi,kmat,g1mat,g2mat,C_inv,e1,e2,zw,sig_e,W)
        psi+=dpsi
        delta_x,delta_y,chi2=smooth_pbl.chisq(x1,y1,id_image,n_strong,n_weak,a1mat,a2mat,strong_weight,C_inv,psi,g1mat,g2mat,kmat,e1,e2,zw)
        print "chi= ",chi2
        print "iter"
        del_chi=(chi_prev-chi2)
        chi_prev=chi2
    
    kappa=numpy.dot(kmat,psi)*zw
    nx=240
    kap_grid=smooth_pbl.grid_field_gaussian(x1,y1,kappa,nx,nx)
    gamma1=dot(g1mat,psi)
    gamma2=dot(g2mat,psi)
    #C_kap=smooth_pbl.cov_kap(n_strong,g1mat,g2mat,kmat,C_inv,W,sig_e,gamma1,gamma2)
    err=numpy.zeros(n,dtype=double)
Ejemplo n.º 2
0
    e2=e2_sm.copy()
    s=eig1/(eig1**2+alpha**2)
    psi=numpy.zeros(n,dtype=double)
    
    C_inv=numpy.dot(numpy.dot(numpy.transpose(Vh),numpy.diag(s)),numpy.transpose(U))
    zw=(1.4-0.165)/1.4
    chi_prevmat=smooth_pbl.chisq(C_inv,psi,g1mat,g2mat,kmat,e1,e2,zw)
    chi_prev=sum(chi_prevmat)

    eps=0.1
    del_chi=1000
    n_iter=10
    eps=0.01
    
    while (del_chi>eps):
        L1,L2,dpsi=smooth_pbl.create_psi(psi,kmat,g1mat,g2mat,C_inv,e1,e2,zw)
        psi+=dpsi
        chi2mat=smooth_pbl.chisq(C_inv,psi,g1mat,g2mat,kmat,e1,e2,zw)
        chi2=sum(chi2mat)
        print "iter"
        del_chi=(chi_prev-chi2)
        chi_prev=chi2
                     
            
    kappa=numpy.dot(kmat,psi)
    nx=60
    kap_grid=smooth_pbl.grid_field_gaussian(x1,y1,kappa,nx,nx)
    gamma1=dot(g1mat,psi)
    gamma2=dot(g2mat,psi)
    C_kap=smooth_pbl.cov_kap(g1mat,g2mat,kmat,C_inv,W,sig_e,gamma1,gamma2)
    err=numpy.zeros(n,dtype=double)