TESTING/EIG/dchkee.F(3)

πŸ“¦ version 3.12.0, in centos-stream 10, fedora 43, fedora 44

✨ TESTING/EIG/dchkee.F ✨

ok so first things first, bestie: this page is from the LAPACK manual (the section-3 corner of it), and it's the whole vibe for dchkee β€” the DOUBLE PRECISION eigenvalue-problem test driver. It's a long one so we're doing this in parts, and honestly? it's giving encyclopedia. But it's an iconic encyclopedia. Let's go πŸ’…


🏷️ NAME

TESTING/EIG/dchkee.F

that's it. that's the whole section. short king energy, we respect it πŸ‘‘


πŸ“œ SYNOPSIS

🧩 Functions/Subroutines

  • program dchkee β€” aka DCHKEE πŸŽ€

🧾 Function/Subroutine Documentation

πŸ’» program dchkee

DCHKEE

✨ Purpose

DCHKEE tests the DOUBLE PRECISION LAPACK subroutines for the matrix eigenvalue problem. The test paths in this version are:

  • NEP (Nonsymmetric Eigenvalue Problem) β€” tests DGEHRD, DORGHR, DHSEQR, DTREVC, DHSEIN, and DORMHR
  • SEP (Symmetric Eigenvalue Problem) β€” tests DSYTRD, DORGTR, DSTEQR, DSTERF, DSTEIN, DSTEDC, and drivers DSYEV(X), DSBEV(X), DSPEV(X), DSTEV(X), DSYEVD, DSBEVD, DSPEVD, DSTEVD
  • SVD (Singular Value Decomposition) β€” tests DGEBRD, DORGBR, DBDSQR, DBDSDC and the drivers DGESVD, DGESDD
  • DEV (Nonsymmetric Eigenvalue/eigenvector Driver) β€” tests DGEEV
  • DES (Nonsymmetric Schur form Driver) β€” tests DGEES
  • DVX (Nonsymmetric Eigenvalue/eigenvector Expert Driver) β€” tests DGEEVX
  • DSX (Nonsymmetric Schur form Expert Driver) β€” tests DGEESX
  • DGG (Generalized Nonsymmetric Eigenvalue Problem) β€” tests DGGHD3, DGGBAL, DGGBAK, DHGEQZ, and DTGEVC
  • DGS (Generalized Nonsymmetric Schur form Driver) β€” tests DGGES
  • DGV (Generalized Nonsymmetric Eigenvalue/eigenvector Driver) β€” tests DGGEV
  • DGX (Generalized Nonsymmetric Schur form Expert Driver) β€” tests DGGESX
  • DXV (Generalized Nonsymmetric Eigenvalue/eigenvector Expert Driver) β€” tests DGGEVX
  • DSG (Symmetric Generalized Eigenvalue Problem) β€” tests DSYGST, DSYGV, DSYGVD, DSYGVX, DSPGST, DSPGV, DSPGVD, DSPGVX, DSBGST, DSBGV, DSBGVD, and DSBGVX
  • DSB (Symmetric Band Eigenvalue Problem) β€” tests DSBTRD
  • DBB (Band Singular Value Decomposition) β€” tests DGBBRD
  • DEC (Eigencondition estimation) β€” tests DLALN2, DLASY2, DLAEQU, DLAEXC, DTRSYL, DTREXC, DTRSNA, DTRSEN, and DLAQTR
  • DBL (Balancing a general matrix) β€” tests DGEBAL
  • DBK (Back transformation on a balanced matrix) β€” tests DGEBAK
  • DGL (Balancing a matrix pair) β€” tests DGGBAL
  • DGK (Back transformation on a matrix pair) β€” tests 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
  • CSD (CS decomposition) β€” tests DORCSD
  • 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 🫢

  • DHS or NEP β€” 21 types β€” DCHKHS
  • DST or SEP β€” 21 types β€” DCHKST (routines)
  • DST or SEP β€” 18 types β€” DDRVST (drivers)
  • DBD or SVD β€” 16 types β€” DCHKBD (routines)
  • DBD or SVD β€” 5 types β€” DDRVBD (drivers)
  • DEV β€” 21 types β€” DDRVEV
  • DES β€” 21 types β€” DDRVES
  • DVX β€” 21 types β€” DDRVVX
  • DSX β€” 21 types β€” DDRVSX
  • DGG β€” 26 types β€” DCHKGG (routines)
  • DGS β€” 26 types β€” DDRGES
  • DGX β€” 5 types β€” DDRGSX
  • DGV β€” 26 types β€” DDRGEV
  • DXV β€” 2 types β€” DDRGVX
  • DSG β€” 21 types β€” DDRVSG
  • DSB β€” 15 types β€” DCHKSB
  • DBB β€” 15 types β€” DCHKBB
  • DEC β€” - β€” DCHKEC
  • DBL β€” - β€” DCHKBL
  • DBK β€” - β€” DCHKBK
  • DGL β€” - β€” DCHKGL
  • DGK β€” - β€” DCHKGK
  • GLM β€” 8 types β€” DCKGLM
  • GQR β€” 8 types β€” DCKGQR
  • GSV β€” 8 types β€” DCKGSV
  • CSD β€” 3 types β€” DCKCSD
  • LSE β€” 8 types β€” 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 β€” a flag that says whether or not to test the driver routines. πŸ’…
  • line 13: TSTERR, LOGICAL β€” a flag that says whether or not to test the error exits for the LAPACK routines and the driver routines. πŸ‘‘
  • line 14: NEWSD, INTEGER β€” a code that tells you 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 β€” yes bestie, they get read anyway, that's the rule 😭).
  • line 3: NN, INTEGER array, dimension(NSIZES) β€” the dimensions of the 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 'DES' to test SGEES. πŸ’«

