diff --git a/spin_systems/__pycache__/Hamiltonians.cpython-38.pyc b/spin_systems/__pycache__/Hamiltonians.cpython-38.pyc index 361f13e..4e8bd96 100644 Binary files a/spin_systems/__pycache__/Hamiltonians.cpython-38.pyc and b/spin_systems/__pycache__/Hamiltonians.cpython-38.pyc differ diff --git a/spin_systems/__pycache__/__init__.cpython-38.pyc b/spin_systems/__pycache__/__init__.cpython-38.pyc index ca7c142..7a960ce 100644 Binary files a/spin_systems/__pycache__/__init__.cpython-38.pyc and b/spin_systems/__pycache__/__init__.cpython-38.pyc differ diff --git a/spin_systems/__pycache__/iHamiltonians.cpython-38.pyc b/spin_systems/__pycache__/iHamiltonians.cpython-38.pyc new file mode 100644 index 0000000..f53f692 Binary files /dev/null and b/spin_systems/__pycache__/iHamiltonians.cpython-38.pyc differ diff --git a/spin_systems/iHamiltonians.py b/spin_systems/iHamiltonians.py index 180bfad..5540c79 100644 --- a/spin_systems/iHamiltonians.py +++ b/spin_systems/iHamiltonians.py @@ -10,7 +10,7 @@ def IsingChainWithAncilla(J=1., h_z=0.25, h_x=0.): sx_sys = np.kron(sx,Id2) sz_anc = np.kron(Id2,sz) - sx_anc = np.kron(Id2,sz) + sx_anc = np.kron(Id2,sx) H = -J*(np.kron(sx_sys,sx_sys))-h_z*(np.kron(sz_sys,Id4)+np.kron(Id4,sz_sys))-h_x*(np.kron(sx_sys,Id4)+np.kron(Id4,sx_sys)) H -= -J*(np.kron(sx_anc,sx_anc))-h_z*(np.kron(sz_anc,Id4)+np.kron(Id4,sz_anc))-h_x*(np.kron(sx_anc,Id4)+np.kron(Id4,sx_anc)) diff --git a/tensors/__pycache__/iMatrixProductState.cpython-38.pyc b/tensors/__pycache__/iMatrixProductState.cpython-38.pyc index 3d70e3d..79c227c 100644 Binary files a/tensors/__pycache__/iMatrixProductState.cpython-38.pyc and b/tensors/__pycache__/iMatrixProductState.cpython-38.pyc differ diff --git a/tensors/iMatrixProductState.py b/tensors/iMatrixProductState.py index 2799fd2..d6beb6a 100644 --- a/tensors/iMatrixProductState.py +++ b/tensors/iMatrixProductState.py @@ -50,10 +50,12 @@ def compute_transfer_matrix(self): T = oe.contract('abe,ehf,cbd,dhg->acfg',self.B1,self.B2,self.B1.conj(),self.B2.conj()) self.Tnot_reshaped = T.copy() self.T = T.reshape(shp1[0]**2,shp1[0]**2) + def compute_corr_length(self): self.compute_transfer_matrix() - eigs = np.sort(np.abs(np.linalg.eigvals(self.T)))[::-1] - return -2./np.log(eigs[1]) + eig =np.sort( np.abs(eigs(self.T, k=6, ncv=300, which='LM',return_eigenvectors=False)) )[::-1] + self.Teig = eig + return -2./np.log(eig[1]) def compute_long_distance_observable_degenerate(self,op): self.compute_transfer_matrix()