complex_eig(3)

πŸ“¦
version 3.11.0 Β· 2 versions
, in debian bookworm

πŸ¦‹ NAME πŸ¦‹

complex_eig - complex

okay so hi bestie πŸ’– you just opened complex_eig(3), straight out of the LAPACK manual β€” yes, the whole complex_eig situation. And ngl this page is long, so it comes in 4 parts and you're reading part 1 right now. Buckle up, it's giving documentation but make it cute. πŸŽ€


✨ SYNOPSIS ✨

πŸ’… Functions πŸ’…

  • program cchkee β€” CCHKEE

🌸 Detailed Description 🌸

This is the group of complex LAPACK TESTING EIG routines. Periodt. That's literally the whole vibe β€” it's the test squad for the complex eigenvalue problems, no more no less. 🫢


πŸ‘‘ Function Documentation πŸ‘‘

🧚 program cchkee 🧚

πŸ’œ CCHKEE πŸ’œ

πŸŽ€ Purpose πŸŽ€

CCHKEE tests the COMPLEX LAPACK subroutines for the matrix eigenvalue problem. The test paths in this version are

  • NEP (Nonsymmetric Eigenvalue Problem): tests CGEHRD, CUNGHR, CHSEQR, CTREVC, CHSEIN, and CUNMHR
  • SEP (Hermitian Eigenvalue Problem): tests CHETRD, CUNGTR, CSTEQR, CSTERF, CSTEIN, CSTEDC, and the drivers CHEEV(X), CHBEV(X), CHPEV(X), CHEEVD, CHBEVD, CHPEVD
  • SVD (Singular Value Decomposition): tests CGEBRD, CUNGBR, and CBDSQR, and the drivers CGESVD, CGESDD
  • CEV (Nonsymmetric Eigenvalue/eigenvector Driver): tests CGEEV
  • CES (Nonsymmetric Schur form Driver): tests CGEES
  • CVX (Nonsymmetric Eigenvalue/eigenvector Expert Driver): tests CGEEVX
  • CSX (Nonsymmetric Schur form Expert Driver): tests CGEESX
  • CGG (Generalized Nonsymmetric Eigenvalue Problem): tests CGGHD3, CGGBAL, CGGBAK, CHGEQZ, and CTGEVC
  • CGS (Generalized Nonsymmetric Schur form Driver): tests CGGES
  • CGV (Generalized Nonsymmetric Eigenvalue/eigenvector Driver): tests CGGEV
  • CGX (Generalized Nonsymmetric Schur form Expert Driver): tests CGGESX
  • CXV (Generalized Nonsymmetric Eigenvalue/eigenvector Expert Driver): tests CGGEVX
  • CSG (Hermitian Generalized Eigenvalue Problem): tests CHEGST, CHEGV, CHEGVD, CHEGVX, CHPGST, CHPGV, CHPGVD, CHPGVX, CHBGST, CHBGV, CHBGVD, and CHBGVX
  • CHB (Hermitian Band Eigenvalue Problem): tests CHBTRD
  • CBB (Band Singular Value Decomposition): tests CGBBRD
  • CEC (Eigencondition estimation): tests CTRSYL, CTREXC, CTRSNA, and CTRSEN
  • CBL (Balancing a general matrix): tests CGEBAL
  • CBK (Back transformation on a balanced matrix): tests CGEBAK
  • CGL (Balancing a matrix pair): tests CGGBAL
  • CGK (Back transformation on a matrix pair): tests CGGBAK
  • GLM (Generalized Linear Regression Model): tests CGGGLM
  • GQR (Generalized QR and RQ factorizations): tests CGGQRF and CGGRQF
  • GSV (Generalized Singular Value Decomposition): tests CGGSVD, CGGSVP, CTGSJA, CLAGS2, CLAPLL, and CLAPMT
  • CSD (CS decomposition): tests CUNCSD
  • LSE (Constrained Linear Least Squares): tests CGGLSE

Every single test path takes a different set of inputs, bestie β€” but lowkey there's a shortcut: the data sets for the driver routines xEV, xES, xVX, and xSX can all be concatenated into one single input file. 🌈 The first line of input should contain one of the 3-character path names in columns 1-3. How many lines come after that depends entirely on what's sitting 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

CHS or NEP      21     CCHKHS
CST or SEP      21     CCHKST (routines)
                18     CDRVST (drivers)
CBD or SVD      16     CCHKBD (routines)
                 5     CDRVBD (drivers)
