SGET24(3)
okay bestie, this is SGET24(3) from the Library Functions Manual β and yes, the βnameβ today is literally a whole absolute source path. we are keeping every character, no cap. π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/sget24.f
thatβs the NAME section, bestie. not a cute little command name β an entire file path. iconic behavior, honestly. π
πΈ SYNOPSIS πΈ
π¦ Functions/Subroutines π¦
the whole synopsis vibe is this one subroutine, and it brought so many arguments to the group chat:
Functions/Subroutines
subroutine SGET24 (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)
SGET24
so yeah: subroutine SGET24 with 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 β all of them, exactly like that. then it just says SGET24 again underneath, because main character energy. π
β¨ Function/Subroutine Documentation β¨
subroutine SGET24 π§
subroutine SGET24 (logical comp, integer jtype, real thresh, integer,
dimension( 4 ) iseed, integer nounit, integer n, real, dimension( lda, *
) a, integer lda, real, dimension( lda, * ) h, real, dimension( lda, *
) ht, real, dimension( * ) wr, real, dimension( * ) wi, real, dimension( *
) wrt, real, dimension( * ) wit, real, dimension( * ) wrtmp, real,
dimension( * ) witmp, real, dimension( ldvs, * ) vs, integer ldvs, real,
dimension( ldvs, * ) vs1, real rcdein, real rcdvin, integer nslct,
integer, dimension( * ) islct, real, dimension( 17 ) result, real,
dimension( * ) work, integer lwork, integer, dimension( * ) iwork,
logical, dimension( * ) bwork, integer info)
Purpose π―
Okay so SGET24 is literally the vibe-check squad for the nonsymmetric eigenvalue (Schur form) problem expert driver SGEESX. It checks whether SGEESX ate and left no crumbs. β¨
- If
COMP = .FALSE., the first 13 of the following tests will be performed on the input matrixA, and also tests 14 and 15 ifLWORKis sufficiently large. - If
COMP = .TRUE., all 17 tests will be performed. Yes bestie, all seventeen. Main character energy only. π
Hereβs the whole test lineup, no skips:
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 wereSELECTed. If workspace sufficient, also compareSDIMwith and without reciprocal condition numbers. - if
RCONDEthe same no matter ifVSand/orRCONDVcomputed. - if
RCONDVthe same no matter ifVSand/orRCONDEcomputed. |RCONDE - RCDEIN| / cond(RCONDE).RCONDEis the reciprocal average eigenvalue condition number computed bySGEESXandRCDEIN(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 bySGEESXandRCDVIN(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., 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 a failure if the error, 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. 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βAisREAL 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βHisREAL array, dimension (LDA, N). Another copy of the test matrixA, modified bySGEESX.HTβHTisREAL array, dimension (LDA, N). Yet another copy of the test matrixA, modified bySGEESX.WRβWRisREAL array, dimension (N).WIβWIisREAL array, dimension (N). The real and imaginary parts of the eigenvalues ofA. On exit,WR + WI*iare the eigenvalues of the matrix inA.WRTβWRTisREAL array, dimension (N).WITβWITisREAL array, dimension (N). LikeWR,WI, these arrays contain the eigenvalues ofA, but those computed whenSGEESXonly computes a partial eigendecomposition, i.e. not Schur vectors.WRTMPβWRTMPisREAL array, dimension (N).WITMPβWITMPisREAL array, dimension (N). LikeWR,WI, these arrays contain the eigenvalues ofA, but sorted by increasing real part.VSβVSisREAL array, dimension (LDVS, N).VSholds the computed Schur vectors.LDVSβLDVSisINTEGER. Leading dimension ofVS. Must be at leastmax(1, N).VS1βVS1isREAL 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 part is selected. 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βWORKisREAL array, dimension (LWORK).LWORKβLWORKisINTEGER. The number of entries inWORKto be passed toSGEESX. This must be at least3*N, andN+N**2if tests14--16are to be performed.IWORKβIWORKisINTEGER array, dimension (N*N).BWORKβBWORKisLOGICAL array, dimension (N).INFOβINFOisINTEGER. If0, successful exit. If<0, input parameter-INFOhad an incorrect value. If>0,SGEESXreturned 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 339 of file sget24.f. π
Definition at line 339 of file sget24.f.
Author π§
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, thatβs the whole page β source /home/abui...IG/sget24.f(3), LAPACK Version 3.12.0, and the footerβs date field is giving βsame source/version lineβ energy here, no extra date printed. Periodt. π
π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms