NCTS /
IsingChain(redirected from NCCU.IsingChain) The Ising model is the simplest of a quantum phase transition that can be solved with DMRG. The purpose of this tutorial is to explore the physics of the model and see how this relates to the parameters of the calculation, including quantities such as the entropy and how this relates to the required basis size. The Ising model is obtained by using the
The spinchain lattice generates two operators H_zz, which is the nearest-neighbor Sz - Sz interaction, and Sx, which is the total x-component of the spin, which can be used to implement the Ising model with the Hamiltonian operator lattice:"-4*H_zz + lambda*2*Sx" You will need to use this operator (with a number substituted for 'lambda') as the Hamiltonian operator in the
for the model at criticality (lambda=1.0). The purpose of the factors 4 and 2, is to convert from the spin-half operators to the Pauli matrices, which gives the critical point as lambda=1 and a groundstate energy per site of 4/pi. In the thermodynamic limit, for lambda < 1, the groundstate is an ordered ferromagnet in the z direction. For lambda > 1, the groundstate is a ferromagnet in the x direction. Try plotting the order parameter (say, the local Sz at the center of the lattice, or the total Sz) as a function of lambda, for various system sizes from 10 to 100. You should be able to see that the phase transition gets sharper, and also the location of the `best guess` critical point lambda^* changes as a function of the lattice size. Some commands: To iterate over values of lambda from 0.1 to 2, in steps of 0.1:
We can extend this to making a copy of the wavefunction for this value of lambda, and running the dmrg program: for lambda in $(seq 0.1 0.1 2.0) ; do cp psi psi-$lambda mp-dmrg -w psi-$lambda -H lattice:"-4*H_zz + 2*$lambda*Sx" -s 10 -m 20 done We can now plot the local order parameter for each value of lambda: for lambda in $(seq 0.1 0.1 2.0) ; do echo -n $lambda ' ' mp-expectation -r psi-$lambda lattice:"Sz" done | xmgrace -pipe& The We can use a similar procedure to plot the entropy at the middle of the chain. for lambda in $(seq 0.1 0.1 2.0) ; do echo -n $lambda ' ' mp-info -e psi-$lambda | grep ' 20 20 ' | awk '{print $3}' done | xmgrace -pipe& Here, we used |