Exemplo n.º 1
0
    Ndata = len(yData[:, 0])
    del yData
    yData = empty((Ndata, Nconf))

    for idata in range(Ndata):
        for iconf in range(Nconf):
            yData[idata, iconf] = factor

    for imlt in range(Nmlt):
        tmpyData, tmpxData, Dummy = input_bin_data(iFname[imlt])
        if (tmpxData is tmpyData is Dummy is None):
            quit()

        for idata in range(Ndata):
            if (xData[idata] != tmpxData[idata]):
                print("\nERROR: xData is differ, exit.\n")
                quit()
            for iconf in range(Nconf):
                if (opera[imlt] == "x"):
                    yData[idata, iconf] *= tmpyData[idata, iconf]
                elif (opera[imlt] == "/"):
                    yData[idata, iconf] /= tmpyData[idata, iconf]
                else:
                    print("\nERROR: Invalid operator '%s', exit.\n" %
                          opera[imlt])
                    quit()

        del tmpyData, tmpxData

    output_bin_data(oFname, yData, xData)
Exemplo n.º 2
0
                Rcorr[0, 0, idata, ieq, iconf] = tmpRcorr[idata, iconf]

        tmpLapRcorr, xDataTmp, dummy = input_bin_data(Fname_LapRcorr[ieq])
        for idata in range(Ndata):
            if (xData[idata] != xDataTmp[idata]):
                print("\nERROR: x-data is different, exit.\n")
                quit()
            for iconf in range(Nconf):
                LapRcorr[0, 0, idata, ieq, iconf] = tmpLapRcorr[idata, iconf]

    Pot__LO = np.empty((Ndata, Nconf))
    Pot_NLO = np.empty((Ndata, Nconf))

    for iconf in range(Nconf):
        tmpPot__LO, tmpPot_NLO = calc_potential_NLO(
            Pot[:, :, :, :, iconf], Rcorr[:, :, :, :, iconf],
            LapRcorr[:, :, :, :, iconf])
        if (tmpPot__LO is tmpPot_NLO is None):
            quit()
        for idata in range(Ndata):
            Pot__LO[idata, iconf] = tmpPot__LO[0, 0, idata]
            Pot_NLO[idata, iconf] = tmpPot_NLO[0, 0, idata]

    output_bin_data(oFname__LO, Pot__LO, xData)
    output_bin_data(oFname_NLO, Pot_NLO, xData)

    for idata in range(Ndata):
        mean0, err0 = make_mean_err(Pot__LO[idata, :])
        mean1, err1 = make_mean_err(Pot_NLO[idata, :])
        print("%lf %e %e %e %e" % (xData[idata], mean0, err0, mean1, err1))
 Pot__LO = np.empty((Nch, Nch, Ndata, Nconf))
 Pot_NLO = np.empty((Nch, Nch, Ndata, Nconf))
 
 for iconf in range(Nconf):
     tmpPot__LO, tmpPot_NLO = calc_potential_NLO(Pot[:,:,:,:,iconf], 
                                                 Rcr[:,:,:,:,iconf], 
                                                 LpR[:,:,:,:,iconf])
     if (tmpPot__LO is tmpPot_NLO is None):
         quit()
     for idata in range(Ndata):
         for i in range(Nch):
             for j in range(Nch):
                 Pot__LO[i, j, idata, iconf] = tmpPot__LO[i, j, idata]
                 Pot_NLO[i, j, idata, iconf] = tmpPot_NLO[i, j, idata]
 
 output_bin_data(oFbase+"/LN-LN_CCP__LO_t%d"%(time), Pot__LO[0, 0, :, :], xData)
 output_bin_data(oFbase+"/LN-LN_CCP_NLO_t%d"%(time), Pot_NLO[0, 0, :, :], xData)
 output_bin_data(oFbase+"/LN-SN_CCP__LO_t%d"%(time), Pot__LO[0, 1, :, :], xData)
 output_bin_data(oFbase+"/LN-SN_CCP_NLO_t%d"%(time), Pot_NLO[0, 1, :, :], xData)
 output_bin_data(oFbase+"/SN-LN_CCP__LO_t%d"%(time), Pot__LO[1, 0, :, :], xData)
 output_bin_data(oFbase+"/SN-LN_CCP_NLO_t%d"%(time), Pot_NLO[1, 0, :, :], xData)
 output_bin_data(oFbase+"/SN-SN_CCP__LO_t%d"%(time), Pot__LO[1, 1, :, :], xData)
 output_bin_data(oFbase+"/SN-SN_CCP_NLO_t%d"%(time), Pot_NLO[1, 1, :, :], xData)
 
 for i in range(Nch):
     for j in range(Nch):
         for idata in range(Ndata):
             mean0, err0 = make_mean_err(Pot__LO[i, j, idata, :])
             mean1, err1 = make_mean_err(Pot_NLO[i, j, idata, :])
             print("%lf %e %e %e %e" % (xData[idata], mean0, err0, mean1, err1))
         print("\n")
    
    for i in range(Ndata):
        if (xData1[i] != xData2[i] or 
            xData1[i] != xData3[i] or 
            xData1[i] != xData4[i] or 
            xData2[i] != xData3[i] or 
            xData2[i] != xData4[i] or 
            xData3[i] != xData4[i]):
            print("\nERROR: x-data is differ, exit.\n"); quit()
        
        for iconf in range(Nconf):
            V_NLO[i, iconf] = FitFunc(xData1[i], *Params[:, iconf]) / (yData3[i, iconf] - yData4[i, iconf])
            
            tmpV_LO1[iconf] = yData1[i, iconf] - yData3[i, iconf] * V_NLO[i, iconf]
            tmpV_LO2[iconf] = yData2[i, iconf] - yData4[i, iconf] * V_NLO[i, iconf]
            
            # Selection:
            V__LO[i, iconf] =  tmpV_LO1[iconf]
            #V__LO[i, iconf] =  tmpV_LO2[iconf]
            #V__LO[i, iconf] = (tmpV_LO1[iconf] + tmpV_LO2[iconf]) / 2.0
        
        m__LO, e__LO = make_mean_err(V__LO[i, :])
        m_NLO, e_NLO = make_mean_err(V_NLO[i, :])
        # For Debug:
        #m__LO, e__LO = make_mean_err(tmpV_LO1)
        #m_NLO, e_NLO = make_mean_err(tmpV_LO2)
        print("%lf %1.16e %1.16e %1.16e %1.16e" % (xData1[i], m__LO, e__LO, m_NLO, e_NLO))
    
    output_bin_data(oFname__LO, V__LO, xData1)
    output_bin_data(oFname_NLO, V_NLO, xData1)