πŸŽ€ DVX

The DVX data has two parts. The first part is identical to DEV, and the second part consists of test matrices with precomputed solutions. iykyk.

  • line 1 β€” 'DVX' in columns 1-3.
  • line 2: NSIZES, INTEGER β€” if NSIZES = 0, no testing of randomly generated examples is done, but any precomputed examples are tested. 🫢
  • line 3: NN, INTEGER array, dimension(NSIZES)
  • line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  • line 5: THRESH, REAL
  • line 6: TSTERR, LOGICAL
  • line 7: NEWSD, INTEGER

If line 7 was 2:

  • line 8: INTEGER array, dimension (4)
  • lines 9 and following β€” the first line contains 'DVX' in columns 1-3 followed by the number of matrix types, possibly with a second line to specify certain matrix types. If the number of matrix types = 0, no testing of randomly generated examples is done, but any precomputed examples are tested. πŸ™ˆ
  • remaining lines β€” each matrix is stored on 1+2*N lines, where N is its dimension. The first line contains the dimension (a single integer). The next N lines contain the matrix, one row per line. The last N lines correspond to each eigenvalue. Each of these last N lines contains 4 real values: the real part of the eigenvalue, the imaginary part of the eigenvalue, the reciprocal condition number of the eigenvalues, and the reciprocal condition number of the eigenvector. The end of data is indicated by dimension N=0. Even if no data is to be tested, there must be at least one line containing N=0. ⭐

πŸ¦‹ DSX

The DSX data is like DVX. The first part is identical to DEV, and the second part consists of test matrices with precomputed solutions.

  • line 1 β€” 'DSX' in columns 1-3.
  • line 2: NSIZES, INTEGER β€” if NSIZES = 0, no testing of randomly generated examples is done, but any precomputed examples are tested.
  • line 3: NN, INTEGER array, dimension(NSIZES)
  • line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  • line 5: THRESH, REAL
  • line 6: TSTERR, LOGICAL
  • line 7: NEWSD, INTEGER

If line 7 was 2:

  • line 8: INTEGER array, dimension (4)
  • lines 9 and following β€” the first line contains 'DSX' in columns 1-3 followed by the number of matrix types, possibly with a second line to specify certain matrix types. If the number of matrix types = 0, no testing of randomly generated examples is done, but any precomputed examples are tested.
  • remaining lines β€” each matrix is stored on 3+N lines, where N is its dimension. The first line contains the dimension N and the dimension M of an invariant subspace. The second line contains M integers, identifying the eigenvalues in the invariant subspace (by their position in a list of eigenvalues ordered by increasing real part). The next N lines contain the matrix. The last line contains the reciprocal condition number for the average of the selected eigenvalues, and the reciprocal condition number for the corresponding right invariant subspace. The end of data is indicated by a line containing N=0 and M=0. Even if no data is to be tested, there must be at least one line containing N=0 and M=0. πŸ’œ

