CTRSNA(3)
β¨ CTRSNA(3) β like, the Library Functions Manual one π
okay bestie, so the page you're looking at is the man page for /home/abui...RC/ctrsna.f(3), straight out of the Library Functions Manual, and honestly? It's giving linear algebra icon energy. Let's get into it π«Ά
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ctrsna.f
yep, that's the whole name, that's the file, we don't make the rules π
π SYNOPSIS π
Functions/Subroutines
subroutine CTRSNA (job, howmny, select, n, t, ldt, vl, ldvl, vr, ldvr,
s, sep, mm, m, work, ldwork, rwork, info)
CTRSNA β¨ (yes that's it, that's the whole description, she's mysterious like that)
π¦ Function/Subroutine Documentation π¦
subroutine CTRSNA (character job, character howmny, logical, dimension( * )
select, integer n, complex, dimension( ldt, * ) t, integer ldt, complex,
dimension( ldvl, * ) vl, integer ldvl, complex, dimension( ldvr, * ) vr,
integer ldvr, real, dimension( * ) s, real, dimension( * ) sep, integer
mm, integer m, complex, dimension( ldwork, * ) work, integer ldwork,
real, dimension( * ) rwork, integer info)
CTRSNA π
β Purpose β
CTRSNA estimates reciprocal condition numbers for specified eigenvalues and/or right eigenvectors of a complex upper triangular matrix T (or of any matrix Q*T*Q**H with Q unitary). π₯
like, she's out here telling you how well-conditioned your eigenvalues are. no cap, that's the whole vibe check.
π Parameters π
JOBβJOBisCHARACTER*1. Tells us whether we're doing condition numbers for eigenvalues (S) or eigenvectors (SEP), and omg you have options bestie:= 'E': for eigenvalues only (S);= 'V': for eigenvectors only (SEP);= 'B': for both eigenvalues and eigenvectors (SandSEP). π
HOWMNYβHOWMNYisCHARACTER*1:= 'A': compute condition numbers for all eigenpairs;= 'S': compute condition numbers for selected eigenpairs specified by the arraySELECT. π
SELECTβSELECTis aLOGICALarray, dimension(N). IfHOWMNY = 'S',SELECTspecifies the eigenpairs for which condition numbers are required. To select condition numbers for the j-th eigenpair,SELECT(j)must be set to.TRUE.. IfHOWMNY = 'A',SELECTis not referenced β she's literally not invited to the party π.NβNisINTEGER. The order of the matrixT.N >= 0. πTβTis aCOMPLEXarray, dimension(LDT,N). The upper triangular matrixT. she's triangular, she's complex, she's the main character.LDTβLDTisINTEGER. The leading dimension of the arrayT.LDT >= max(1,N). βVLβVLis aCOMPLEXarray, dimension(LDVL,M). IfJOB = 'E'or'B',VLmust contain left eigenvectors ofT(or of anyQ*T*Q**Hwith Q unitary), corresponding to the eigenpairs specified byHOWMNYandSELECT. The eigenvectors must be stored in consecutive columns ofVL, as returned byCHSEINorCTREVC. IfJOB = 'V',VLis not referenced. πLDVLβLDVLisINTEGER. The leading dimension of the arrayVL.LDVL >= 1; and ifJOB = 'E'or'B',LDVL >= N. πVRβVRis aCOMPLEXarray, dimension(LDVR,M). IfJOB = 'E'or'B',VRmust contain right eigenvectors ofT(or of anyQ*T*Q**Hwith Q unitary), corresponding to the eigenpairs specified byHOWMNYandSELECT. The eigenvectors must be stored in consecutive columns ofVR, as returned byCHSEINorCTREVC. IfJOB = 'V',VRis not referenced. π¦LDVRβLDVRisINTEGER. The leading dimension of the arrayVR.LDVR >= 1; and ifJOB = 'E'or'B',LDVR >= N. πΈSβSis aREALarray, dimension(MM). IfJOB = 'E'or'B', the reciprocal condition numbers of the selected eigenvalues, stored in consecutive elements of the array. So like βS(j),SEP(j), and the j-th columns ofVLandVRall correspond to the same eigenpair (but not in general the j-th eigenpair, unless all eigenpairs are selected). lowkey important, don't mix that up bestie π«Ά. IfJOB = 'V',Sis not referenced.SEPβSEPis aREALarray, dimension(MM). IfJOB = 'V'or'B', the estimated reciprocal condition numbers of the selected eigenvectors, stored in consecutive elements of the array. IfJOB = 'E',SEPis not referenced. β¨MMβMMisINTEGER. The number of elements in the arraysS(ifJOB = 'E'or'B') and/orSEP(ifJOB = 'V'or'B').MM >= M. πMβMisINTEGER. The number of elements of the arraysSand/orSEPactually used to store the estimated condition numbers. IfHOWMNY = 'A',Mis set toN. slay.WORKβWORKis aCOMPLEXarray, dimension(LDWORK,N+6). IfJOB = 'E',WORKis not referenced. π (six whole extra columns, she's expensive)LDWORKβLDWORKisINTEGER. The leading dimension of the arrayWORK.LDWORK >= 1; and ifJOB = 'V'or'B',LDWORK >= N. π₯RWORKβRWORKis aREALarray, dimension(N). IfJOB = 'E',RWORKis not referenced. πINFOβINFOisINTEGER:= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad, respect π
π§ Further Details: π§
The reciprocal of the condition number of an eigenvalue lambda is defined asfortran S(lambda) = |v**H*u| / (norm(u)*norm(v))where u and v are the right and left eigenvectors of T corresponding to lambda;v**Hdenotes the conjugate transpose of v, andnorm(u)denotes the Euclidean norm. These reciprocal condition numbers always lie between zero (very badly conditioned) and one (very well conditioned). Ifn = 1,S(lambda)is defined to be 1. π
okay so zero = messy, one = pristine. periodt.
An approximate error bound for a computed eigenvalueW(i)is given byfortran EPS * norm(T) / S(i)where EPS is the machine precision. β¨
The reciprocal of the condition number of the right eigenvector u corresponding to lambda is defined as follows. Supposefortran T = ( lambda c ) ( 0 T22 )Then the reciprocal condition number isfortran SEP( lambda, T22 ) = sigma-min( T22 - lambda*I )wheresigma-mindenotes the smallest singular value. We approximate the smallest singular value by the reciprocal of an estimate of the one-norm of the inverse ofT22 - lambda*I. Ifn = 1,SEP(1)is defined to beabs(T(1,1)). π¦
An approximate error bound for a computed right eigenvectorVR(i)is given byfortran EPS * norm(T) / SEP(i)
π Definition at line 246 of file ctrsna.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a little robot doing her best π€π)
and that's the whole page bestie!! mwah π
this absolute icon of a man page was brought to you by LAPACK, Version 3.12.0, dated /home/abui...RC/ctrsna.f(3) β go forth and condition your eigenvalues responsibly π«Άβ¨π
π¦ 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