Exemple #1
0
def gfGSWLesser(kPoint, wRel, tAv, eta, damping):
    tRel = FT.tVecFromWVec(wRel)
    tRelNeg = tRel[:len(tRel) // 2 + 1]
    GFT = gfGSExpDamping(kPoint, tRelNeg, tAv, eta, damping)
    GFZero = np.zeros((len(tRel) // 2 - 1, len(tAv)), dtype='complex')
    GFT = np.concatenate((GFT, GFZero), axis=0)
    _, GFW = FT.FTOneOfTwoTimesPoint(tRel, GFT)

    return GFW
Exemple #2
0
def gfGSWGreater(kPoint, wRel, tAv, eta, damping):
    tRel = FT.tVecFromWVec(wRel)
    tRelPos = tRel[len(tRel) // 2:]
    GFT = gfGSExpDamping(kPoint, tRelPos, tAv, eta, damping)
    GFZero = np.zeros((len(tRel) // 2, len(tAv)), dtype='complex')
    GFT = np.concatenate((GFZero, GFT), axis=0)
    _, GFW = FT.FTOneOfTwoTimesPoint(tRel, GFT)

    return GFW
def gLesserW(kPoint, wRelVec, tAvArr, eta, damping, cohN):
    tVec = FT.tVecFromWVec(wRelVec)
    tVecNeg = tVec[:len(tVec) // 2 + 1]
    GFT = gLesserDamp(kPoint, tVecNeg, tAvArr, eta, damping, cohN)
    GFZero = np.zeros((len(tVec) // 2 - 1, len(tAvArr)), dtype='complex')
    GFT = np.concatenate((GFT, GFZero), axis=0)
    wVecCheck, GFW = FT.FTOneOfTwoTimesPoint(tVec, GFT)
    assert ((np.abs(wRelVec - wVecCheck) < 1e-10).all)
    return GFW
Exemple #4
0
def gfCohWTurned(kPoint, wRel, tAv, eta, damping, N):
    if (np.abs(kPoint) > np.pi / 2.):
        return np.zeros((len(wRel), len(tAv)))
    tRel = FT.tVecFromWVec(wRel)
    tRelPos = tRel[len(tRel) // 2:]
    GFT = gfCohExpDampingTurned(kPoint, tRelPos, tAv, eta, damping, N)
    GFZero = np.zeros((len(tRel) // 2, len(tAv)), dtype='complex')
    GFT = np.concatenate((GFZero, GFT), axis=0)
    _, GFW = FT.FTOneOfTwoTimesPoint(tRel, GFT)

    if (np.abs(np.abs(kPoint) - np.pi / 2.) < 1e-12):
        return 0. * GFW
    else:
        return GFW