"Staggered magnetization is an order parameter that describes long range order. It's value is different from 0 only for values of $D$ smaller than $D_{\\text{AF}}\\approx -0.33$. Below the critical value, the system has long range order and the ground state is ferromagnetic. For larger $D$, the staggered magnetization is zero and the system does not display long range order. According to Landau criterion this should be a single unique phase.\n",
"\n",
"Note: a priori, before claiming that there is no long range order for $D>D_{\\text{AF}}$ we should check other order parameters beyond the antiferromagnetic one. For the moment we will ignore this detail. "
"In the lecture notes you have seen the definition of the entanglement entroby for a generic bipartition in two systems A and B: $$S=-\\text{Tr}\\rho_A\\text{log}\\rho_A=-\\sum_\\alpha\\lambda_\\alpha\\text{log}\\lambda_\\alpha$$ where $\\lambda_\\alpha$ are the Schmidt values. A divergence in the entanglement entropy signals the presence of a phase transition. \n",
"\n",
"We again find the antiferromagnetic phase transtion at $D_\\text{AF}$ but there now seems to be another transition that was not captured by the staggered magnetization. Such transtion occurs at $D_{\\text{Hal}}=1$ and it is a topological phase transtion between two phases with the same symmetries but different topological properties. One phase is the Haldane phase for small $D$ and the other is a phase connected to $D\\rightarrow\\infty$, where the ground state is a product state of sites with zero magnetization."
"The entanglement spectrum allows us to distinguish between topological and trivial phases. In fact, in a symmetry protected topological phase the entanglement spectrum is always doubly degenerate. In the plot each line shows a level of the entanglement spectrum and the number of dots represents its degeneracy, We therefore found that the phase $D\\in [-0.33,1]$ is topological, while the other two phases are topologically trivial. This topological phase is the famous Haldane phase."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Phase diagram for $D=0$ and varying $\\lambda$ "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Define the model "
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [],
"source": [
"L=2 #Chain length (2 for the iMPS)\n",
"J=1 #Anitferromagnetic interaction\n",
"D=0\n",
"lammin=0\n",
"lammax=1/3\n",
"points=30\n",
"ll=np.linspace(lammin,lammax,points,endpoint=True) #Values considered for D\n",
"\n",
"#Definition of the lattice model\n",
"site=SpinSite(S=1, conserve=None)\n",
"lat=Lattice([L],[site],order='default',bc='periodic',bc_MPS='infinite') #We choose an infinite MPS "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Perform iDMRG"
]
},
{
"cell_type": "code",
"execution_count": 214,
"metadata": {},
"outputs": [],
"source": [
"entEnt=[]\n",
"entSp=[]\n",
"stagMag=[]\n",
"for lam in ll:\n",
" \n",
" #Define the paramters of the model\n",
" model_params={\n",
" 'verbose':0,\n",
" 'J':J,\n",
" 'D':D,\n",
" 'lambda':lam, \n",
" 'lattice':lat \n",
" }\n",
"\n",
" #Create the model\n",
" chain=Heisenberg(model_params)\n",
"\n",
" #Define the paramters for the DMRG\n",
" dmrg_paramsGs = {\n",
" 'mixer': False,\n",
" 'trunc_params': {\n",
" 'chi_max': 30, #Maximum bond dimension\n",
" 'svd_min': 1.e-12\n",
" },\n",
" 'max_E_err': 1.e-12,\n",
" 'verbose': 0\n",
" }\n",
" \n",
" #Initialize the MPS with an arbitrary product state\n",