1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Prefetch | Time-independent perturbation theory</title>
<link rel="icon" href="data:,">
<style>
body {
background:#ddd;
color:#222;
max-width:80ch;
text-align:justify;
margin:auto;
padding:1em 0;
font-family:sans-serif;
line-height:1.3;
}
a {text-decoration:none;color:#00f;}
h1,h2,h3 {text-align:center}
h1 {font-size:200%;}
h2 {font-size:160%;}
h3 {font-size:120%;}
.nav {height:3rem;font-size:250%;}
.nav a:link,a:visited {color:#222;}
.nav a:hover,a:focus,a:active {color:#00f;}
.navl {width:30%;float:left;text-align:left;}
.navr {width:70%;float:left;text-align:right;}
pre {filter:invert(100%);}
@media (prefers-color-scheme: dark) {
body {background:#222;filter:invert(100%);}
} </style>
<script>
MathJax = {
loader: {load: ["[tex]/physics"]},
tex: {packages: {"[+]": ["physics"]}}
};
</script>
<script src="/mathjax/tex-svg.js" type="text/javascript"></script>
</head>
<body>
<div class="nav">
<div class="navl"><a href="/">PREFETCH</a></div>
<div class="navr">
<a href="/blog/">blog</a> 
<a href="/code/">code</a> 
<a href="/know/">know</a>
</div>
</div>
<hr>
<h1 id="time-independent-perturbation-theory">Time-independent perturbation theory</h1>
<p><em>Time-independent perturbation theory</em>, sometimes also called <em>stationary state perturbation theory</em>, is a specific application of perturbation theory to the time-independent Schrödinger equation in quantum physics, for Hamiltonians of the following form:</p>
<p><span class="math display">\[\begin{aligned}
\hat{H} = \hat{H}_0 + \lambda \hat{H}_1
\end{aligned}\]</span></p>
<p>Where <span class="math inline">\(\hat{H}_0\)</span> is a Hamiltonian for which the time-independent Schrödinger equation has a known solution, and <span class="math inline">\(\hat{H}_1\)</span> is a small perturbing Hamiltonian. The eigenenergies <span class="math inline">\(E_n\)</span> and eigenstates <span class="math inline">\(\ket{\psi_n}\)</span> of the composite problem are expanded accordingly in the perturbation “bookkeeping” parameter <span class="math inline">\(\lambda\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
\ket{\psi_n}
&= \ket{\psi_n^{(0)}} + \lambda \ket{\psi_n^{(1)}} + \lambda^2 \ket{\psi_n^{(2)}} + ...
\\
E_n
&= E_n^{(0)} + \lambda E_n^{(1)} + \lambda^2 E_n^{(2)} + ...
\end{aligned}\]</span></p>
<p>Where <span class="math inline">\(E_n^{(1)}\)</span> and <span class="math inline">\(\ket{\psi_n^{(1)}}\)</span> are called the <em>first-order corrections</em>, and so on for higher orders. We insert this into the Schrödinger equation:</p>
<p><span class="math display">\[\begin{aligned}
\hat{H} \ket{\psi_n}
&= \hat{H}_0 \ket{\psi_n^{(0)}}
+ \lambda \big( \hat{H}_1 \ket{\psi_n^{(0)}} + \hat{H}_0 \ket{\psi_n^{(1)}} \big) \\
&\qquad + \lambda^2 \big( \hat{H}_1 \ket{\psi_n^{(1)}} + \hat{H}_0 \ket{\psi_n^{(2)}} \big) + ...
\\
E_n \ket{\psi_n}
&= E_n^{(0)} \ket{\psi_n^{(0)}}
+ \lambda \big( E_n^{(1)} \ket{\psi_n^{(0)}} + E_n^{(0)} \ket{\psi_n^{(1)}} \big) \\
&\qquad + \lambda^2 \big( E_n^{(2)} \ket{\psi_n^{(0)}} + E_n^{(1)} \ket{\psi_n^{(1)}} + E_n^{(0)} \ket{\psi_n^{(2)}} \big) + ...
\end{aligned}\]</span></p>
<p>If we collect the terms according to the order of <span class="math inline">\(\lambda\)</span>, we arrive at the following endless series of equations, of which in practice only the first three are typically used:</p>
<p><span class="math display">\[\begin{aligned}
\hat{H}_0 \ket{\psi_n^{(0)}}
&= E_n^{(0)} \ket{\psi_n^{(0)}}
\\
\hat{H}_1 \ket{\psi_n^{(0)}} + \hat{H}_0 \ket{\psi_n^{(1)}}
&= E_n^{(1)} \ket{\psi_n^{(0)}} + E_n^{(0)} \ket{\psi_n^{(1)}}
\\
\hat{H}_1 \ket{\psi_n^{(1)}} + \hat{H}_0 \ket{\psi_n^{(2)}}
&= E_n^{(2)} \ket{\psi_n^{(0)}} + E_n^{(1)} \ket{\psi_n^{(1)}} + E_n^{(0)} \ket{\psi_n^{(2)}}
\\
...
&= ...
\end{aligned}\]</span></p>
<p>The first equation is the unperturbed problem, which we assume has already been solved, with eigenvalues <span class="math inline">\(E_n^{(0)} = \varepsilon_n\)</span> and eigenvectors <span class="math inline">\(\ket{\psi_n^{(0)}} = \ket{n}\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
\hat{H}_0 \ket{n} = \varepsilon_n \ket{n}
\end{aligned}\]</span></p>
<p>The approach to solving the other two equations varies depending on whether this <span class="math inline">\(\hat{H}_0\)</span> has a degenerate spectrum or not.</p>
<h2 id="without-degeneracy">Without degeneracy</h2>
<p>We start by assuming that there is no degeneracy, in other words, each <span class="math inline">\(\varepsilon_n\)</span> corresponds to one <span class="math inline">\(\ket{n}\)</span>. At order <span class="math inline">\(\lambda^1\)</span>, we rewrite the equation as follows:</p>
<p><span class="math display">\[\begin{aligned}
(\hat{H}_1 - E_n^{(1)}) \ket{n} + (\hat{H}_0 - \varepsilon_n) \ket{\psi_n^{(1)}} = 0
\end{aligned}\]</span></p>
<p>Since <span class="math inline">\(\ket{n}\)</span> form a complete basis, we can express <span class="math inline">\(\ket{\psi_n^{(1)}}\)</span> in terms of them:</p>
<p><span class="math display">\[\begin{aligned}
\ket{\psi_n^{(1)}} = \sum_{m \neq n} c_m \ket{m}
\end{aligned}\]</span></p>
<p>Importantly, <span class="math inline">\(n\)</span> has been removed from the summation to prevent dividing by zero later. This is allowed, because <span class="math inline">\(\ket{\psi_n^{(1)}} - c_n \ket{n}\)</span> also satisfies the <span class="math inline">\(\lambda^1\)</span>-order equation for any value of <span class="math inline">\(c_n\)</span>, as demonstrated here:</p>
<p><span class="math display">\[\begin{aligned}
(\hat{H}_1 - E_n^{(1)}) \ket{n} + (\hat{H}_0 - \varepsilon_n) \ket{\psi_n^{(1)}} - (\varepsilon_n - \varepsilon_n) c_n \ket{n} = 0
\end{aligned}\]</span></p>
<p>Where we used <span class="math inline">\(\hat{H}_0 \ket{n} = \varepsilon_n \ket{n}\)</span>. Inserting the series form of <span class="math inline">\(\ket{\psi_n^{(1)}}\)</span> into the order-<span class="math inline">\(\lambda^1\)</span> equation gives us:</p>
<p><span class="math display">\[\begin{aligned}
(\hat{H}_1 - E_n^{(1)}) \ket{n} + \sum_{m \neq n} c_m (\varepsilon_m - \varepsilon_n) \ket{m} = 0
\end{aligned}\]</span></p>
<p>We then put an arbitrary basis vector <span class="math inline">\(\bra{k}\)</span> in front of this equation to get:</p>
<p><span class="math display">\[\begin{aligned}
\matrixel{k}{\hat{H}_1}{n} - E_n^{(1)} \braket{k}{n} + \sum_{m \neq n} c_m (\varepsilon_m - \varepsilon_n) \braket{k}{m} = 0
\end{aligned}\]</span></p>
<p>Suppose that <span class="math inline">\(k = n\)</span>. Since <span class="math inline">\(\ket{n}\)</span> form an orthonormal basis, we end up with:</p>
<p><span class="math display">\[\begin{aligned}
\boxed{
E_n^{(1)} = \matrixel{n}{\hat{H}_1}{n}
}
\end{aligned}\]</span></p>
<p>In other words, the first-order energy correction <span class="math inline">\(E_n^{(1)}\)</span> is the expectation value of the perturbation <span class="math inline">\(\hat{H}_1\)</span> for the unperturbed state <span class="math inline">\(\ket{n}\)</span>.</p>
<p>Suppose now that <span class="math inline">\(k \neq n\)</span>, then only one term of the summation survives, and we are left with the following equation, which tells us <span class="math inline">\(c_l\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
\matrixel{k}{\hat{H}_1}{n} + c_k (\varepsilon_k - \varepsilon_n) = 0
\end{aligned}\]</span></p>
<p>We isolate this result for <span class="math inline">\(c_k\)</span> and insert it into the series form of <span class="math inline">\(\ket{\psi_n^{(1)}}\)</span> to get the full first-order correction to the wave function:</p>
<p><span class="math display">\[\begin{aligned}
\boxed{
\ket{\psi_n^{(1)}}
= \sum_{m \neq n} \frac{\matrixel{m}{\hat{H}_1}{n}}{\varepsilon_n - \varepsilon_m} \ket{m}
}
\end{aligned}\]</span></p>
<p>Here it is clear why this is only valid in the non-degenerate case: otherwise we would divide by zero in the denominator.</p>
<p>Next, to find the second-order correction to the energy <span class="math inline">\(E_n^{(2)}\)</span>, we take the corresponding equation and put <span class="math inline">\(\bra{n}\)</span> in front of it:</p>
<p><span class="math display">\[\begin{aligned}
\matrixel{n}{\hat{H}_1}{\psi_n^{(1)}} + \matrixel{n}{\hat{H}_0}{\psi_n^{(2)}}
&= E_n^{(2)} \braket{n}{n} + E_n^{(1)} \braket{n}{\psi_n^{(1)}} + \varepsilon_n \braket{n}{\psi_n^{(2)}}
\end{aligned}\]</span></p>
<p>Because <span class="math inline">\(\hat{H}_0\)</span> is Hermitian, we know that <span class="math inline">\(\matrixel{n}{\hat{H}_0}{\psi_n^{(2)}} = \varepsilon_n \braket{n}{\psi_n^{(2)}}\)</span>, i.e. we apply it to the bra, which lets us eliminate two terms. Also, since <span class="math inline">\(\ket{n}\)</span> is normalized, we find:</p>
<p><span class="math display">\[\begin{aligned}
E_n^{(2)}
= \matrixel{n}{\hat{H}_1}{\psi_n^{(1)}} - E_n^{(1)} \braket{n}{\psi_n^{(1)}}
\end{aligned}\]</span></p>
<p>We explicitly removed the <span class="math inline">\(\ket{n}\)</span>-dependence of <span class="math inline">\(\ket{\psi_n^{(1)}}\)</span>, so the last term is zero. By simply inserting our result for <span class="math inline">\(\ket{\psi_n^{(1)}}\)</span>, we thus arrive at:</p>
<p><span class="math display">\[\begin{aligned}
\boxed{
E_n^{(2)}
= \sum_{m \neq n} \frac{\big| \matrixel{m}{\hat{H}_1}{n} \big|^2}{\varepsilon_n - \varepsilon_m}
}
\end{aligned}\]</span></p>
<p>In practice, it is not particulary useful to calculate more corrections.</p>
<h2 id="with-degeneracy">With degeneracy</h2>
<p>If <span class="math inline">\(\varepsilon_n\)</span> is <span class="math inline">\(D\)</span>-fold degenerate, then its eigenstate could be any vector <span class="math inline">\(\ket{n, d}\)</span> from the corresponding <span class="math inline">\(D\)</span>-dimensional eigenspace:</p>
<p><span class="math display">\[\begin{aligned}
\hat{H}_0 \ket{n} = \varepsilon_n \ket{n}
\quad \mathrm{where} \quad
\ket{n}
= \sum_{d = 1}^{D} c_{d} \ket{n, d}
\end{aligned}\]</span></p>
<p>In general, adding the perturbation <span class="math inline">\(\hat{H}_1\)</span> will <em>lift</em> the degeneracy, meaning the perturbed states will be non-degenerate. In the limit <span class="math inline">\(\lambda \to 0\)</span>, these <span class="math inline">\(D\)</span> perturbed states change into <span class="math inline">\(D\)</span> orthogonal states which are all valid <span class="math inline">\(\ket{n}\)</span>.</p>
<p>However, the <span class="math inline">\(\ket{n}\)</span> that they converge to are not arbitrary: only certain unperturbed eigenstates are “good” states. Without <span class="math inline">\(\hat{H}_1\)</span>, this distinction is irrelevant, but in the perturbed case it will turn out to be important.</p>
<p>For now, we write <span class="math inline">\(\ket{n, d}\)</span> to refer to any orthonormal set of vectors in the eigenspace of <span class="math inline">\(\varepsilon_n\)</span> (not necessarily the “good” ones), and <span class="math inline">\(\ket{n}\)</span> to denote any linear combination of these. We then take the equation at order <span class="math inline">\(\lambda^1\)</span> and prepend an arbitrary eigenspace basis vector <span class="math inline">\(\bra{n, \delta}\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
\matrixel{n, \delta}{\hat{H}_1}{n} + \matrixel{n, \delta}{\hat{H}_0}{\psi_n^{(1)}}
&= E_n^{(1)} \braket{n, \delta}{n} + \varepsilon_n \braket{n, \delta}{\psi_n^{(1)}}
\end{aligned}\]</span></p>
<p>Since <span class="math inline">\(\hat{H}_0\)</span> is Hermitian, we use the same trick as before to reduce the problem to:</p>
<p><span class="math display">\[\begin{aligned}
\matrixel{n, \delta}{\hat{H}_1}{n}
&= E_n^{(1)} \braket{n, \delta}{n}
\end{aligned}\]</span></p>
<p>We express <span class="math inline">\(\ket{n}\)</span> as a linear combination of the eigenbasis vectors <span class="math inline">\(\ket{n, d}\)</span> to get:</p>
<p><span class="math display">\[\begin{aligned}
\sum_{d = 1}^{D} c_d \matrixel{n, \delta}{\hat{H}_1}{n, d}
= E_n^{(1)} \sum_{d = 1}^{D} c_d \braket{n, \delta}{n, d}
= c_{\delta} E_n^{(1)}
\end{aligned}\]</span></p>
<p>Let us now interpret the summation terms as matrix elements <span class="math inline">\(M_{\delta, d}\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
M_{\delta, d} = \matrixel{n, \delta}{\hat{H}_1}{n, d}
\end{aligned}\]</span></p>
<p>By varying the value of <span class="math inline">\(\delta\)</span> from <span class="math inline">\(1\)</span> to <span class="math inline">\(D\)</span>, we end up with equations of the form:</p>
<p><span class="math display">\[\begin{aligned}
\begin{bmatrix}
M_{1, 1} & \cdots & M_{1, D} \\
\vdots & \ddots & \vdots \\
M_{D, 1} & \cdots & M_{D, D}
\end{bmatrix}
\begin{bmatrix}
c_1 \\ \vdots \\ c_D
\end{bmatrix}
= E_n^{(1)}
\begin{bmatrix}
c_1 \\ \vdots \\ c_D
\end{bmatrix}
\end{aligned}\]</span></p>
<p>This is an eigenvalue problem for <span class="math inline">\(E_n^{(1)}\)</span>, where <span class="math inline">\(c_d\)</span> are the components of the eigenvectors which represent the “good” states. Suppose that this eigenvalue problem has been solved, and that <span class="math inline">\(\ket{n, g}\)</span> are the resulting “good” states. Then, as long as <span class="math inline">\(E_n^{(1)}\)</span> is a non-degenerate eigenvalue of <span class="math inline">\(M\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
\boxed{
E_{n, g}^{(1)} = \matrixel{n, g}{\hat{H}_1}{n, g}
}
\end{aligned}\]</span></p>
<p>Which is the same as in the non-degenerate case! Even better, the first-order wave function correction is also unchanged:</p>
<p><span class="math display">\[\begin{aligned}
\boxed{
\ket{\psi_{n,g}^{(1)}}
= \sum_{m \neq (n, g)} \frac{\matrixel{m}{\hat{H}_1}{n, g}}{\varepsilon_n - \varepsilon_m} \ket{m}
}
\end{aligned}\]</span></p>
<p>This works because the matrix <span class="math inline">\(M\)</span> is diagonal in the <span class="math inline">\(\ket{n, g}\)</span>-basis, such that when <span class="math inline">\(\ket{m}\)</span> is any vector <span class="math inline">\(\ket{n, \gamma}\)</span> in the <span class="math inline">\(\ket{n}\)</span>-eigenspace (except for <span class="math inline">\(\ket{n,g}\)</span> of course, which is explicitly excluded), then conveniently the corresponding numerator <span class="math inline">\(\matrixel{n, \gamma}{\hat{H}_1}{n, g} = M_{\gamma, g} = 0\)</span>, so the term does not contribute.</p>
<p>If any of the eigenvalues <span class="math inline">\(E_n^{(1)}\)</span> of <span class="math inline">\(M\)</span> are degenerate, then there is still some information missing about the components <span class="math inline">\(c_d\)</span> of the “good” states, in which case we must find these states some other way.</p>
<p>An alternative way of determining these “good” states is also of interest if there is no degeneracy in <span class="math inline">\(M\)</span>, since such a shortcut would allow us use the formulae from non-degenerate perturbation theory straight away.</p>
<p>The method is to find a Hermitian operator <span class="math inline">\(\hat{L}\)</span> (usually using symmetry) which commutes with both <span class="math inline">\(\hat{H}_0\)</span> and <span class="math inline">\(\hat{H}_1\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
= [\hat{L}, \hat{H}_1] = 0
\end{aligned}\]</span></p>
<p>So that it shares its eigenstates with <span class="math inline">\(\hat{H}_0\)</span> (and <span class="math inline">\(\hat{H}_1\)</span>), meaning at least <span class="math inline">\(D\)</span> of the vectors of the <span class="math inline">\(D\)</span>-dimensional <span class="math inline">\(\ket{n}\)</span>-eigenspace are also eigenvectors of <span class="math inline">\(\hat{L}\)</span>.</p>
<p>The crucial part, however, is that <span class="math inline">\(\hat{L}\)</span> must be chosen such that <span class="math inline">\(\ket{n, d_1}\)</span> and <span class="math inline">\(\ket{n, d_2}\)</span> have distinct eigenvalues <span class="math inline">\(\ell_1 \neq \ell_2\)</span> for <span class="math inline">\(d_1 \neq d_2\)</span>:</p>
<p><span class="math display">\[\begin{aligned}
\hat{L} \ket{n, b_1} = \ell_1 \ket{n, b_1}
\qquad
\hat{L} \ket{n, b_2} = \ell_2 \ket{n, b_2}
\end{aligned}\]</span></p>
<p>When this holds for any orthogonal choice of <span class="math inline">\(\ket{n, d_1}\)</span> and <span class="math inline">\(\ket{n, d_2}\)</span>, then these specific eigenvectors of <span class="math inline">\(\hat{L}\)</span> are the “good states”, for any valid choice of <span class="math inline">\(\hat{L}\)</span>.</p>
<hr>
© "Prefetch". Licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
</body>
</html>
|