Next: Timing the Singular Value
Up: More About Timing
Previous: Input File for Timing
  Contents
A separate input file drives the timing codes for the symmetric
eigenproblem. The input file specifies
- N, the matrix size
- pairs of parameter values (NB, LDA) specifying the
block size NB and the leading dimension LDA
- the test matrix types
- the routines or sequences of routines from LAPACK or EISPACK
to be timed.
A goal of this timing code is to determine
the values of NB which maximize the speed of the block algorithms.
The number and size of the input values are limited by certain program
maximums which are defined in PARAMETER statements in the
main timing program:
566#566
The computations that may be timed depend on whether the data is real
or complex.
For the REAL version the possible computations are
- SSYTRD (LAPACK reduction to symmetric tridiagonal form)
- SORGTR (LAPACK generation of orthogonal martrix as returned by
SSYTRD)
- SORMTR (LAPACK multiplication of orthogonal matrix as returned by
SSYTRD)
- SSTEQR(N) (LAPACK computation of eigenvalues only of a symmetric
tridiagonal matrix)
- SSTEQR(V) (LAPACK computation of the eigenvalues and eigenvectors of
a symmetric tridiagonal matrix)
- SSTERF (LAPACK computation of the eigenvalues only of a symmetric
tridiagonal matrix using a square-root free algorithm)
- SPTEQR(COMPZ='N') (LAPACK computation of the eigenvalues of a
symmetric positive definite tridiagonal matrix)
- SPTEQR(COMPZ='V') (LAPACK computation of the eigenvalues and
eigenvectors of a symmetric positive definite tridiagonal matrix)
- SSTEBZ(RANGE='I') (LAPACK computation of the eigenvalues in a
specified interval for a symmetric tridiagonal matrix)
- SSTEBZ(RANGE='V') (LAPACK computation of the eigenvalues in a
half-open interval for a symmetric tridiagonal matrix)
- SSTEIN (LAPACK computation of the eigenvectors of a symmetric
tridiagonal matrix corresponding to specified eigenvalues using inverse
iteration)
- SSTEDC(COMPQ='N')
- SSTEDC(COMPQ='I')
- SSTEDC(COMPQ='V')
- SSTEGR(COMPQ='N')
- SSTEGR(COMPQ='V')
- TRED1 (EISPACK reduction to symmetric tridiagonal form, to be compared
to SSYTRD)
- IMTQL1 (EISPACK computation of eigenvalues only of a symmetric
tridiagonal matrix, to be compared to SSTEQR(N))
- IMTQL2 (EISPACK computation of eigenvalues and eigenvectors of a
symmetric tridiagonal matrix, to be compared to SSTEQR(V))
- TQLRAT (EISPACK computation of eigenvalues only of a symmetric
tridiagonal matrix, to be compared to SSTERF).
- TRIDIB (EISPACK computation of the eigenvalues of )(compare with SSTEBZ - RANGE='I')
- BISECT (EISPACK computation of the eigenvalues of )(compare with SSTEBZ - RANGE='V')
- TINVIT (EISPACK computation of the eigenvectors of a triangular
matrix using inverse iteration) (compare with SSTEIN)
For complex matrices the possible computations are
- CHETRD (LAPACK reduction of a complex Hermitian matrix to
real symmetric tridiagonal form)
- CSTEQR(N) (LAPACK computation of eigenvalues only of a symmetric
tridiagonal matrix)
- CUNGTR+CSTEQR(V) (LAPACK computation of the eigenvalues and
eigenvectors of a symmetric diagonal matrix)
- CPTEQR(VECT='N') (LAPACK computation of the eigenvalues only of a
symmetric positive definite tridiagonal matrix)
- CUNGTR+CPTEQR(VECT='V') (LAPACK computation of the eigenvalues and
eigenvectors of a symmetric positive definite tridiagonal matrix)
- SSTEBZ+CSTEIN+CUNMTR (LAPACK computation of the eigenvalues and
eigenvectors of a symmetric tridiagonal matrix)
- CSTEDC(COMPQ='I')+CUNMTR
- CSTEGR(COMPQ='V')
- HTRIDI (EISPACK reduction to symmetric tridiagonal form, to be compared
to CHETRD)
- IMTQL1 (EISPACK computation of eigenvalues only of a symmetric
tridiagonal matrix, to be compared to CSTEQR(V))
- IMTQL2+HTRIBK (EISPACK computation of eigenvalues and eigenvectors of a
complex Hermitian matrix given the reduction to real
symmetric tridiagonal form, to be compared to CUNGTR+CSTEQR(V)).
Four different matrix types are provided for timing the
symmetric eigenvalue routines.
The matrices used for timing are of the form 567#567,
where 98#98 is orthogonal and 282#282 is diagonal with entries
- evenly spaced entries from 1 down to 9#9 with random signs
(matrix type 1),
- geometrically spaced entries from 1 down to 9#9 with random
signs (matrix type 2),
- ``clustered'' entries
557#557 with random
signs (matrix type 3), or
- eigenvalues randomly chosen from the interval
558#558
(matrix type 4).
An annotated example of an input file for timing the
REAL symmetric eigenproblem routines is shown below.
SEP: Data file for timing Symmetric Eigenvalue Problem routines
5 Number of values of N
10 20 40 60 80 Values of N (dimension)
2 Number of values of parameters
1 16 Values of NB (blocksize)
81 81 Values of LDA (leading dimension)
0.05 Minimum time in seconds
4 Number of matrix types
SST T T T T T T T T T T T T T T T T T T T T T T T
The first line of the input file
must contain the characters SEP in columns 1-3.
Lines 2-8 are read using list-directed input and specify the following
values:
568#568
If 0
565#565,
then line 9 specifies NTYPES integer values
which are the numbers of the matrix types to be used.
The remaining lines specify a path name and the specific
computations to be timed.
For the symmetric eigenvalue problem, the path names for the four
data types are SST, DST, CST, and ZST.
The (optional) characters after the path name indicate the computations
to be timed, as in the input file for the nonsymmetric eigenvalue
problem.
Next: Timing the Singular Value
Up: More About Timing
Previous: Input File for Timing
  Contents
Susan Blackford
2001-08-13