CEV             21     CDRVEV
CES             21     CDRVES
CVX             21     CDRVVX
CSX             21     CDRVSX
CGG             26     CCHKGG (routines)
CGS             26     CDRGES
CGX              5     CDRGSX
CGV             26     CDRGEV
CXV              2     CDRGVX
CSG             21     CDRVSG
CHB             15     CCHKHB
CBB             15     CCHKBB
CEC              -     CCHKEC
CBL              -     CCHKBL
CBK              -     CCHKBK
CGL              -     CCHKGL
CGK              -     CCHKGK
GLM              8     CCKGLM
GQR              8     CCKGQR
GSV              8     CCKGSV
CSD              3     CCKCSD
LSE              8     CCKLSE

πŸ“₯ NEP input file πŸ“₯

  • line 2: NN, INTEGER β€” how many values of N we're testing.
  • line 3: NVAL, INTEGER array, dimension (NN) β€” the actual 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. Info gets printed about each test where the test ratio is greater than or equal to the threshold. If you want every single test ratio printed, use THRESH = 0.0.
  • line 14: NEWSD, INTEGER β€” a code telling it 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 come in sets of 1 or 2, and they let you, the user, specify the matrix types. Each line has a 3-character path name in columns 1-3, and the number of matrix types has to be the first nonblank item in columns 4-80. If the number of matrix types is at least 1 but less than the maximum number of possible types, a second line gets read to grab 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 'CHS' for the nonsymmetric eigenvalue routines.


πŸ“ SEP or CSG 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. Info gets printed about each test where the test ratio is greater than or equal to the threshold.
  • line 9: TSTCHK, LOGICAL β€” flag saying whether or not to test the LAPACK routines.
  • line 10: TSTDRV, LOGICAL β€” flag saying whether or not to test the driver routines.
  • line 11: TSTERR, LOGICAL β€” flag saying whether or not to test the error exits for the LAPACK routines and driver routines.
  • line 12: NEWSD, INTEGER β€” a code telling it 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, same as for NEP. The valid 3-character path names are 'SEP' or 'CST' for the Hermitian eigenvalue routines and driver routines, and 'CSG' 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. Info gets printed about each test where the test ratio is greater than or equal to the threshold.
  • line 11: TSTCHK, LOGICAL β€” flag saying whether or not to test the LAPACK routines.
  • line 12: TSTDRV, LOGICAL β€” a flag saying whether or not to test the driver routines. like, do we put the drivers through their paces or not πŸ’…
  • line 13: TSTERR, LOGICAL β€” a flag saying whether or not to test the error exits for the LAPACK routines and the driver routines. gotta make sure the error paths hit too, fr fr.
  • line 14: NEWSD, INTEGER β€” a code that tells the test 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. the seed lore itself ✨
  • lines 15-EOF: lines specifying matrix types, as for NEP. The 3-character path names are 'SVD' or 'CBD' for both the SVD routines and the SVD driver routines.

🌸 CEV and CES data files 🌸

  • line 1: 'CEV' or 'CES' 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, we still read them, the file doesn't get to skip πŸ’€
  • 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. 0. means we're dumping EVERYTHING, no filter, main character behaviour 🫢
  • 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 'CEV' to test CGEEV, or 'CES' to test CGEES.

πŸ’œ The CVX data πŸ’œ

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

  • line 1: 'CVX' 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: NEWSD, INTEGER

If line 6 was 2:

  • line 7: INTEGER array, dimension (4)
  • lines 8 and following: the first line contains 'CVX' 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+N+N**2 lines, 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 next N**2 lines 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 dimension N=0. Even if no data is to be tested, there must be at least one line containing N=0. no cap, at least one N=0 or the whole thing is invalid, periodt πŸ’…

πŸ¦‹ The CSX data πŸ¦‹

The CSX data is like CVX. The first part is identical to CEV, and the second part consists of test matrices with precomputed solutions.

  • line 1: 'CSX' 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: NEWSD, INTEGER

If line 6 was 2:

  • line 7: INTEGER array, dimension (4)
  • lines 8 and following: the first line contains 'CSX' 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**2 lines, 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 (if ISRT=0) or by increasing imaginary part (if ISRT=1)). The next N**2 lines 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 is indicated by a line containing N=0, M=0, and ISRT = 0. Even if no data is to be tested, there must be at least one line containing N=0, M=0 and ISRT=0. again: that final line is MANDATORY, do not skip it, it's giving non-negotiable 😭

