TESTING/EIG/zchkee.F(3)
πΈ NAME πΈ
TESTING/EIG/zchkee.F β bestie, this is the LAPACK manual page for it, and it's a BIG one. Buckle up. π
β¨ SYNOPSIS β¨
π Functions/Subroutines π
program zchkeeβ akaZCHKEEπ¦
π Function/Subroutine Documentation π
π program zchkee π
ZCHKEE β¨
π Purpose π
So ZCHKEE tests the COMPLEX*16 LAPACK subroutines for the matrix eigenvalue problem. Obsessed, honestly. The test paths in this version are:
- NEP (Nonsymmetric Eigenvalue Problem) β tests
ZGEHRD,ZUNGHR,ZHSEQR,ZTREVC,ZHSEIN, andZUNMHRπ₯ - SEP (Hermitian Eigenvalue Problem) β tests
ZHETRD,ZUNGTR,ZSTEQR,ZSTERF,ZSTEIN,ZSTEDC, and the driversZHEEV(X),ZHBEV(X),ZHPEV(X),ZHEEVD,ZHBEVD,ZHPEVDπΈ - SVD (Singular Value Decomposition) β tests
ZGEBRD,ZUNGBR, andZBDSQR, plus the driversZGESVD,ZGESDDπ - ZEV (Nonsymmetric Eigenvalue/eigenvector Driver) β tests
ZGEEV - ZES (Nonsymmetric Schur form Driver) β tests
ZGEES - ZVX (Nonsymmetric Eigenvalue/eigenvector Expert Driver) β tests
ZGEEVX - ZSX (Nonsymmetric Schur form Expert Driver) β tests
ZGEESX - ZGG (Generalized Nonsymmetric Eigenvalue Problem) β tests
ZGGHD3,ZGGBAL,ZGGBAK,ZHGEQZ, andZTGEVC - ZGS (Generalized Nonsymmetric Schur form Driver) β tests
ZGGES - ZGV (Generalized Nonsymmetric Eigenvalue/eigenvector Driver) β tests
ZGGEV - ZGX (Generalized Nonsymmetric Schur form Expert Driver) β tests
ZGGESX - ZXV (Generalized Nonsymmetric Eigenvalue/eigenvector Expert Driver) β tests
ZGGEVX - ZSG (Hermitian Generalized Eigenvalue Problem) β tests
ZHEGST,ZHEGV,ZHEGVD,ZHEGVX,ZHPGST,ZHPGV,ZHPGVD,ZHPGVX,ZHBGST,ZHBGV,ZHBGVD, andZHBGVXπ«Ά - ZHB (Hermitian Band Eigenvalue Problem) β tests
ZHBTRD - ZBB (Band Singular Value Decomposition) β tests
ZGBBRD - ZEC (Eigencondition estimation) β tests
ZTRSYL,ZTREXC,ZTRSNA, andZTRSEN - ZBL (Balancing a general matrix) β tests
ZGEBAL - ZBK (Back transformation on a balanced matrix) β tests
ZGEBAK - ZGL (Balancing a matrix pair) β tests
ZGGBAL - ZGK (Back transformation on a matrix pair) β tests
ZGGBAK - GLM (Generalized Linear Regression Model) β tests
ZGGGLM - GQR (Generalized QR and RQ factorizations) β tests
ZGGQRFandZGGRQF - GSV (Generalized Singular Value Decomposition) β tests
ZGGSVD,ZGGSVP,ZTGSJA,ZLAGS2,ZLAPLL, andZLAPMTβ - CSD (CS decomposition) β tests
ZUNCSD - LSE (Constrained Linear Least Squares) β tests
ZGGLSE
okay so every test path has its own lil set of inputs, but the data sets for the driver routines xEV, xES, xVX, and xSX can be concatenated into a single input file. Not me being efficient. π
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's found on that 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
ZHS or NEP 21 ZCHKHS
ZST or SEP 21 ZCHKST (routines)
18 ZDRVST (drivers)
ZBD or SVD 16 ZCHKBD (routines)
5 ZDRVBD (drivers)
ZEV 21 ZDRVEV
ZES 21 ZDRVES
ZVX 21 ZDRVVX
ZSX 21 ZDRVSX
ZGG 26 ZCHKGG (routines)
ZGS 26 ZDRGES
ZGX 5 ZDRGSX
ZGV 26 ZDRGEV
ZXV 2 ZDRGVX
ZSG 21 ZDRVSG
ZHB 15 ZCHKHB
ZBB 15 ZCHKBB
ZEC - ZCHKEC
ZBL - ZCHKBL
ZBK - ZCHKBK
ZGL - ZCHKGL
ZGK - ZCHKGK
GLM 8 ZCKGLM
GQR 8 ZCKGQR
GSV 8 ZCKGSV
CSD 3 ZCKCSD
LSE 8 ZCKLSE
π¦ 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, >= 11line 9:INWIN, INTEGER array, dimension (NPARMS) β recommended deflation window sizeline 10:INIBL, INTEGER array, dimension (NPARMS) β nibble crossover pointline 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, useTHRESH = 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 let the user 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 'ZHS' for the nonsymmetric eigenvalue routines.
πΈ SEP or ZSG 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 valid 3-character path names are 'SEP' or 'ZST' for the Hermitian eigenvalue routines and driver routines, and 'ZSG' for the routines for the Hermitian 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 that says whether or not we're testing the driver routines. bestie, it's a yes/no vibe check πline 13: TSTERR, LOGICALβ flag for whether or not we test the error exits for the LAPACK routines and driver routines. like, do we poke it to make sure it screams correctly πline 14: NEWSD, INTEGERβ a code telling you how to set the random number seed. it's giving β¨control freakβ¨ but in a cute way:= 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. four. literally four. π’lines 15-EOFβ lines specifying matrix types, as for NEP. the 3-character path names are'SVD'or'ZBD', and they cover both the SVD routines and the SVD driver routines. no cap. πΈ
π ZEV and ZES data files π
line 1β'ZEV'or'ZES'sitting in columns 1 to 3. that's the whole vibe. πline 2: NSIZES, INTEGERβ number of sizes of matrices to use. should be at least 0 and at most 20. ifNSIZES = 0, no testing is done β but the remaining 3 lines are still read anyway (yes, they're still read, don't skip them π).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 decide how blocking is done (peepILAENVfor the details):NB: block sizeNBMIN: minimum block sizeNX: minimum dimension for blockingNS: number of shifts inxHSEQRNBCOL: minimum column dimension for blocking
line 5: THRESH, REALβ the test threshold that computed residuals get compared against. should generally be in the range from10.to20.if it's0., all test case data will be printed. all of it. every crumb. π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.lines 8 and followingβ lines specifying matrix types, as for NEP. the 3-character path name is'ZEV'to testCGEEV, or'ZES'to testCGEES. pick your fighter π₯
π The ZVX data π
okay so the ZVX data has two parts. the first part is identical to ZEV, and the second part consists of test matrices with precomputed solutions. very "here's the warmup AND the main event" of it all.
line 1β'ZVX'in columns 1-3.line 2: NSIZES, INTEGERβ ifNSIZES = 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, INTEGERsline 5: THRESH, REALline 6: NEWSD, INTEGER
If line 6 was 2:
line 7: INTEGER array, dimension (4)lines 8 and followingβ the first line contains'ZVX'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 on1+N+N**2lines, where N is its dimension. the first line contains the dimension N and ISRT (two integers). ISRT indicates whether the last N lines are sorted by increasing real part of the eigenvalue (ISRT=0) or by increasing imaginary part (ISRT=1). the nextN**2lines contain the matrix rowwise, one entry 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 eigenvalues, the imaginary part of the eigenvalue, the reciprocal condition number of the eigenvalues, and the reciprocal condition number of the vector eigenvector. the end of data is indicated by dimensionN=0. even if no data is to be tested, there must be at least one line containingN=0. do not skip it, bestie, it WILL be mad π€
π¦ The ZSX data π¦
the ZSX data is like ZVX β same energy, different letter. the first part is identical to ZEV, and the second part consists of test matrices with precomputed solutions.
line 1β'ZSX'in columns 1-3.line 2: NSIZES, INTEGERβ ifNSIZES = 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, INTEGERsline 5: THRESH, REALline 6: NEWSD, INTEGER
If line 6 was 2:
line 7: INTEGER array, dimension (4)lines 8 and followingβ the first line contains'ZSX'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 on3+N**2lines, where N is its dimension. the first line contains the dimension N, the dimension M of an invariant subspace, and ISRT. 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 (ifISRT=0) or by increasing imaginary part (ifISRT=1)). the nextN**2lines contain the matrix rowwise. 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 in indicated by a line containingN=0,M=0, andISRT = 0. even if no data is to be tested, there must be at least one line containingN=0,M=0andISRT=0. π (yes the original says "in indicated", we love a typo that's canon, moving on π )
π₯ ZGG 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, NBCOL, 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 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:1or2. choose wisely bestie, it's a whole fork in the road π£οΈ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. it's giving "only the dramatic ones get screen time" π¬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'ZGG'for the generalized eigenvalue problem routines and driver routines. β¨
π ZGS and ZGV input files π
line 1β'ZGS'or'ZGV'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 (seeILAENVfor details):NB: block sizeNBMIN: minimum block sizeNX: minimum dimension for blockingNS: number of shifts inxHGEQRNBCOL: minimum column dimension for blocking
line 5: THRESH, REALβ the test threshold against which computed residuals are compared. should generally be in the range from10.to20.if it is0., 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:
line 7: INTEGER array, dimension (4)β four integer values for the random number seed.
ok so yes, it literally saysline 17up there and thenline 7right after β that's the original's own little chaos moment, we're keeping it exactly as written because facts are facts and we do not touch the numbers ππ
lines 7-EOF: the lines that specify matrix types, same vibe as for NEP β¨ The 3-character path name is'ZGS'β that one's for the generalized eigenvalue problem routines and driver routines π
π¦ ZGX input file π¦
line 1:'ZGX'in columns 1 to 3.line 2:N, INTEGER β literally just the value of N bestie.line 3:NB,NBMIN,NX,NS,NBCOL, INTEGERs β these integer parameters decide how the blocking gets done (peepILAENVfor the details π)NBβ block sizeNBMINβ minimum block sizeNXβ minimum dimension for blockingNSβ number of shifts inxHGEQRNBCOLβ minimum column dimension for blocking
line 4:THRESH, REAL β the test threshold that computed residuals get compared against. Generally you wanna keep it in the range from10.to20.π Info gets printed about every test where the test ratio is greater than or equal to the threshold.line 5:TSTERR, LOGICAL β flag saying whether or not to test the error exits for the LAPACK routines and driver routines.line 6:NEWSD, INTEGER β a code that says 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*Nlines, whereNis its dimension. The first line holds the dimension (a single integer). The next line holds an integerksuch that only the lastkeigenvalues will be selected and appear in the leading diagonal blocks of $A$ and $B$. The nextN*Nlines contain the matrix A, one element per line. The nextN*Nlines 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 dimensionN=0. Even if no data is to be tested, there must be at least one line containingN=0β no skipping, bestie, that line is mandatory π
πΈ ZXV input files πΈ
line 1:'ZXV'in columns 1 to 3.line 2:N, INTEGER β the value of N.line 3:NB,NBMIN,NX,NS,NBCOL, INTEGERs β these integer parameters determine how the blocking is done (seeILAENVfor details)NBβ block sizeNBMINβ minimum block sizeNXβ minimum dimension for blockingNSβ number of shifts inxHGEQRNBCOLβ minimum column dimension for blocking
line 4:THRESH, REAL β the test threshold that computed residuals get compared against. Should generally be in the range from10.to20.Info 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*Nlines, whereNis its dimension. The first line contains the dimension (a single integer). The nextN*Nlines contain the matrix A, one element per line. The nextN*Nlines 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 dimensionN=0. Even if no data is to be tested, there must be at least one line containingN=0π«Ά
π ZHB 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'ZHB'.
π ZBB 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. (yep, the original really does say line 4 twice, iykyk π not my typo, keeping it fr fr)line 5:KVAL, INTEGER array, dimension(NK)β the values for the matrix bandwidth K.line 6:NPARMS, INTEGER β number of values of the parameter NRHSline 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'ZBB'.
β¨ ZEC 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 β like, hands off bestie, it's not for you π ββοΈ
π ZBL and ZBK input files π
line 1:'ZBL'in columns 1-3 to testCGEBAL, or'ZBK'in columns 1-3 to testCGEBAK.
The remaining lines consist of specially constructed test cases.
π§ ZGL and ZGK input files π§
line 1:'ZGL'in columns 1-3 to testZGGBAL, or'ZGK'in columns 1-3 to testZGGBAK.
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), noteM <= 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,INTEGERarray,dimension(NN)β the M values, bestie π - line 4:
PVAL,INTEGERarray,dimension(NN)β the P values π - line 5:
NVAL,INTEGERarray,dimension(NN)β the N values, iconic β¨ - line 6:
THRESH,REALβ the threshold for the test ratios. So like, for every test where the test ratio is greater than or equal to the threshold, the run is gonna print info about it. Obsessed with transparency π«Ά - line 7:
TSTERR,LOGICALβ a flag for whether or not to test the error exits for the LAPACK routines and driver routines π - line 8:
NEWSD,INTEGERβ a code that says 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: like1, but actually use the seed values on the next line π±
If line 8 was 2:
- line 9:
INTEGERarray,dimension (4)β four integer values for the random number seed. Four. That's the whole vibe π’ - 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. Like, that's literally how it announces itself π - line 2:
NN,INTEGERβ number of values of M, P, and N. - line 3:
MVAL,INTEGERarray,dimension(NN)β values of M (the row dimension). - line 4:
PVAL,INTEGERarray,dimension(NN)β values of P (the row dimension). - line 5:
NVAL,INTEGERarray,dimension(NN)β values of N (the column dimension). - 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: like1, but use the seed values on the next line
If line 8 was 2:
- line 9:
INTEGERarray,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β number of values of M, P, and N. (NotNN, bestie β it'sNMhere, do not come for me, I'm just the messenger π) - line 3:
MVAL,INTEGERarray,dimension(NM)β values of M (row and column dimension of the orthogonal matrix). - line 4:
PVAL,INTEGERarray,dimension(NM)β values of P (row dimension of the top-left block). - line 5:
NVAL,INTEGERarray,dimension(NM)β values of N (column dimension of the top-left block). - 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: like1, but use the seed values on the next line
If line 8 was 2:
- line 9:
INTEGERarray,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,INTEGERarray,dimension(NN)β values of M. - line 4:
PVAL,INTEGERarray,dimension(NN)β values of P. - line 5:
NVAL,INTEGERarray,dimension(NN)β values of N, and note that P <= N <= P+M. Yes, that constraint is real, respect it π - 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: like1, but use the seed values on the next line
If line 8 was 2:
- line 9:
INTEGERarray,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. (Yes,'GSV'again here, that's not a typo, that's just the page being the page π)
Okay so quick little heads-up on the numbers, because these matter fr fr π
NMAX is currently set to 132, and it must be at least 12 for some of the precomputed examples, and LWORK = NMAX*(5*NMAX+20) 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 ZGG. Those are the receipts, no cap π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Definition
Definition at line 1033 of file zchkee.F.
π« Author (the other one, yes really)
Generated automatically by Doxygen for LAPACK from the source code.
And that's a wrap on part 4, bestie π«Ά This whole page came to you courtesy of Version 3.12.0, stamped Tue Nov 28 2023 12:08:42, and it lives under TESTING/EIG/zchkee.F(3). Go forth and run your tests, you main character β¨ππ
π¦ where this page comes from
- centos-stream 10: lapack 3.12.0-7.el10 Β· BSD-3-Clause-Open-MPI
- fedora 43: lapack 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 43: lapack 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 44: lapack 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- fedora 44: lapack 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms