Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aaaf_v1_0.gz(13 Kbytes)
Manuscript Title: The hermitian matrix eigenproblem Hx = eSx using compact array storage.
Authors: J.C. Nash
Program title: COMPLEX GENERALISED EIGENPROBLEM
Catalogue identifier: AAAF_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 8(1974)85
Programming language: Fortran.
Computer: IBM 370/165.
Operating system: OS-MVT-HASP.
RAM: 125K words
Word size: 8
Keywords: General purpose, Hermitian matrix, Generalized eigenproblem, Choleski decomposition, Complex matrices.
Classification: 4.8.

Nature of problem:
The eigenproblem Hx = eSx where H and S are complex hermitian matrices with S positive definite has arisen in studies of the vibrational spectra of crystals and the molecular electronic structure of polymers.

Solution method:
The metric S is decomposed by a complex variant of the Choleski decomposition S = LL+, where L+ denotes the hermitian conjugate of L. L is a complex lower triangular matrix with real diagonal elements. The matrix H is transformed to G= L**-1 H(L+)**-1, so the problem is recast Gy=ey, where y =L+x. G is hermitian and its eigensolutions are obtained by Mueller's algorithm. The complete process when carried out for real matrices H and S has been described by Martin and Wilkinson.

Restrictions:
Currently the program will handle matrices of order <= 40. However, matrices of order 126 (without metric) have been solved by Birss of the University of Alberta.

Unusual features:
The program uses a compact method for storing H and S. A hermitian matrix G may be written G=Gr+iGI, where i= (-1)**1/2; but GR**T = GR, and GI**T = -GI for G hermitian, where T denotes transposition. Note that GIjj = Mjj+iO for all j, and for k>j, Gjk = Mkj+iMjk, Gkj = Mkj- iMjk. This means of accessing array elements may be time consuming, particularly in a paging environment, where alternative storage mechanisms should be employed if large matrices are to be solved regularly.

Running time:
CPU time required on the Computel/IBM 370/165 for the test deck consisting of one order 10 problem with metric, one order 10 problem without metric and one order 2 problem with metric was 6.77 s inclusive of testing. The timing is, however, altered by overall machine usage, and the same deck has been timed on a separate occassion at 5.85 s.