πŸ“ DGG 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, NS, MAXB, and NBCOL.
  • line 5: NBVAL, INTEGER array, dimension (NPARMS) β€” the values for the blocksize NB.
  • line 6: NBMIN, INTEGER array, dimension (NPARMS) β€” the values for NBMIN, the minimum row dimension for blocks.
  • line 7: NSVAL, INTEGER array, dimension (NPARMS) β€” the values for the number of shifts.
  • line 8: MXBVAL, INTEGER array, dimension (NPARMS) β€” the values for MAXB, used in determining minimum blocksize.
  • line 9: IACC22, INTEGER array, dimension (NPARMS) β€” select structured matrix multiply: 1 or 2)
  • line 10: NBCOL, INTEGER array, dimension (NPARMS) β€” the values for NBCOL, the minimum column dimension for blocks.
  • line 11: 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 12: TSTCHK, LOGICAL β€” flag indicating whether or not to test the LAPACK routines.
  • line 13: TSTDRV, LOGICAL β€” flag indicating whether or not to test the driver routines.
  • line 14: TSTERR, LOGICAL β€” flag indicating whether or not to test the error exits for the LAPACK routines and driver routines.
  • line 15: 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 15 was 2:

  • line 16: INTEGER array, dimension (4) β€” four integer values for the random number seed.
  • lines 17-EOF β€” lines specifying matrix types, as for NEP. The 3-character path name is 'DGG' for the generalized eigenvalue problem routines and driver routines. πŸ‘‘

🌈 DGS and DGV input files

  • line 1 β€” 'DGS' or 'DGV' in columns 1 to 3.
  • line 2: NN, INTEGER β€” number of values of N.
  • line 3: NVAL, INTEGER array, dimension(NN) β€” 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 xHGEQR
    • 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 17 was 2:

not me reading "line 17" in a block where everything else is line 7 😭 but that is literally what the doc says, so it stays, bestie.
  • line 7: INTEGER array, dimension (4) β€” four integer values for the random number seed. 🎲

lines 7-EOF: lines that tell you which matrix types to run, same vibe as NEP. The 3-character path name is 'DGS' for the generalized eigenvalue problem routines and driver routines. πŸ‘‘


DXV input files πŸ¦‹

  • line 1: 'DXV' in columns 1 to 3.
  • line 2: N, INTEGER β€” literally just the value of N.
  • line 3: NB, NBMIN, NX, NS, NBCOL, INTEGERs β€” these integer parameters decide how the blocking goes down (peep ILAENV for the details):
    • NB β€” block size
    • NBMIN β€” minimum block size
    • NX β€” minimum dimension for blocking
    • NS β€” number of shifts in xHGEQR
    • NBCOL β€” minimum column dimension for blocking
  • line 4: THRESH, REAL β€” the test threshold that computed residuals get compared against. Bestie, keep it in the range from 10. to 20. Info gets printed about every test whose test ratio is greater than or equal to the threshold.
  • line 5: TSTERR, LOGICAL β€” a flag saying whether or not to test the error exits for the LAPACK routines and driver routines.
  • line 6: NEWSD, INTEGER β€” a code for 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 6 was 2:

  • line 7: INTEGER array, dimension (4) β€” four integer values for the random number seed.

If line 2 was 0:

  • line 7-EOF: precomputed examples are tested.
  • remaining lines: each example is stored on 3+2*N lines, where N is its dimension. The first line contains the dimension (a single integer). The next N lines contain the matrix A, one row per line. The next N lines contain the matrix B. The next line contains the reciprocals of the eigenvalue condition numbers. The last line contains the reciprocals of the eigenvector condition numbers. The end of data is indicated by dimension N=0. Even if no data is to be tested, there must be at least one line containing N=0. no cap 🫢

DGX input files ✨

  • line 1: 'DGX' in columns 1 to 3.
  • line 2: N, INTEGER β€” value of N.
  • line 3: 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 xHGEQR
    • NBCOL β€” minimum column dimension for blocking
  • line 4: THRESH, REAL β€” the test threshold against which computed residuals are compared. Should generally be in the range from 10. to 20. Information will be printed about each test for which the test ratio is greater than or equal to the threshold.
  • line 5: TSTERR, LOGICAL β€” flag indicating whether or not to test the error exits for the LAPACK routines and driver routines.
  • line 6: 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 6 was 2:

  • line 7: INTEGER array, dimension (4) β€” four integer values for the random number seed.

