In computational solid state physics, Continuous-time quantum Monte Carlo (CT-QMC) is a family of stochastic algorithms for solving the Anderson impurity model at finite temperature. These methods first expand the full partition function as a series of Feynman diagrams, employ Wick's theorem to group diagrams into determinants, and finally use Markov chain Monte Carlo to stochastically sum up the resulting series.
The attribute continuous-time was introduced to distinguish the method from the then-predominant Hirsch–Fye quantum Monte Carlo method, which relies on a Suzuki–Trotter discretisation of the imaginary time axis.
If the sign problem is absent, the method can also be used to solve lattice models such as the Hubbard model at half filling. To distinguish it from other Monte Carlo methods for such systems that also work in continuous time, the method is then usually referred to as Diagrammatic determinantal quantum Monte Carlo (DDQMC or DDMC).
In second quantisation, the Hamiltonian of the Anderson impurity model reads:
H=\underbrace{\sumijEij
\dagger | |
c | |
i |
cj}
Hloc0 |
+\underbrace{
12 | |
\sum |
ijklUikjl
\dagger | |
c | |
i |
\dagger | |
c | |
j |
clck}
Hint |
+\underbrace{\sump,i(Vpi
\dagger | |
f | |
p |
ci+
* | |
V | |
pi |
\dagger | |
c | |
i |
fp
)} | |
Hhyb |
+\underbrace{\sump\epsilonp
\dagger | |
f | |
p |
fp}
Hbath |
\dagger | |
c | |
i |
ci
i
\dagger | |
f | |
p |
fp
p
Step 1 of CT-QMC is to split the Hamiltonian into an exactly solvable term,
H0
HI
HI=Hint
HI=Hhyb
Step 2 is to switch to the interaction picture and expand the partition function in terms of a Dyson series:
Z=\operatorname{tr}\left(e-\beta\right) =
infty | |
\sum | |
n=0 |
(-1)n | |
n! |
\beta | |
\int | |
0 |
dn\tau
-\betaH0 | |
\operatorname{tr}\left[e |
T\tauHI(\tau1)HI(\tau2) … HI(\taun)\right]
\beta
T\tau
The Dyson series generates a factorial number of identical diagrams per order, which makes sampling more difficult and possibly worsen the sign problem. Thus, as step 3, one uses Wick's theorem to group identical diagrams into determinants. This leads to the expressions:
Z=
infty | |
\sum | |
n=0 |
n | |
\prod | |
\alpha=1 |
\sum | |
i\alphaj\alphak\alphal\alpha |
\intd\tau\alpha \left(-
12 | |
U |
i\alphak\alphaj\alphal\alpha |
\right) \det\left[\begin{array}{cc}\langleT\tau
\dagger | |
c | |
i\alpha |
(\tau\alpha) c
k\beta |
(\tau\beta)\rangle0& \langleT\tau
\dagger | |
c | |
i\alpha |
(\tau\alpha) c
l\beta |
(\tau\beta)\rangle0\\ \langleT\tau
\dagger | |
c | |
j\alpha |
(\tau\alpha) c
k\beta |
(\tau\beta)\rangle0& \langleT\tau
\dagger | |
c | |
j\alpha |
(\tau\alpha) c
l\beta |
(\tau\beta)\rangle0 \end{array}\right]\alpha\beta
Z=
infty | |
\sum | |
n=0 |
n | |
\prod | |
\alpha=1 |
\sum | |
i\alphaj\alpha |
\intd\tau\alpha
\prime | |
d\tau | |
\alpha |
-\beta(Hloc0+Hint) | |
\operatorname{tr}[e |
T\tau
n | |
\prod | |
\alpha=1 |
\dagger | |
c | |
i\alpha |
(\tau\alpha)
c | |
i\alpha |
\prime | |
(\tau | |
\alpha) |
]
\det[\Delta | |
i\alphaj\beta |
(\tau\alpha-
\prime | |
\tau | |
\beta)] |
\alpha\beta
In a final step, one notes that this is nothing but an integral over a large domain and performs it using a Monte Carlo method, usually the Metropolis–Hastings algorithm.