# root_refs = find_root_refs(np.array([3,0]),np.array([3,1]),H,sector_refs,from_sector,pxp)
# for n in range(0,np.size(root_refs,axis=0)):
# goes_to = maps_to(root_refs[n],np.array([0,1]))
# print(pxp.basis[pxp.keys[root_refs[n]]],goes_to)
# for m in range(0,np.size(goes_to,axis=0)):
# Hp,Hm = fsa_ops_root_to_target(root_refs[n],goes_to[m])

# refs = sector_refs[perm_key(np.array([3,0]),pxp)]
# for n in range(0,np.size(refs,axis=0)):
# print(maps_to(refs[n],[0,3]))
# # psi = bin_state(np.array([]))
# # print(maps_to(0,[3,0]))

# N=8
root_refs = find_root_refs(np.array([2, 0]), np.array([2, 1]), H, sector_refs,
                           from_sector, pxp)
basis = subcube_basis(root_refs, "Left", 3)

root_refs = find_root_refs(np.array([0, 2]), np.array([1, 2]), H, sector_refs,
                           from_sector, pxp)
basis = subcube_basis(root_refs, "Right", 3)

# # N=10
# root_refs = find_root_refs(np.array([3,0]),np.array([3,1]),H,sector_refs,from_sector,pxp)
# basis = subcube_basis(root_refs,"Left",4)

# print("\n")
# root_refs = find_root_refs(np.array([0,3]),np.array([1,3]),H,sector_refs,from_sector,pxp)
# basis = np.hstack((basis,subcube_basis(root_refs,"Right",4)))

# print("\n")
Пример #2
0
# refs_found = np.sort(np.unique(np.append(refs_found,non_zero_ref_in_basis(temp))))
# basis = np.hstack((basis,temp))
# print(np.size(root_refs))

# print("\n")
# print(1,5)
# root_refs = find_root_refs(np.array([1,0]),np.array([1,5]),H,sector_refs,from_sector,pxp,refs_found)
# if np.size(root_refs)>0:
# temp = subcube_basis(root_refs,"Left",6,equal_supp=False)
# refs_found = np.sort(np.unique(np.append(refs_found,non_zero_ref_in_basis(temp))))
# basis = np.hstack((basis,temp))
# print(np.size(root_refs))

# #N=16
print(6, 1)
root_refs = find_root_refs(np.array([6, 0]), np.array([6, 1]), H, sector_refs,
                           from_sector, pxp, [])
basis = subcube_basis(root_refs, "Left", 7)
refs_found = non_zero_ref_in_basis(basis)
print(np.size(root_refs))

print("\n")
print(5, 2)
root_refs = find_root_refs(np.array([5, 0]), np.array([5, 2]), H, sector_refs,
                           from_sector, pxp, refs_found)
if np.size(root_refs) > 0:
    temp = subcube_basis(root_refs, "Left", 7)
    refs_found = np.sort(
        np.unique(np.append(refs_found, non_zero_ref_in_basis(temp))))
    basis = np.hstack((basis, temp))
print(np.size(root_refs))
Пример #3
0
# basis = subcube_basis(root_refs,"Left",4)

# print("\n")
# root_refs = find_root_refs(np.array([0,3]),np.array([1,3]),H,sector_refs,from_sector,pxp)
# basis = np.hstack((basis,subcube_basis(root_refs,"Right",4)))

# print("\n")
# root_refs = find_root_refs(np.array([2,1]),np.array([2,2]),H,sector_refs,from_sector,pxp)
# basis = np.hstack((basis,subcube_basis(root_refs,"Left",4)))

# print("\n")
# root_refs = find_root_refs(np.array([1,2]),np.array([2,2]),H,sector_refs,from_sector,pxp)
# basis = np.hstack((basis,subcube_basis(root_refs,"Right",4)))

# #N=12
root_refs = find_root_refs(np.array([4, 0]), np.array([4, 1]), H, sector_refs,
                           from_sector, pxp)
basis = subcube_basis(root_refs, "Left", 5)

print("\n")
root_refs = find_root_refs(np.array([3, 0]), np.array([3, 2]), H, sector_refs,
                           from_sector, pxp)
basis = np.hstack((basis, subcube_basis(root_refs, "Left", 5)))

print("\n")
root_refs = find_root_refs(np.array([0, 3]), np.array([2, 3]), H, sector_refs,
                           from_sector, pxp)
basis = np.hstack((basis, subcube_basis(root_refs, "Right", 5)))

print("\n")
root_refs = find_root_refs(np.array([2, 0]), np.array([2, 2]), H, sector_refs,
                           from_sector, pxp)
V = Hamiltonian(pxp)
V.site_ops[1] = np.array([[0,1/2],[1/2,0]])
# V.site_ops[2] = np.array([[-1/2,0],[0,1/2]])
V.model = np.array([[0,1,0,0],[0,0,1,0]])
V.model_coef = np.array([1,1])
H0.gen()
V.gen()
H = H_operations.add(H0,V,np.array([1,0.05]))
H.sector.find_eig()

# H = spin_Hamiltonian(pxp,"x")
# H.gen()
# H.sector.find_eig()

# N=10
root_refs = find_root_refs(np.array([3,0]),np.array([3,1]),H,sector_refs,from_sector,pxp,[])
basis = subcube_basis(root_refs,"Left",4)
refs_found = non_zero_ref_in_basis(basis)

print("\n")
root_refs = find_root_refs(np.array([0,3]),np.array([1,3]),H,sector_refs,from_sector,pxp,refs_found)
if np.size(root_refs)>0:
    temp = subcube_basis(root_refs,"Right",4)
    refs_found = np.sort(np.unique(np.append(refs_found,non_zero_ref_in_basis(temp))))
    basis = np.hstack((basis,temp))

print("\n")
root_refs = find_root_refs(np.array([2,0]),np.array([2,2]),H,sector_refs,from_sector,pxp,refs_found)
if np.size(root_refs)>0:
    temp = subcube_basis(root_refs,"Left",4)
    refs_found = np.sort(np.unique(np.append(refs_found,non_zero_ref_in_basis(temp))))