TESTING/EIG/dget24.f(3)
Hey bestie, welcome to TESTING/EIG/dget24.f β a page straight outta the Library Functions Manual β and we're about to vibe-check DGET24 together π
β¨
π NAME π
TESTING/EIG/dget24.f
π¦ SYNOPSIS π¦
πΈ Functions/Subroutines πΈ
subroutine dget24 (comp, jtype, thresh, iseed, nounit, n, a, lda, h, ht,
wr, wi, wrt, wit, wrtmp, witmp, vs, ldvs, vs1, rcdein, rcdvin,
nslct, islct, result, work, lwork, iwork, bwork, info)
DGET24
π Function/Subroutine Documentation π
subroutine dget24 (logical comp, integer jtype, double precision thresh,
integer, dimension( 4 ) iseed, integer nounit, integer n, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( lda, * ) h, double precision, dimension( lda, * ) ht, double
precision, dimension( * ) wr, double precision, dimension( * ) wi,
double precision, dimension( * ) wrt, double precision, dimension( * )
wit, double precision, dimension( * ) wrtmp, double precision,
dimension( * ) witmp, double precision, dimension( ldvs, * ) vs, integer
ldvs, double precision, dimension( ldvs, * ) vs1, double precision
rcdein, double precision rcdvin, integer nslct, integer, dimension( * )
islct, double precision, dimension( 17 ) result, double precision,
dimension( * ) work, integer lwork, integer, dimension( * ) iwork,
logical, dimension( * ) bwork, integer info)
DGET24
β¨ Purpose β¨
Okay so DGET24 is the icon that checks the nonsymmetric eigenvalue (Schur form) problem expert driver DGEESX π
When COMP = .FALSE., the first 13 of the following tests will be performed on the input matrix A, and tests 14 and 15 also run if LWORK is sufficiently large. When COMP = .TRUE., all 17 tests will be performed. Periodt.
0ifTis in Schur form,1/ulpotherwise β no sorting of eigenvalues.| A - VS T VS' | / ( n |A| ulp )β hereVSis the matrix of Schur eigenvectors, andTis in Schur form β no sorting of eigenvalues.| I - VS VS' | / ( n ulp )β no sorting of eigenvalues.0ifWR+sqrt(-1)*WIare eigenvalues ofT,1/ulpotherwise β no sorting of eigenvalues.0ifT(with VS) = T(without VS),1/ulpotherwise β no sorting of eigenvalues.0if eigenvalues(with VS) = eigenvalues(without VS),1/ulpotherwise β no sorting of eigenvalues.0ifTis in Schur form,1/ulpotherwise β with sorting of eigenvalues.| A - VS T VS' | / ( n |A| ulp )β hereVSis the matrix of Schur eigenvectors, andTis in Schur form β with sorting of eigenvalues.| I - VS VS' | / ( n ulp )β with sorting of eigenvalues.0ifWR+sqrt(-1)*WIare eigenvalues ofT,1/ulpotherwise. If workspace sufficient, also compareWR,WIwith and without reciprocal condition numbers β with sorting of eigenvalues.0ifT(with VS) = T(without VS),1/ulpotherwise. If workspace sufficient, also compareTwith and without reciprocal condition numbers β with sorting of eigenvalues.0if eigenvalues(with VS) = eigenvalues(without VS),1/ulpotherwise. If workspace sufficient, also compareVSwith and without reciprocal condition numbers β with sorting of eigenvalues.- If sorting worked and
SDIMis the number of eigenvalues which were SELECTed. If workspace sufficient, also compareSDIMwith and without reciprocal condition numbers. - Whether
RCONDEis the same no matter ifVSand/orRCONDVare computed. - Whether
RCONDVis the same no matter ifVSand/orRCONDEare computed. |RCONDE - RCDEIN| / cond(RCONDE)βRCONDEis the reciprocal average eigenvalue condition number computed byDGEESX, andRCDEIN(the precomputed true value) is supplied as input.cond(RCONDE)is the condition number ofRCONDE, and takes errors in computingRCONDEinto account, so that the resulting quantity should beO(ULP).cond(RCONDE)is essentially given bynorm(A)/RCONDV.|RCONDV - RCDVIN| / cond(RCONDV)βRCONDVis the reciprocal right invariant subspace condition number computed byDGEESX, andRCDVIN(the precomputed true value) is supplied as input.cond(RCONDV)is the condition number ofRCONDV, and takes errors in computingRCONDVinto account, so that the resulting quantity should beO(ULP).cond(RCONDV)is essentially given bynorm(A)/RCONDE.
π Parameters π
COMPβCOMPisLOGICAL. It describes which input tests to perform:= .FALSE.if the computed condition numbers are not to be tested againstRCDVINandRCDEIN= .TRUE.if they are to be compared
JTYPEβJTYPEisINTEGER. Type of input matrix. Used to label output if error occurs.ISEEDβISEEDisINTEGER array, dimension (4). IfCOMP = .FALSE., it's the random number generator seed used to produce matrix. IfCOMP = .TRUE.,ISEED(1)= the number of the example. Used to label output if error occurs.THRESHβTHRESHisDOUBLE PRECISION. A test will count as failed if the error, computed as described above, exceedsTHRESH. Note that the error is scaled to beO(1), soTHRESHshould be a reasonably small multiple of1, e.g.,10or100. In particular, it should not depend on the precision (single vs. double) or the size of the matrix. It must be at least zero.NOUNITβNOUNITisINTEGER. TheFORTRANunit number for printing out error messages (e.g., if a routine returnsINFOnot equal to0).NβNisINTEGER. The dimension ofA.Nmust be at least0.AβAisDOUBLE PRECISION array, dimension (LDA, N). Used to hold the matrix whose eigenvalues are to be computed.LDAβLDAisINTEGER. The leading dimension ofA, andH.LDAmust be at least1and at leastN.HβHisDOUBLE PRECISION array, dimension (LDA, N). Another copy of the test matrixA, modified byDGEESX.HTβHTisDOUBLE PRECISION array, dimension (LDA, N). Yet another copy of the test matrixA, modified byDGEESX.WRβWRisDOUBLE PRECISION array, dimension (N).WIβWIisDOUBLE PRECISION array, dimension (N). The real and imaginary parts of the eigenvalues ofA. On exit,WR + WI*iare the eigenvalues of the matrix inA.WRTβWRTisDOUBLE PRECISION array, dimension (N).WITβWITisDOUBLE PRECISION array, dimension (N). LikeWR,WI, these arrays contain the eigenvalues ofA, but those computed whenDGEESXonly computes a partial eigendecomposition, i.e. not Schur vectors.WRTMPβWRTMPisDOUBLE PRECISION array, dimension (N).WITMPβWITMPisDOUBLE PRECISION array, dimension (N). LikeWR,WI, these arrays contain the eigenvalues ofA, but sorted by increasing real part.VSβVSisDOUBLE PRECISION array, dimension (LDVS, N).VSholds the computed Schur vectors.LDVSβLDVSisINTEGER. Leading dimension ofVS. Must be at leastmax(1, N).VS1βVS1isDOUBLE PRECISION array, dimension (LDVS, N).VS1holds another copy of the computed Schur vectors.RCDEINβRCDEINisDOUBLE PRECISION. WhenCOMP = .TRUE.,RCDEINholds the precomputed reciprocal condition number for the average of selected eigenvalues.RCDVINβRCDVINisDOUBLE PRECISION. WhenCOMP = .TRUE.,RCDVINholds the precomputed reciprocal condition number for the selected right invariant subspace.NSLCTβNSLCTisINTEGER. WhenCOMP = .TRUE., the number of selected eigenvalues corresponding to the precomputed valuesRCDEINandRCDVIN.ISLCTβISLCTisINTEGER array, dimension (NSLCT). WhenCOMP = .TRUE.,ISLCTselects the eigenvalues of the input matrix corresponding to the precomputed valuesRCDEINandRCDVIN. ForI=1, ... ,NSLCT, ifISLCT(I) = J, then the eigenvalue with theJ-th largest real part is selected. Not referenced ifCOMP = .FALSE..RESULTβRESULTisDOUBLE PRECISION array, dimension (17). The values computed by the 17 tests described above. The values are currently limited to1/ulp, to avoid overflow.WORKβWORKisDOUBLE PRECISION array, dimension (LWORK).LWORKβLWORKisINTEGER. The number of entries inWORKto be passed toDGEESX. This must be at least3*N, andN+N**2if tests14--16are to be performed.IWORKβIWORKisINTEGER array, dimension (N*N).BWORKBWORKβ aLOGICALarray, dimension(N)π«Ά that's the whole vibe for this one.INFOβINTEGER, the lil status report bestie:- If
0, successful exit β¨ - If
<0, the input parameter-INFOhad an incorrect value π - If
>0,DGEESXreturned an error code, and the absolute value of that code is what gets returned π
- If
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 339 of file dget24.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code π«Ά no cap, that's the meta tea.
That's the whole page, bestie β TESTING/EIG/dget24.f(3), LAPACK Version 3.12.0 πβ¨ stay slay and may your error codes stay zero ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms