# Hp = Hamiltonian(pxp,pxp_syms) # Hp.site_ops[1] = np.array([[0,0],[1,0]]) # Hp.site_ops[2] = np.array([[0,1],[0,0]]) # Hp.site_ops[4] = np.array([[0,0],[0,1]]) # Hp.model = np.array([[0,1,2,1,0,4,0],[0,1,2,1,0,4,0],[0,4,0,1,2,1,0],[0,4,0,1,2,1,0]]) # Hp.model_coef = np.array([1,1,1,1]) # Hp.uc_size = np.array([4,4,4,4]) # Hp.uc_pos = np.array([1,3,3,1]) z = zm_state(4, 1, pxp) k = pxp_syms.find_k_ref(z.ref) print(k) # for n in range(0,np.size(k,axis=0)): # Hp.gen(k[n]) Hp.gen() Hm = Hp.herm_conj() # Hz = 1/2 * com(Hp.sector.matrix(k[0]),Hm.sector.matrix(k[0])) Hz = 1 / 2 * com(Hp.sector.matrix(), Hm.sector.matrix()) plt.matshow(np.abs(Hz)) plt.show() e, u = np.linalg.eigh(Hz) print(e) from Diagnostics import print_wf print_wf(u[:, 0], pxp, 1e-2) print("\n") print_wf(u[:, 1], pxp, 1e-2) print("\n") print_wf(u[:, 2], pxp, 1e-2) print("\n") print_wf(u[:, 3], pxp, 1e-2) print("\n")
# Ip.gen() # Im.gen() # Kp.gen() # Km.gen() # Lp.gen() # Lm.gen() # Ip_pert.gen() # Im_pert.gen() # Kp_pert.gen() # Km_pert.gen() # Lp_pert.gen() # Lm_pert.gen() k = [0, 0] Ip.gen(k) Im = Ip.herm_conj() Kp.gen(k) Km = Kp.herm_conj() Lp.gen(k) Lm = Lp.herm_conj() Ip_pert.gen(k) Im_pert = Ip_pert.herm_conj() Kp_pert.gen(k) Km_pert = Kp_pert.herm_conj() Lp_pert.gen(k) Lm_pert = Lp_pert.herm_conj() def gen_su3Basis(coef): Ip_total = H_operations.add(Ip, Ip_pert, np.array([1, coef])) Im_total = H_operations.add(Im, Im_pert, np.array([1, coef]))