Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

6.1 Finite temperature algorithm

In this example we use the pyALF interface to run ALF’s finite temperature algorithm with the Mz choice of Hubbard Stratonovich transformation on a 4-site ring.

The finite temperature approach is the method of choice if one is interested in excited-state properties. The finite temperature expectation value of any observable O^\hat{O} can then be computed by:

⟨O^⟩=Tr⁡[e−βH^O^]Tr⁡[e−βH^],\langle\hat{O}\rangle=\frac{\operatorname{Tr}\left[e^{-\beta \hat{H}} \hat{O}\right]}{\operatorname{Tr}\left[e^{-\beta \hat{H}}\right]} ,

where β=1/kBT\beta=1/k_B T is the inverse temperature. For further details, see Sec. 2 of ALF documentation.


1. Import Simulation class from the py_alf python module, which provides the interface with ALF, as well as numerical and plotting packages:

Output
Checking out branch main
Your branch is up to date with 'origin/main'.
Already on 'main'

2. Create instances of Simulation, specifying the necessary parameters, in particular the Projector to False:

Output
Beta values used:
0.5
1
1.5
3
5
10

3. Compile ALF, this may take a few minutes:

Output
Compiling ALF... 
Cleaning up Prog/
Cleaning up Libraries/
Cleaning up Analysis/
Compiling Libraries
entanglement_mod.F90:35:2:

   35 | #warning "You are compiling entanglement without MPI. No results possible"
      |  1~~~~~~
Warning: #warning "You are compiling entanglement without MPI. No results possible" [-Wcpp]
ar: creating modules_90.a
ar: creating libqrref.a
Compiling Analysis
Compiling Program
Parsing Hamiltonian parameters
filename: Hamiltonians/Hamiltonian_Kondo_smod.F90
filename: Hamiltonians/Hamiltonian_Hubbard_smod.F90
filename: Hamiltonians/Hamiltonian_Hubbard_Plain_Vanilla_smod.F90
filename: Hamiltonians/Hamiltonian_tV_smod.F90
filename: Hamiltonians/Hamiltonian_LRC_smod.F90
filename: Hamiltonians/Hamiltonian_Z2_Matter_smod.F90
Compiling program modules
Link program
Done.

4. Perform the simulations, as specified in each element of sim:

Output
Prepare directory "/Users/indra/Downloads/ALF_data/Hubbard_N_leg_ladder_L1=4_L2=1_Checkerboard=False_Symm=True_Projector=False_T=1.0_U=4.0_Tperp=0.0_beta=0.5_Dtau=0.05_Mz=True" for Monte Carlo run.
Run /Users/indra/Documents/ALF/Prog/ALF.out
 ALF Copyright (C) 2016 - 2022 The ALF project contributors
 This Program comes with ABSOLUTELY NO WARRANTY; for details see license.GPL
 This is free software, and you are welcome to redistribute it under certain conditions.
 No initial configuration
 Setting N_FL = 2 since this is mandatory for Mz-Hubbard model
Prepare directory "/Users/indra/Downloads/ALF_data/Hubbard_N_leg_ladder_L1=4_L2=1_Checkerboard=False_Symm=True_Projector=False_T=1.0_U=4.0_Tperp=0.0_beta=1_Dtau=0.05_Mz=True" for Monte Carlo run.
Create new directory.
Run /Users/indra/Documents/ALF/Prog/ALF.out
 ALF Copyright (C) 2016 - 2022 The ALF project contributors
 This Program comes with ABSOLUTELY NO WARRANTY; for details see license.GPL
 This is free software, and you are welcome to redistribute it under certain conditions.
 No initial configuration
 Setting N_FL = 2 since this is mandatory for Mz-Hubbard model
Prepare directory "/Users/indra/Downloads/ALF_data/Hubbard_N_leg_ladder_L1=4_L2=1_Checkerboard=False_Symm=True_Projector=False_T=1.0_U=4.0_Tperp=0.0_beta=1.5_Dtau=0.05_Mz=True" for Monte Carlo run.
Create new directory.
Run /Users/indra/Documents/ALF/Prog/ALF.out
 ALF Copyright (C) 2016 - 2022 The ALF project contributors
 This Program comes with ABSOLUTELY NO WARRANTY; for details see license.GPL
 This is free software, and you are welcome to redistribute it under certain conditions.
 No initial configuration
 Setting N_FL = 2 since this is mandatory for Mz-Hubbard model
