Numerical Methods in Quantum Mechanics - Dipartimento di Fisica
Numerical Methods in Quantum Mechanics - Dipartimento di Fisica
Numerical Methods in Quantum Mechanics - Dipartimento di Fisica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The Hamiltonian operator for this problem is obviously<br />
H = −¯h2 ∇ 2<br />
2m e<br />
− Zq2 e<br />
r<br />
(5.24)<br />
For the hydrogen atom, Z = 1.<br />
Calculations for S- and P-wave gaussians are completely <strong>in</strong>dependent. In<br />
fact, the two sets of basis functions are mutually orthogonal: S ij = 0 if i is a<br />
S-wave, j is a P-wave gaussian, as evident from the <strong>di</strong>fferent parity of the two<br />
sets of functions. Moreover the matrix elements H ij of the Hamiltonian are<br />
also zero between states of <strong>di</strong>fferent angular momentum, for obvious symmetry<br />
reasons. The S and H matrices are thus block matrices and the eigenvalue<br />
problem can be solved separately for each block. The P-wave basis is clearly<br />
unfit to describe the ground state, s<strong>in</strong>ce it doesn’t have the correct symmetry,<br />
and it is <strong>in</strong>cluded ma<strong>in</strong>ly as an example.<br />
The code reads from file a list of exponents, α i , and proceeds to evaluate all<br />
matrix elements H ij and S ij . The calculation is based upon analytical results<br />
for <strong>in</strong>tegrals of Gaussian functions (Sec.5.1.1). In particular, for S-wave one has<br />
∫<br />
S ij = e −(α i+α j )r 2 d 3 r =<br />
while the k<strong>in</strong>etic and Coulomb terms <strong>in</strong> H ij are respectively<br />
∫ [<br />
Hij K = e −α ir 2 −¯h2 ∇ 2 ]<br />
e −α jr 2 d 3 r =<br />
2m e<br />
∫ [<br />
Hij V = e −α ir 2 − Zq2 e<br />
r<br />
]<br />
(<br />
π<br />
α i + α j<br />
) 3/2<br />
(5.25)<br />
( ) 3/2 ¯h2 6α i α j π<br />
(5.26)<br />
2m e α i + α j α i + α j<br />
e −α jr 2 d 3 r = − 2πZq2 e<br />
α i + α j<br />
(5.27)<br />
For the P-wave basis the procedure is analogous, us<strong>in</strong>g the correspond<strong>in</strong>g (and<br />
more complex) analytical expressions for <strong>in</strong>tegrals.<br />
The code then calls subrout<strong>in</strong>e <strong>di</strong>ag that solves the generalized secular<br />
problem (i.e. it applies the variational pr<strong>in</strong>ciple). Subrout<strong>in</strong>e <strong>di</strong>ag returns a<br />
vector e conta<strong>in</strong><strong>in</strong>g eigenvalues (<strong>in</strong> order of <strong>in</strong>creas<strong>in</strong>g energy) and a matrix v<br />
conta<strong>in</strong><strong>in</strong>g the eigenvectors, i.e. the expansion coefficients of wave functions.<br />
Internally, <strong>di</strong>ag performs the calculation described <strong>in</strong> the preced<strong>in</strong>g section<br />
<strong>in</strong> two stages. The solution of the simple eigenvalue problem is performed by<br />
the subrout<strong>in</strong>e dsyev we have already seen <strong>in</strong> Sect.4.4.<br />
In pr<strong>in</strong>ciple, one could use a s<strong>in</strong>gle LAPACK rout<strong>in</strong>e, dsygv, that solves<br />
the generalized secular problem, Hψ = ɛSψ, with a s<strong>in</strong>gle call. In practice,<br />
one has to be careful to avoid numerical <strong>in</strong>stabilities related to the problem<br />
of l<strong>in</strong>ear dependencies among basis functions (see Eq.(5.10) and the follow<strong>in</strong>g<br />
<strong>di</strong>scussion). Inside rout<strong>in</strong>e <strong>di</strong>ag, all eigenvectors of matrix S correspond<strong>in</strong>g to<br />
very small eigenvectors, i.e. smaller than a pre-fixed threshold are thrown away,<br />
before proceed<strong>in</strong>g with the second <strong>di</strong>agonalization. The number of l<strong>in</strong>early<br />
<strong>in</strong>dependent eigenvectors is repr<strong>in</strong>ted <strong>in</strong> the output.<br />
The reason for such procedure is that it is not uncommon to <strong>di</strong>scover that<br />
some basis functions can almost exactly be written as sums of some other basis<br />
45