Theory
Ref: [98]
A different way of diagonalizing the Hessian matrix comes from the
Lanczos procedure. It is easy to generalize eq.14 to
a collective displacement of atoms,
![]() |
(19) | ||
![]() |
(20) |
The matrix
is thus projected onto a k
k subspace, in a
tridiagonal form,
.
's eigenvalues are approximations to
's,
while the eigenvectors are brought in the n
n space by means of
the orthogonal matrix
.
The advantage with respect to the usual diagonalization schemes is that
the highest and the lowest end of the spectrum tend to converge before
the ionic degrees of freedom are fully explored.
The projection of the trivial eigenmodes is performed by eliminating
their contribution from every Lanczos vector at the orthogonalization step
reported in the algorithm above,
![]() |
(22) |
Lanczos input
The input for the Lanczos routine is given by the keyword LANCZOS plus some optional arguments and a mandatory following line with numerical data. Plese note that this keyword is analogous to that for the Lanczos diagonalization of the electronic degrees of freedom. Given its presence in the &RESP-section there should be no ambiguity.
Lanczos output
In the output, all the informations about the perturbed wavefunction
optimization are reported, just like in the PHONON case. The
differences are in the form of the perturbation and in the eigenmodes
information coming from the diagonalization of
.
The report of the perturbation for a water dimer reads like;
********************** perturbations ********************** **** atom= 1 O .04171821 .07086763 .07833475 **** atom= 2 O .03615521 .08499767 .07082773 **** atom= 3 H .29222111 .13357862 .09032954 **** atom= 4 H .33764012 .15750912 .25491923 **** atom= 5 H .06426954 .26020430 .01822161 **** atom= 6 H .15765937 .27370013 .29183999 cpu time for wavefunction initialization: 89.22 secondswhere at every atom corresponds the x,y,z displacemnts applied to calculate the perturbed wavefunctions.
At every iteration information about the elements of the
matrix,
alpha's and beta's, are reported. Here we are at the end of the
calculation. Note the numerical zero in the final +1 beta value.
Then the spectrum in a.u. is reported,
together with the convergence information. At the last iteration there
are vectors which are not ``converged''. But this comes only from
the definition, since some of the eigenvectors must have a
component over the last Lanczos vectors. Following there are the
familiar eigenvalues in cm
.
****************************************************************
*+* L2 norm[n[i+1]] = 0.100262974102936016E-02
*=* overlap: alpha[ 12 ] = 0.982356847531824437E-03
*=* off-diag: beta[ 13 ] = 0.300011777832112837E-19
*=* norm: = 0.300011777832112837E-19
****************************************************************
*** SPECTRUM, run 12 :
*** eigenvalue 12 = .4855525 (converged: .000000).
*** eigenvalue 11 = .4785309 (converged: .000000).
*** eigenvalue 10 = .4605248 (converged: .000000).
*** eigenvalue 9 = .4303958 (converged: .000000).
*** eigenvalue 8 = .0973733 (converged: .000000).
*** eigenvalue 7 = .0943757 (converged: .000000).
*** eigenvalue 6 = .0141633 (converged: .000004).
*** eigenvalue 5 = .0046807 (NOT converged: .004079).
*** eigenvalue 4 = .0020023 (NOT converged: .010100).
*** eigenvalue 3 = .0010310 (NOT converged: .313417).
*** eigenvalue 2 = .0009886 (NOT converged: .933851).
*** eigenvalue 1 = .0006303 (NOT converged: .171971).
****************************************************************
harmonic frequencies [cm**-1]:
129.0591 161.6295 165.0552 230.0241
351.6915 611.7668 1579.1898 1604.0732
3372.3938 3488.4362 3555.9794 3581.9733
****************************************************************