A separate input file drives the timing codes for the nonsymmetric eigenproblem. The input file specifies
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:
The computations that may be timed for the REAL version are
Eight different matrix types are provided for timing the nonsymmetric eigenvalue routines. A variety of matrix types is allowed because the number of iterations to compute the eigenvalues, and hence the timing, can depend on the type of matrix whose eigendecomposition is desired. The matrices used for timing are of the form 128#128 where 98#98 is either orthogonal (for types 1-4) or random with condition number 556#556 (for types 5-8), where 9#9 is the machine roundoff error. The matrix 85#85 is upper triangular with random 124#124 entries in the strict upper triangle and has on its diagonal
An annotated example of an input file for timing the REAL nonsymmetric eigenproblem routines is shown below.
NEP: Data file for timing Nonsymmetric Eigenvalue Problem routines 4 Number of values of N 10 20 30 40 Values of N (dimension) 4 Number of values of parameters 1 1 1 1 Values of NB (blocksize) 2 4 6 2 Values of NS (number of shifts) 12 12 12 50 Values of MAXB (multishift crossover pt) 81 81 81 81 Values of LDA (leading dimension) 0.05 Minimum time in seconds 4 Number of matrix types 1 3 4 6 SHS T T T T T T T T T T T T
The first line of the input file must contain the characters NEP in columns 1-3. Lines 2-10 are read using list-directed input and specify the following values:
If 0 560#560, then line 11 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 nonsymmetric eigenvalue problem, the path names for the four data types are SHS, DHS, CHS, and ZHS. A line to request all the routines in the REAL path has the form
SHS T T T T T T T T T T T Twhere the first 3 characters specify the path name, and up to 12 nonblank characters may appear in columns 4-80. If the 561#561 such character is `T' or `t', the 561#561 routine will be timed. If at least one but fewer than 12 nonblank characters are specified, the remaining routines will not be timed. If columns 4-80 are blank, all the routines will be timed, so the input line
SHSis equivalent to the line above.
The output is in the form of a table which shows the absolute times in seconds, floating point operation counts, and megaflop rates for each routine over all relevant input parameters. For the blocked routines, the table has one line for each different value of NB, and for the SHSEQR routine, one line for each different combination of NS and MAXB as well.