Exemple #1
0
    return np.linalg.inv(
        z(omega) * np.eye(np.shape(H)[0], dtype=np.complex) - H)


def tmm(A, B, C):
    return np.dot(A, np.dot(B, C))


# Generate required sectors
sectorlist = []

basis = bg.createbasis(N, n, S_z)

for l_n in range(0, n + 1):
    l_Sz = 0.5 * l_n
    sector = bg.createsubbasis(basis, l_n, l_Sz)
    sectorlist.append(sector)

# for sector in sectorlist:
#     for s in sector:
#         print(s.getstate(), '\t', getunn(s))
#     print('*'*50)

b1 = sectorlist[1]

H_list = []

for sector in sectorlist:
    H = overlap(sector, sector)
    H_list.append(H)
#i = 0
#for state in uobasis:
#    print(i, '\t', state.getstate())
#    i += 1
#
#print("*" * 80)

basis = []

i = 0
for n_l in range(n + 1)[::-1]:
    j = 0
    spins = 0.5 * np.array(list(range(-n_l, n_l + 1)))
    for Sz_l in spins:
        tempbasis = bg.createsubbasis(uobasis, n_l, Sz_l)
        basis += tempbasis

        for state in tempbasis:
            print(i, j, (n_l, Sz_l), state.getstate(),\
            state.intequiv(), sep = '\t')
            i += 1
            j += 1
#        #print(n_l, '\t', Sz_l)
#
    print("*" * 80)

#i= 0
#for state in uobasis:
#    print(i, state.getstate(), state.intequiv(), sep = '\t')
#    i += 1