dchkee.f
来自「famous linear algebra library (LAPACK) p」· F 代码 · 共 1,815 行 · 第 1/5 页
F
1,815 行
PROGRAM DCHKEE
*
* -- LAPACK test routine (version 3.1.1) --
* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
* January 2007
*
* Purpose
* =======
*
* DCHKEE tests the DOUBLE PRECISION LAPACK subroutines for the matrix
* eigenvalue problem. The test paths in this version are
*
* NEP (Nonsymmetric Eigenvalue Problem):
* Test DGEHRD, DORGHR, DHSEQR, DTREVC, DHSEIN, and DORMHR
*
* SEP (Symmetric Eigenvalue Problem):
* Test DSYTRD, DORGTR, DSTEQR, DSTERF, DSTEIN, DSTEDC,
* and drivers DSYEV(X), DSBEV(X), DSPEV(X), DSTEV(X),
* DSYEVD, DSBEVD, DSPEVD, DSTEVD
*
* SVD (Singular Value Decomposition):
* Test DGEBRD, DORGBR, DBDSQR, DBDSDC
* and the drivers DGESVD, DGESDD
*
* DEV (Nonsymmetric Eigenvalue/eigenvector Driver):
* Test DGEEV
*
* DES (Nonsymmetric Schur form Driver):
* Test DGEES
*
* DVX (Nonsymmetric Eigenvalue/eigenvector Expert Driver):
* Test DGEEVX
*
* DSX (Nonsymmetric Schur form Expert Driver):
* Test DGEESX
*
* DGG (Generalized Nonsymmetric Eigenvalue Problem):
* Test DGGHRD, DGGBAL, DGGBAK, DHGEQZ, and DTGEVC
* and the driver routines DGEGS and DGEGV
*
* DGS (Generalized Nonsymmetric Schur form Driver):
* Test DGGES
*
* DGV (Generalized Nonsymmetric Eigenvalue/eigenvector Driver):
* Test DGGEV
*
* DGX (Generalized Nonsymmetric Schur form Expert Driver):
* Test DGGESX
*
* DXV (Generalized Nonsymmetric Eigenvalue/eigenvector Expert Driver):
* Test DGGEVX
*
* DSG (Symmetric Generalized Eigenvalue Problem):
* Test DSYGST, DSYGV, DSYGVD, DSYGVX, DSPGST, DSPGV, DSPGVD,
* DSPGVX, DSBGST, DSBGV, DSBGVD, and DSBGVX
*
* DSB (Symmetric Band Eigenvalue Problem):
* Test DSBTRD
*
* DBB (Band Singular Value Decomposition):
* Test DGBBRD
*
* DEC (Eigencondition estimation):
* Test DLALN2, DLASY2, DLAEQU, DLAEXC, DTRSYL, DTREXC, DTRSNA,
* DTRSEN, and DLAQTR
*
* DBL (Balancing a general matrix)
* Test DGEBAL
*
* DBK (Back transformation on a balanced matrix)
* Test DGEBAK
*
* DGL (Balancing a matrix pair)
* Test DGGBAL
*
* DGK (Back transformation on a matrix pair)
* Test DGGBAK
*
* GLM (Generalized Linear Regression Model):
* Tests DGGGLM
*
* GQR (Generalized QR and RQ factorizations):
* Tests DGGQRF and DGGRQF
*
* GSV (Generalized Singular Value Decomposition):
* Tests DGGSVD, DGGSVP, DTGSJA, DLAGS2, DLAPLL, and DLAPMT
*
* LSE (Constrained Linear Least Squares):
* Tests DGGLSE
*
* Each test path has a different set of inputs, but the data sets for
* the driver routines xEV, xES, xVX, and xSX can be concatenated in a
* single input file. The first line of input should contain one of the
* 3-character path names in columns 1-3. The number of remaining lines
* depends on what is found on the first line.
*
* The number of matrix types used in testing is often controllable from
* the input file. The number of matrix types for each path, and the
* test routine that describes them, is as follows:
*
* Path name(s) Types Test routine
*
* DHS or NEP 21 DCHKHS
* DST or SEP 21 DCHKST (routines)
* 18 DDRVST (drivers)
* DBD or SVD 16 DCHKBD (routines)
* 5 DDRVBD (drivers)
* DEV 21 DDRVEV
* DES 21 DDRVES
* DVX 21 DDRVVX
* DSX 21 DDRVSX
* DGG 26 DCHKGG (routines)
* 26 DDRVGG (drivers)
* DGS 26 DDRGES
* DGX 5 DDRGSX
* DGV 26 DDRGEV
* DXV 2 DDRGVX
* DSG 21 DDRVSG
* DSB 15 DCHKSB
* DBB 15 DCHKBB
* DEC - DCHKEC
* DBL - DCHKBL
* DBK - DCHKBK
* DGL - DCHKGL
* DGK - DCHKGK
* GLM 8 DCKGLM
* GQR 8 DCKGQR
* GSV 8 DCKGSV
* LSE 8 DCKLSE
*
*-----------------------------------------------------------------------
*
* NEP input file:
*
* line 2: NN, INTEGER
* Number of values of N.
*
* line 3: NVAL, INTEGER array, dimension (NN)
* The values for the matrix dimension N.
*
* line 4: NPARMS, INTEGER
* Number of values of the parameters NB, NBMIN, NX, NS, and
* MAXB.
*
* line 5: NBVAL, INTEGER array, dimension (NPARMS)
* The values for the blocksize NB.
*
* line 6: NBMIN, INTEGER array, dimension (NPARMS)
* The values for the minimum blocksize NBMIN.
*
* line 7: NXVAL, INTEGER array, dimension (NPARMS)
* The values for the crossover point NX.
*
* line 8: INMIN, INTEGER array, dimension (NPARMS)
* LAHQR vs TTQRE crossover point, >= 11
*
* line 9: INWIN, INTEGER array, dimension (NPARMS)
* recommended deflation window size
*
* line 10: INIBL, INTEGER array, dimension (NPARMS)
* nibble crossover point
*
* line 11: ISHFTS, INTEGER array, dimension (NPARMS)
* number of simultaneous shifts)
*
* line 12: IACC22, INTEGER array, dimension (NPARMS)
* select structured matrix multiply: 0, 1 or 2)
*
* line 13: THRESH
* Threshold value for the test ratios. Information will be
* printed about each test for which the test ratio is greater
* than or equal to the threshold. To have all of the test
* ratios printed, use THRESH = 0.0 .
*
* line 14: NEWSD, INTEGER
* A code indicating how to set the random number seed.
* = 0: Set the seed to a default value before each run
* = 1: Initialize the seed to a default value only before the
* first run
* = 2: Like 1, but use the seed values on the next line
*
* If line 14 was 2:
*
* line 15: INTEGER array, dimension (4)
* Four integer values for the random number seed.
*
* lines 15-EOF: The remaining lines occur in sets of 1 or 2 and allow
* the user to specify the matrix types. Each line contains
* a 3-character path name in columns 1-3, and the number
* of matrix types must be the first nonblank item in columns
* 4-80. If the number of matrix types is at least 1 but is
* less than the maximum number of possible types, a second
* line will be read to get the numbers of the matrix types to
* be used. For example,
* NEP 21
* requests all of the matrix types for the nonsymmetric
* eigenvalue problem, while
* NEP 4
* 9 10 11 12
* requests only matrices of type 9, 10, 11, and 12.
*
* The valid 3-character path names are 'NEP' or 'SHS' for the
* nonsymmetric eigenvalue routines.
*
*-----------------------------------------------------------------------
*
* SEP or DSG input file:
*
* line 2: NN, INTEGER
* Number of values of N.
*
* line 3: NVAL, INTEGER array, dimension (NN)
* The values for the matrix dimension N.
*
* line 4: NPARMS, INTEGER
* Number of values of the parameters NB, NBMIN, and NX.
*
* line 5: NBVAL, INTEGER array, dimension (NPARMS)
* The values for the blocksize NB.
*
* line 6: NBMIN, INTEGER array, dimension (NPARMS)
* The values for the minimum blocksize NBMIN.
*
* line 7: NXVAL, INTEGER array, dimension (NPARMS)
* The values for the crossover point NX.
*
* line 8: THRESH
* Threshold value for the test ratios. Information will be
* printed about each test for which the test ratio is greater
* than or equal to the threshold.
*
* line 9: TSTCHK, LOGICAL
* Flag indicating whether or not to test the LAPACK routines.
*
* line 10: TSTDRV, LOGICAL
* Flag indicating whether or not to test the driver routines.
*
* line 11: TSTERR, LOGICAL
* Flag indicating whether or not to test the error exits for
* the LAPACK routines and driver routines.
*
* line 12: NEWSD, INTEGER
* A code indicating how to set the random number seed.
* = 0: Set the seed to a default value before each run
* = 1: Initialize the seed to a default value only before the
* first run
* = 2: Like 1, but use the seed values on the next line
*
* If line 12 was 2:
*
* line 13: INTEGER array, dimension (4)
* Four integer values for the random number seed.
*
* lines 13-EOF: Lines specifying matrix types, as for NEP.
* The 3-character path names are 'SEP' or 'SST' for the
* symmetric eigenvalue routines and driver routines, and
* 'DSG' for the routines for the symmetric generalized
* eigenvalue problem.
*
*-----------------------------------------------------------------------
*
* SVD input file:
*
* line 2: NN, INTEGER
* Number of values of M and N.
*
* line 3: MVAL, INTEGER array, dimension (NN)
* The values for the matrix row dimension M.
*
* line 4: NVAL, INTEGER array, dimension (NN)
* The values for the matrix column dimension N.
*
* line 5: NPARMS, INTEGER
* Number of values of the parameter NB, NBMIN, NX, and NRHS.
*
* line 6: NBVAL, INTEGER array, dimension (NPARMS)
* The values for the blocksize NB.
*
* line 7: NBMIN, INTEGER array, dimension (NPARMS)
* The values for the minimum blocksize NBMIN.
*
* line 8: NXVAL, INTEGER array, dimension (NPARMS)
* The values for the crossover point NX.
*
* line 9: NSVAL, INTEGER array, dimension (NPARMS)
* The values for the number of right hand sides NRHS.
*
* line 10: THRESH
* Threshold value for the test ratios. Information will be
* printed about each test for which the test ratio is greater
* than or equal to the threshold.
*
* line 11: TSTCHK, LOGICAL
* Flag indicating whether or not to test the LAPACK routines.
*
* line 12: TSTDRV, LOGICAL
* Flag indicating whether or not to test the driver routines.
*
* line 13: TSTERR, LOGICAL
* Flag indicating whether or not to test the error exits for
* the LAPACK routines and driver routines.
*
* line 14: NEWSD, INTEGER
* A code indicating how to set the random number seed.
* = 0: Set the seed to a default value before each run
* = 1: Initialize the seed to a default value only before the
* first run
* = 2: Like 1, but use the seed values on the next line
*
* If line 14 was 2:
*
* line 15: INTEGER array, dimension (4)
* Four integer values for the random number seed.
*
* lines 15-EOF: Lines specifying matrix types, as for NEP.
* The 3-character path names are 'SVD' or 'SBD' for both the
* SVD routines and the SVD driver routines.
*
*-----------------------------------------------------------------------
*
* DEV and DES data files:
*
* line 1: 'DEV' or 'DES' in columns 1 to 3.
*
* line 2: NSIZES, INTEGER
* Number of sizes of matrices to use. Should be at least 0
* and at most 20. If NSIZES = 0, no testing is done
* (although the remaining 3 lines are still read).
*
* line 3: NN, INTEGER array, dimension(NSIZES)
* Dimensions of matrices to be tested.
*
* line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
* These integer parameters determine how blocking is done
* (see ILAENV for details)
* NB : block size
* NBMIN : minimum block size
* NX : minimum dimension for blocking
* NS : number of shifts in xHSEQR
* NBCOL : minimum column dimension for blocking
*
* line 5: THRESH, REAL
* The test threshold against which computed residuals are
* compared. Should generally be in the range from 10. to 20.
* If it is 0., all test case data will be printed.
*
* line 6: TSTERR, LOGICAL
* Flag indicating whether or not to test the error exits.
*
* line 7: NEWSD, INTEGER
* A code indicating how to set the random number seed.
* = 0: Set the seed to a default value before each run
* = 1: Initialize the seed to a default value only before the
* first run
* = 2: Like 1, but use the seed values on the next line
*
* If line 7 was 2:
*
* line 8: INTEGER array, dimension (4)
* Four integer values for the random number seed.
*
* lines 9 and following: Lines specifying matrix types, as for NEP.
* The 3-character path name is 'DEV' to test SGEEV, or
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?