If line 2 was 0:

  • line 7-EOF: precomputed examples are tested.
  • remaining lines: each example is stored on 3+2*N lines, where N is its dimension. The first line contains the dimension (a single integer). The next line contains an integer k such that only the last k eigenvalues will be selected and appear in the leading diagonal blocks of $A$ and $B$. The next N lines contain the matrix A, one row per line. The next N lines contain the matrix B. The last line contains the reciprocal of the eigenvalue cluster condition number and the reciprocal of the deflating subspace (associated with the selected eigencluster) condition number. The end of data is indicated by dimension N=0. Even if no data is to be tested, there must be at least one line containing N=0. πŸ’…

DSB 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: NK, INTEGER β€” number of values of K.
  • line 5: KVAL, INTEGER array, dimension (NK) β€” the values for the matrix dimension K.
  • line 6: 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 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 8-EOF: lines specifying matrix types, as for NEP. The 3-character path name is 'DSB'.

bestie yes, the original really does start at line 2 and skip line 1. iconic behavior, we don't question it πŸŽ€

DBB 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 4: NK, INTEGER β€” number of values of K.
  • line 5: KVAL, INTEGER array, dimension (NK) β€” the values for the matrix bandwidth K.
  • line 6: NPARMS, INTEGER β€” number of values of the parameter NRHS.
  • line 7: NSVAL, INTEGER array, dimension (NPARMS) β€” the values for the number of right hand sides NRHS.
  • 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: 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 9 was 2:

  • line 10: INTEGER array, dimension (4) β€” four integer values for the random number seed.

lines 10-EOF: lines specifying matrix types, as for SVD. The 3-character path name is 'DBB'.

two "line 4"s in a row?? the way this file said "we contain multitudes" 😭 yes, that's literally what the page says, so it stays.

DEC input file 🧚

  • line 2: THRESH, REAL β€” 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.
  • lines 3-EOF:

Input for testing the eigencondition routines consists of a set of specially constructed test cases and their solutions. The data format is not intended to be modified by the user. πŸ™ˆ


DBL and DBK input files πŸ’œ

  • line 1: 'DBL' in columns 1-3 to test SGEBAL, or 'DBK' in columns 1-3 to test SGEBAK.

The remaining lines consist of specially constructed test cases.


DGL and DGK input files 🌈

  • line 1: 'DGL' in columns 1-3 to test DGGBAL, or 'DGK' in columns 1-3 to test DGGBAK.

The remaining lines consist of specially constructed test cases.


GLM data file ⭐

  • line 1: 'GLM' in columns 1 to 3.
  • line 2: NN, INTEGER β€” number of values of M, P, and N.
  • line 3: MVAL, INTEGER array, dimension(NN) β€” values of M (row dimension).
  • line 4: PVAL, INTEGER array, dimension(NN) β€” values of P (row dimension).
  • line 5: NVAL, INTEGER array, dimension(NN) β€” values of N (column dimension), note M <= N <= M+P.
  • line 6: THRESH, REAL β€” 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 7: TSTERR, LOGICAL β€” flag indicating whether or not to test the error exits for the LAPACK routines and driver routines.
  • line 8: 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 8 was 2:

  • line 9: INTEGER array, dimension (4) β€” four integer values for the random number seed.

lines 9-EOF: lines specifying matrix types, as for NEP. The 3-character path name is 'GLM' for the generalized linear regression model routines.


GQR data file πŸ”₯

  • line 1: 'GQR' in columns 1 to 3.
  • line 2: NN, INTEGER β€” number of values of M, P, and N.
  • line 3: MVAL, INTEGER array, dimension(NN) β€” bestie, these are the Values of M. πŸ’–
  • line 4: PVAL, INTEGER array, dimension(NN) β€” and these are the Values of P. πŸŽ€
  • line 5: NVAL, INTEGER array, dimension(NN) β€” and these are the Values of N. πŸ¦‹
  • line 6: THRESH, REAL β€” the Threshold value for the test ratios. Lowkey important: info gets printed about every single test where the test ratio is greater than or equal to the threshold, so set it low and you will simply be buried in output. 😭
  • line 7: TSTERR, LOGICAL β€” a flag telling us whether or not to test the error exits for the LAPACK routines and driver routines. πŸšͺ
  • line 8: NEWSD, INTEGER β€” a code for how to set the random number seed, and it is giving options:
    • = 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 8 was 2:

  • line 9: INTEGER array, dimension (4) β€” four integer values for the random number seed. 🎲 manifest that randomness, bestie.
  • lines 9-EOF: Lines specifying matrix types, as for NEP. The 3-character path name is 'GQR' for the generalized QR and RQ routines.

