Lanczos Method for Eigensystems Aiichiro Nakano Collaboratory for Advanced Computing & Simulations Department of Computer Science Department of Physics & Astronomy Department of Chemical Engineering & Materials Science Department of Biological Sciences University of Southern California Email: [email protected]B. N. Parlett The Symmetric Eigenvalue Problem (Prentice-Hall, ’80) Secs. 11-13
13
Embed
Lanczos Method for Eigensystemscacs.usc.edu/education/phys516/Lanczos.pdf · Lanczos Method for Eigensystems! Aiichiro Nakano! Collaboratory for Advanced Computing & Simulations!
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Lanczos Method for Eigensystems
Aiichiro Nakano Collaboratory for Advanced Computing & Simulations
Department of Computer Science Department of Physics & Astronomy
Department of Chemical Engineering & Materials Science Department of Biological Sciences University of Southern California
Rayleigh Quotient Theorem Let A be an n×n real symmetric matrix, λ1[A] ≤ … ≤ λn[A] its eigenvalues in ascending order, x ∈ Rn, & the Rayleigh quotient
then
Proof Let q(k) be the k-th orthonormalized eigenvector of A, , & orthogonal transformation matrix, , then €
ρ(x;A) =xTAxxTx
€
λ1[A] =x∈ℜnmin ρ(x;A)
λn[A] =x∈ℜnmax ρ(x;A)
⎧
⎨ ⎪
⎩ ⎪
€
Aqk = λkqk
€
Q = q1q2!qn[ ]
Let x = Qz (note QTQ = I), then
which is a weighted average of λ1, …, λn, & the minimum is when zT = (1,0,…,0) = e1 & x = Qe1 = q1.
€
QTAQ =
λ1!
λn
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
€
ρ(x;A) =zTQTAQzzTQTQz
=z12λ1 +!+ zn
2λnz12 +!+ zn
2
Rayleigh-Ritz Procedure Theorem Let {q1,…,qm} be an orthonormal set that spans Rm (m < n) ⊂ Rn, so that any vector x ∈ Rm is expressed as a linear combination of q1,…,qm:
or
then the best approximations for λ1[A] & λn[A] are obtained by diagonalizing
as λ1[H] & λm[H].
Proof Note
then
the minimum of which is λ1[H] (cf. proof in the previous page).
€
x = z1q1 +!+ zmqm
€
1
nx1!xn
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=
m
n q1 " qm
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
1z1!zm
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
m =Qz
€
m ×mH =
m × nQT
n × nA
n ×mQ
€
ρ(x;A) =zTQTAQzzTQTQz
=zTHzzTz
=z12λ1(H )+!+ zm
2 λm (H )z12 +!+ zm
2
€
QTQ( ) ij = QkiQkjk=1
n∑ = qi • q j = δ ij 1≤ i, j ≤ m
Orthogonalization by QR Decomposition • Gram-Schmidt orthonormalization: The orthonormal set Q required for
the Rayleigh-Ritz procedure is obtained starting from an arbitrary set of m vectors, S = [s1…sm] (sj ∈ Rn) as:
€
q1 = s1 / | s1 |for i = 2 to m
ʹ′ q i = si − q j q j • si( )j=1
i−1∑
qi = ʹ′ q i / | ʹ′ q i |endfor
€
∵ si =| ʹ′ q i | qi + q j q j • si( )j=1
i−1∑
• The Gram-Schmidt amounts to QR decomposition, S = QR, where R is an m×m right-triangle matrix:
Application of Rayleigh-Ritz/Lanczos • Search for transition states (with a negative eigenvalue of the Hessian matrix, ∂2E/∂ri∂rj, by following the eigenvector with the smallest eigenvalue —Rayleigh-Ritz: Kumeda, Wales & Munro, Chem. Phys. Lett. 341, 185 (’01) ! —Lanczos: Mousseau et al., J. Mol. Graph. Model. 19, 78 (’01) !
Figure from Prof. H. B. Schlegel; http://chem.wayne.edu/schlegel!
Lanczos Algorithm for Hessian Calculation
Sample Run of Lanczos Program
Electronic Energy Bands of GaAs
C. Pryor, Phys. Rev. B 57, 7190 (’98)
• 8-band k•p model
Lanczos Program in Fortran do s = 1,NWF! q(:,:,:,s) = v/bet(s-1)! call hamiltonian_op(q(:,:,:,s),hv) ! Operates Hamiltonian H on Q(S)! v = hv-bet(s-1)*q(:,:,:,s-1)! alp(s) = inner_product(q(:,:,:,s),v)! v = v-alp(s)*q(:,:,:,s)! bet(s) = sqrt(inner_product(v,v))! call tridiag(eval,s) ! Diagonalize the S by S tridiagonal matrix!end do ! Lanczos iteration S!