4.2. Hubbard chain (optical conductivity)

Here, we calculate the optical conductivity for the one-dimensional Hubbard model.

The optical conductivity \(\sigma(\omega)\) can be calculated from the current-current correlation \(I(\omega,\eta)\), which is defined as

(4.2)\[ \begin{align}\begin{aligned}j_{x}={i}\sum_{i,\sigma}(c_{{\bf r}_{i}+{\bf e}_{x},\sigma}^{\dagger}c_{{\bf r}_{i},\sigma}-c_{{\bf r}_{i},\sigma}^{\dagger}c_{{\bf r}_{i}+{\bf e}_{x},\sigma}),\\I(\omega,\eta)={\rm Im}\Big[\langle 0|j_{x}[H-(\omega-E_{0}-{i}\eta)I]^{-1}j_{x}|0\rangle\Big],\end{aligned}\end{align} \]

where \({\bf e}_{x}\) is the unit translational vector in the x direction. From this the regular part of the optical conductivity is defined as

(4.3)\[\sigma_{\rm reg}(\omega)=\frac{I(\omega,\eta)+I(-\omega,-\eta)}{\omega N_{s}},\]

where \(N_{\rm s}\) is the number of sites.

An input file (samples/tutorial_4.2/stan1.in) for 6-site Hubbard model is as follows:

model = "Hubbard"
method = "CG"
lattice = "chain"
L = 6
t = 1
U = 10
2Sz = 0
nelec = 6
exct = 1
EigenVecIO  = "out"

Scripts for calculating the optical conductivity are available at samples/tutorial_4.2/.

By performing the all-in-one script (All.sh),

sh ./All.sh

you can obtain optical.dat Note that samples/tutorial_4.2/OpticalSpectrum.py, samples/tutorial_4.1/lattice.py, samples/tutorial_4.2/lattice.py, and samples/tutorial_4.2/input.txt are necessary.

A way for plotting optical.dat is as follows

plot "optical.dat" u 1:(-($4+$8)/$1) w l