🌸 GSV data file 🌸

  • line 1: 'GSV' in columns 1 to 3. ✨
  • line 2: NN, INTEGER β€” the number of values of M, P, and N. (Iconic triple threat.)
  • line 3: MVAL, INTEGER array, dimension(NN) β€” Values of M (row dimension). πŸ’œ
  • line 4: PVAL, INTEGER array, dimension(NN) β€” Values of P (row dimension). πŸ’œ
  • line 5: NVAL, INTEGER array, dimension(NN) β€” Values of N (column dimension). πŸ’œ
  • line 6: THRESH, REAL β€” the threshold value for the test ratios. Info gets printed about each test whose test ratio is greater than or equal to the threshold. 🫢
  • line 7: TSTERR, LOGICAL β€” flag indicating whether or not to test the error exits for the LAPACK routines and driver routines. πŸšͺ
  • line 8: NEWSD, INTEGER β€” the 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 8 was 2:

  • line 9: INTEGER array, dimension (4) β€” four integer values for the random number seed. 🎲
  • lines 9-EOF: Lines specifying matrix types, as for NEP. The 3-character path name is 'GSV' for the generalized SVD routines.

🌈 CSD data file 🌈

  • line 1: 'CSD' in columns 1 to 3. ⭐
  • line 2: NM, INTEGER β€” the number of values of M, P, and N. (Not NN this time, it's NM β€” keep up, bestie, we don't make the rules. πŸ’…)
  • line 3: MVAL, INTEGER array, dimension(NM) β€” Values of M (row and column dimension of orthogonal matrix). πŸ‘‘
  • line 4: PVAL, INTEGER array, dimension(NM) β€” Values of P (row dimension of top-left block). πŸ‘‘
  • line 5: NVAL, INTEGER array, dimension(NM) β€” Values of N (column dimension of top-left block). πŸ‘‘
  • line 6: THRESH, REAL β€” threshold value for the test ratios. Info will be printed about each test for which the test ratio is greater than or equal to the threshold. πŸ“
  • line 7: TSTERR, LOGICAL β€” flag indicating whether or not to test the error exits for the LAPACK routines and driver routines. πŸšͺ
  • line 8: 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 8 was 2:

  • line 9: INTEGER array, dimension (4) β€” four integer values for the random number seed. 🎲
  • lines 9-EOF: Lines specifying matrix types, as for NEP. The 3-character path name is 'CSD' for the CSD routine.

πŸ¦‹ LSE data file πŸ¦‹

  • line 1: 'LSE' in columns 1 to 3. πŸ’«
  • line 2: NN, INTEGER β€” number of values of M, P, and N. πŸ’–
  • line 3: MVAL, INTEGER array, dimension(NN) β€” Values of M. 🌸
  • line 4: PVAL, INTEGER array, dimension(NN) β€” Values of P. 🌸
  • line 5: NVAL, INTEGER array, dimension(NN) β€” Values of N, and note the vibe constraint: P <= N <= P+M. πŸ‘€
  • line 6: THRESH, REAL β€” the threshold value for the test ratios. Info gets printed about each test where the test ratio is greater than or equal to the threshold. 🧚
  • line 7: TSTERR, LOGICAL β€” flag indicating whether or not to test the error exits for the LAPACK routines and driver routines. πŸšͺ
  • line 8: 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 8 was 2:

  • line 9: INTEGER array, dimension (4) β€” four integer values for the random number seed. 🎲
  • lines 9-EOF: Lines specifying matrix types, as for NEP. The 3-character path name is 'GSV' for the generalized SVD routines.
Not me double-checking that last one πŸ’€ β€” yes, the LSE file really does say 'GSV' there. We are simply reporting what the page says, no editing, no notes. Periodt.

Heads up, bestie 🚨 NMAX is currently set to 132 and must be at least 12 for some of the precomputed examples, and LWORK = NMAX*(5*NMAX+5)+1 in the parameter statements below. For SVD, we assume NRHS may be as big as N. The parameter NEED is set to 14 to allow for 14 N-by-N matrices for DGG. Big numbers, big main character energy. ✨

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 1039 of file dchkee.F. πŸ“

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. πŸ€–βœ¨


And that's the whole page, babe β€” we made it. 🫢 This was generated from Version 3.12.0, dated Tue Nov 28 2023 12:08:42, and it lives at TESTING/EIG/dchkee.F(3). Go forth and run your tests, bestie, you're literally the main character of the EIG directory. πŸ’…πŸŒˆπŸ‘‘