Prepare directory "/Users/indra/Downloads/ALF_data/Hubbard_N_leg_ladder_L1=4_L2=1_Checkerboard=False_Symm=True_Projector=False_T=1.0_U=4.0_Tperp=0.0_beta=3_Dtau=0.05_Mz=True" for Monte Carlo run.
Create new directory.
Run /Users/indra/Documents/ALF/Prog/ALF.out
 ALF Copyright (C) 2016 - 2022 The ALF project contributors
 This Program comes with ABSOLUTELY NO WARRANTY; for details see license.GPL
 This is free software, and you are welcome to redistribute it under certain conditions.
 No initial configuration
 Setting N_FL = 2 since this is mandatory for Mz-Hubbard model
Prepare directory "/Users/indra/Downloads/ALF_data/Hubbard_N_leg_ladder_L1=4_L2=1_Checkerboard=False_Symm=True_Projector=False_T=1.0_U=4.0_Tperp=0.0_beta=5_Dtau=0.05_Mz=True" for Monte Carlo run.
Create new directory.
Run /Users/indra/Documents/ALF/Prog/ALF.out
 ALF Copyright (C) 2016 - 2022 The ALF project contributors
 This Program comes with ABSOLUTELY NO WARRANTY; for details see license.GPL
 This is free software, and you are welcome to redistribute it under certain conditions.
 No initial configuration
 Setting N_FL = 2 since this is mandatory for Mz-Hubbard model
Prepare directory "/Users/indra/Downloads/ALF_data/Hubbard_N_leg_ladder_L1=4_L2=1_Checkerboard=False_Symm=True_Projector=False_T=1.0_U=4.0_Tperp=0.0_beta=10_Dtau=0.05_Mz=True" for Monte Carlo run.
Create new directory.
Run /Users/indra/Documents/ALF/Prog/ALF.out
 ALF Copyright (C) 2016 - 2022 The ALF project contributors
 This Program comes with ABSOLUTELY NO WARRANTY; for details see license.GPL
 This is free software, and you are welcome to redistribute it under certain conditions.
 No initial configuration
 Setting N_FL = 2 since this is mandatory for Mz-Hubbard model

5. Calculate the internal energies:

Where the cell magic %%capture suppresses the output of sim.analysis(), which lists the data directories and observables.

Output
For beta values [ 0.5  1.   1.5  3.   5.  10. ] the measured energies are:
 [[ 0.73546061  0.00200781]
 [-0.62449636  0.00262793]
 [-1.1740427   0.00381899]
 [-1.78632345  0.00453947]
 [-1.97154912  0.00657653]
 [-1.99339327  0.01993808]]

6. Plot the internal energies:

<ErrorbarContainer object of 3 artists>
<Figure size 640x480 with 1 Axes>

6.1.1Exercises

  1. A key diagnostic in finite-temperature QMC is the crossover from a Fermi liquid to a Mott insulator as a function of temperature and interaction strength in the single-band Hubbard model. It is a well-known result (Paiva, Scalettar, Huscroft, and McMahan, Phys. Rev. B 63, 125116 (2001)) that the specific heat of the half-filled square lattice Hubbard model develops two distinct peaks at strong coupling: a high-temperature peak associated with the scale U, and a low-temperature peak associated with the superexchange scale J = 4t²/U. The paper presents QMC results for these thermodynamic signatures. How do these features manifest in the double occupancy, and can you resolve both peaks in the specific heat using the finite-temperature AFQMC algorithm?

References
  1. Paiva, T., Scalettar, R. T., Huscroft, C., & McMahan, A. K. (2001). Signatures of spin and charge energy scales in the local moment and specific heat of the half-filled two-dimensional Hubbard model. Physical Review B, 63(12). 10.1103/physrevb.63.125116