|
381. TRED4: Diagonalization Routine for Virtual Memory
Computers
by J. D. McDonald, School of Chemical Science,
University of Illinois, Urbana, Illinois 61801
This routine, TRED4, is a reworked version of the
EISPAC routine TRED2, with the order of computations
changed so that it works efficiently in virtual memory.
The method and results are absolutely identical to
TRED2. The user should refer to EISPAC documentation
for details.
The order of computation and the method of ordering the
elements of the arrays in virtual memory are changed
from TRED2 so that the elements are read and written to
auxiliary storage sequentially.
The whole matrix must be read and rewritten
approximately 4N times (for TRED4 and TQL2 combined)
where N is the order of the matrix. At one point, the
matrix is reordered in such a manner that it is most
convenient to write half of it out to a file (disk or
tape). This uses FORTRAN unit number 49 and is scratch
work space. If your computer allows it, this can be
declared in OPEN and CLOSE statements, as illustrated
in the COMMENT cards.
This version is double precision. To change to single
precision, remove double precision statement and the D
from DABS, DSIGN, and DSQRT, and change 1.D0,0.D0 to 1.
and 0. respectively.
You must use the appropriate version of TQL2 to
complete the calculations of eigenvalues and
eigenvectors. TQL2 does not need modification for
virtual memory.
FORTRAN IV (DEC VAX 11/780)
Lines of Code: 364
Recommended Citation: J. D. McDonald, QCPE 11, 381
(1979).
|