🌈 CGG 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: 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 'CGG' for the generalized eigenvalue problem routines and driver routines. generalized eigenvalue problem gang rise up πŸ‘‘

πŸŽ€ CGS and CGV input files πŸŽ€

  • line 1: 'CGS' or 'CGV' 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:

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

lines 7-EOF: Lines specifying matrix types, as for NEP. The 3-character path name is 'CGS' for the generalized eigenvalue problem routines and driver routines. πŸ’…


πŸŽ€ CGX input file: πŸŽ€

  • line 1: 'CGX' in columns 1 to 3. ✨
  • line 2: N, INTEGER β€” literally the value of N, bestie. πŸ’–
  • line 3: NB, NBMIN, NX, NS, NBCOL, INTEGERs β€” these integer parameters determine how blocking is done (peep ILAENV for the deets, iykyk):
    • 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*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*N lines contain the matrix A, one element per line. The next N*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. πŸ’€

πŸ¦‹ CXV input files: πŸ¦‹

  • line 1: 'CXV' 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 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*N lines, where N is its dimension. The first line contains the dimension (a single integer). The next N*N lines contain the matrix A, one element per line. The next N*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. πŸ’€

🌸 CHB 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 'CHB'. ✨

🧚 CBB 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 'CBB'. ✨

πŸŽ€ CEC 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. 🚫

πŸ’œ CBL and CBK input files: πŸ’œ

  • line 1: 'CBL' in columns 1-3 to test CGEBAL, or 'CBK' in columns 1-3 to test CGEBAK. ✨
  • The remaining lines consist of specially constructed test cases. πŸ§ͺ

πŸ¦‹ CGL and CGK input files: πŸ¦‹

  • line 1: 'CGL' in columns 1-3 to test CGGBAL, or 'CGK' in columns 1-3 to test CGGBAK. ✨
  • 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) β€” the values of M πŸ’…
  • line 4: PVAL, INTEGER array, dimension(NN) β€” the values of P ✨
  • line 5: NVAL, INTEGER array, dimension(NN) β€” the values of N 🌸
  • line 6: THRESH, REAL β€” the threshold value for the test ratios. bestie, if a test ratio is greater than or equal to this threshold, you're gonna get information printed about that test, no cap πŸ‘€
  • line 7: TSTERR, LOGICAL β€” a flag that says whether or not to test the error exits for the LAPACK routines and the driver routines 🧚
  • line 8: NEWSD, INTEGER β€” a code telling 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 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 'GQR' for the generalized QR and RQ routines πŸ’œ

πŸ¦‹ GSV data file πŸ¦‹

  • line 1: 'GSV' in columns 1 to 3 πŸ’–
  • line 2: NN, INTEGER β€” number of values of M, P, and N
  • line 3: MVAL, INTEGER array, dimension(NN) β€” the values of M (row dimension)
  • line 4: PVAL, INTEGER array, dimension(NN) β€” the values of P (row dimension)
  • line 5: NVAL, INTEGER array, dimension(NN) β€” the values of N (column dimension)
  • line 6: THRESH, REAL β€” the 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 '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
  • line 3: MVAL, INTEGER array, dimension(NM) β€” the values of M (row and column dimension of orthogonal matrix)
  • line 4: PVAL, INTEGER array, dimension(NM) β€” the values of P (row dimension of top-left block)
  • line 5: NVAL, INTEGER array, dimension(NM) β€” the values of N (column dimension of top-left block)
  • 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 saying 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 πŸŽ€
    • = 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) β€” the values of M
  • line 4: PVAL, INTEGER array, dimension(NN) β€” the values of P
  • line 5: NVAL, INTEGER array, dimension(NN) β€” the values of N, and heads up: P <= N <= P+M πŸ‘€
  • line 6: THRESH, REAL β€” the threshold value for the test ratios. Information gets printed for 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 β€” 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 πŸ’œ

Okay so real talk about the sizing, because this part matters: NMAX is currently set to 132 and 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 CGG πŸ”₯


πŸ‘‘ AUTHOR πŸ‘‘

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

πŸ’€ AUTHOR πŸ’€

Generated automatically by Doxygen for LAPACK from the source code πŸ™ˆ


and that's the whole page, bestie β€” we ate and left absolutely no crumbs πŸ’… This was Version 3.11.0, dated Sun Nov 27 2022, and it lives at complex_eig(3) in the LAPACK source. Go forth and test your matrix types, icon, periodt βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from