TESTING/EIG/cget24.f(3)
π NAME π
okay bestie, this is the TESTING/EIG/cget24.f(3) page from the Library Functions Manual, and the name it's serving is literally:
TESTING/EIG/cget24.f
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine cget24β the subroutine icon herself, with this exact signature:
subroutine cget24 (comp, jtype, thresh, iseed, nounit, n, a, lda, h, ht,
w, wt, wtmp, vs, ldvs, vs1, rcdein, rcdvin, nslct, islct, isrt,
result, work, lwork, rwork, bwork, info)
CGET24β yep, the uppercase version is also listed here, no cap π«Ά
π Function/Subroutine Documentation π
okay bestie, hereβs the whole subroutine signature, no cap:
subroutine cget24 (logical comp, integer jtype, real thresh, integer,
dimension( 4 ) iseed, integer nounit, integer n, complex, dimension(
lda, * ) a, integer lda, complex, dimension( lda, * ) h, complex,
dimension( lda, * ) ht, complex, dimension( * ) w, complex, dimension( *
) wt, complex, dimension( * ) wtmp, complex, dimension( ldvs, * ) vs,
integer ldvs, complex, dimension( ldvs, * ) vs1, real rcdein, real
rcdvin, integer nslct, integer, dimension( * ) islct, integer isrt,
real, dimension( 17 ) result, complex, dimension( * ) work, integer
lwork, real, dimension( * ) rwork, logical, dimension( * ) bwork,
integer info)
CGET24
π¦ Purpose π¦
okay so CGET24 is literally the vibe check for the nonsymmetric eigenvalue (Schur form) problem expert driver CGEESX. It runs a whole bunch of tests to make sure everythingβs slaying. π
If COMP = .FALSE., the first 13 of the following tests get performed on the input matrix A, and tests 14 and 15 also run if LWORK is sufficiently large. If COMP = .TRUE., all 17 tests are performed. periodt.
Hereβs the full breakdown, bestie:
- Test 1 β
0ifTis in Schur form,1/ulpotherwise (no sorting of eigenvalues). - Test 2 β
| A - VS T VS' | / ( n |A| ulp )HereVSis the matrix of Schur eigenvectors, andTis in Schur form (no sorting of eigenvalues). - Test 3 β
| I - VS VS' | / ( n ulp )(no sorting of eigenvalues). - Test 4 β
0ifWare eigenvalues ofT,1/ulpotherwise (no sorting of eigenvalues). - Test 5 β
0ifT(with VS) = T(without VS),1/ulpotherwise (no sorting of eigenvalues). - Test 6 β
0if eigenvalues(with VS) = eigenvalues(without VS),1/ulpotherwise (no sorting of eigenvalues). - Test 7 β
0ifTis in Schur form,1/ulpotherwise (with sorting of eigenvalues). - Test 8 β
| A - VS T VS' | / ( n |A| ulp )HereVSis the matrix of Schur eigenvectors, andTis in Schur form (with sorting of eigenvalues). - Test 9 β
| I - VS VS' | / ( n ulp )(with sorting of eigenvalues). - Test 10 β
0ifWare eigenvalues ofT,1/ulpotherwise. If workspace sufficient, also compareWwith and without reciprocal condition numbers (with sorting of eigenvalues). - Test 11 β
0ifT(with VS) = T(without VS),1/ulpotherwise. If workspace sufficient, also compareTwith and without reciprocal condition numbers (with sorting of eigenvalues). - Test 12 β
0if eigenvalues(with VS) = eigenvalues(without VS),1/ulpotherwise. If workspace sufficient, also compareVSwith and without reciprocal condition numbers (with sorting of eigenvalues). - Test 13 β if sorting worked and
SDIMis the number of eigenvalues which wereSELECTed. If workspace sufficient, also compareSDIMwith and without reciprocal condition numbers. - Test 14 β if
RCONDEthe same no matter ifVSand/orRCONDVcomputed. - Test 15 β if
RCONDVthe same no matter ifVSand/orRCONDEcomputed. - Test 16 β
|RCONDE - RCDEIN| / cond(RCONDE)RCONDEis the reciprocal average eigenvalue condition number computed byCGEESXandRCDEIN(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. - Test 17 β
|RCONDV - RCDVIN| / cond(RCONDV)RCONDVis the reciprocal right invariant subspace condition number computed byCGEESXandRCDVIN(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.COMPdescribes 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., 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βTHRESHisREAL. A test will count as if the , computed as described above, exceedsTHRESH. Note that the error is scaled to beO(1), soTHRESHshould be a reasonably small multiple of 1, 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. The FORTRAN unit number for printing out error messages (e.g., if a routine returnsINFOnot equal to 0.)NβNisINTEGER. The dimension ofA.Nmust be at least 0.AβAisCOMPLEX 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 least 1 and at leastN.HβHisCOMPLEX array, dimension (LDA, N). Another copy of the test matrixA, modified byCGEESX.HTβHTisCOMPLEX array, dimension (LDA, N). Yet another copy of the test matrixA, modified byCGEESX.WβWisCOMPLEX array, dimension (N). The computed eigenvalues ofA.WTβWTisCOMPLEX array, dimension (N). LikeW, this array contains the eigenvalues ofA, but those computed whenCGEESXonly computes a partial eigendecomposition, i.e. not Schur vectors.WTMPβWTMPisCOMPLEX array, dimension (N). LikeW, this array contains the eigenvalues ofA, but sorted by increasing real or imaginary part.VSβVSisCOMPLEX array, dimension (LDVS, N).VSholds the computed Schur vectors.LDVSβLDVSisINTEGER. Leading dimension ofVS. Must be at leastmax(1, N).VS1βVS1isCOMPLEX array, dimension (LDVS, N).VS1holds another copy of the computed Schur vectors.RCDEINβRCDEINisREAL. WhenCOMP = .TRUE.RCDEINholds the precomputed reciprocal condition number for the average of selected eigenvalues.RCDVINβRCDVINisREAL. 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 or imaginary part is selected. The real part is used ifISRT = 0, and the imaginary part ifISRT = 1. Not referenced ifCOMP = .FALSE.ISRTβISRTisINTEGER. WhenCOMP = .TRUE.,ISRTdescribes howISLCTis used to choose a subset of the spectrum. Not referenced ifCOMP = .FALSE.RESULTβRESULTisREAL array, dimension (17). The values computed by the 17 tests described above. The values are currently limited to1/ulp, to avoid overflow.WORKβWORKisCOMPLEX array, dimension (2*N*N).LWORKβLWORKisINTEGER. The number of entries inWORKto be passed toCGEESX. This must be at least2*N, andN*(N+1)/2if tests 14--16 are to be performed.RWORKβRWORKisREAL array, dimension (N).BWORKβBWORKisLOGICAL array, dimension (N).INFOβINFOisINTEGER. If 0, successful exit. If <0, input parameter-INFOhad an incorrect value. If >0,CGEESXreturned an error code, the absolute value of which is returned.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition at line β
Definition at line 331 of file cget24.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
β¨ Thatβs the whole vibe! LAPACK Version 3.12.0, file TESTING/EIG/cget24.f(3). Stay slay, bestie! π
ππ«Ά
π¦ 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