DSTEGR(3)
πΈ NAME πΈ
Okay bestie, welcome to DSTEGR(3) from the Library Functions Manual π
β¨. The NAME here is literally this source file path:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dstegr.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine DSTEGR (jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w,
z, ldz, isuppz, work, lwork, iwork, liwork, info)
DSTEGR
π Function/Subroutine Documentation π
subroutine DSTEGR (character jobz, character range, integer n, double
precision, dimension( * ) d, double precision, dimension( * ) e, double
precision vl, double precision vu, integer il, integer iu, double
precision abstol, integer m, double precision, dimension( * ) w, double
precision, dimension( ldz, * ) z, integer ldz, integer, dimension( * )
isuppz, double precision, dimension( * ) work, integer lwork, integer,
dimension( * ) iwork, integer liwork, integer info)
DSTEGR
π― Purpose π―
DSTEGR computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix T. Any such unreduced matrix has a well defined set of pairwise different real eigenvalues, and the corresponding real eigenvectors are pairwise orthogonal. No cap π
.
The spectrum may be computed either completely or partially by specifying either an interval (VL,VU] or a range of indices IL:IU for the desired eigenvalues. Obsessed with the flexibility, honestly.
DSTEGR is a compatibility wrapper around the improved DSTEMR routine. See DSTEMR for further details π«Ά.
β οΈ Important change: the ABSTOL parameter no longer provides any benefit and hence is no longer used. So donβt expect it to do anything, bestie.
β οΈ Note:DSTEGRandDSTEMRwork only on machines which follow IEEE-754 floating-point standard in their handling of infinities and NaNs. Normal execution may create these exceptional values and hence may abort due to a floating point exception in environments which do not conform to the IEEE-754 standard. Thatβs the dramatic part, and itβs literally in the page.
π§ Parameters π§
JOBZβJOBZisCHARACTER*1.= 'N':Compute eigenvalues only;= 'V':Compute eigenvalues and eigenvectors.
RANGEβRANGEisCHARACTER*1.= 'A':all eigenvalues will be found.= 'V':all eigenvalues in the half-open interval(VL,VU]will be found.= 'I':theIL-th throughIU-th eigenvalues will be found.
NβNisINTEGER. The order of the matrix.N >= 0.DβDisDOUBLE PRECISION array, dimension (N). On entry, theNdiagonal elements of the tridiagonal matrixT. On exit,Dis overwritten.EβEisDOUBLE PRECISION array, dimension (N). On entry, the(N-1)subdiagonal elements of the tridiagonal matrixTin elements1toN-1ofE.E(N)need not be set on input, but is used internally as workspace. On exit,Eis overwritten.VLβVLisDOUBLE PRECISION.- If
RANGE='V', the lower bound of the interval to be searched for eigenvalues.VL < VU. - Not referenced if
RANGE = 'A'or'I'.
- If
VUβVUisDOUBLE PRECISION.- If
RANGE='V', the upper bound of the interval to be searched for eigenvalues.VL < VU. - Not referenced if
RANGE = 'A'or'I'.
- If
ILβILisINTEGER.- If
RANGE='I', the index of the smallest eigenvalue to be returned. 1 <= IL <= IU <= N, ifN > 0.- Not referenced if
RANGE = 'A'or'V'.
- If
IUβIUisINTEGER.- If
RANGE='I', the index of the largest eigenvalue to be returned. 1 <= IL <= IU <= N, ifN > 0.- Not referenced if
RANGE = 'A'or'V'.
- If
ABSTOLβABSTOLisDOUBLE PRECISION. Unused. Was the absolute error tolerance for the eigenvalues/eigenvectors in previous versions.MβMisINTEGER. The total number of eigenvalues found.0 <= M <= N. IfRANGE = 'A',M = N, and ifRANGE = 'I',M = IU-IL+1.WβWisDOUBLE PRECISION array, dimension (N). The firstMelements contain the selected eigenvalues in ascending order.ZβZisDOUBLE PRECISION array, dimension (LDZ, max(1,M) ).- If
JOBZ = 'V', and ifINFO = 0, then the firstMcolumns ofZcontain the orthonormal eigenvectors of the matrixTcorresponding to the selected eigenvalues, with thei-th column ofZholding the eigenvector associated withW(i). - If
JOBZ = 'N', thenZis not referenced. - Note: the user must ensure that at least
max(1,M)columns are supplied in the arrayZ; ifRANGE = 'V', the exact value ofMis not known in advance and an upper bound must be used. SupplyingNcolumns is always safe.
- If
LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V', thenLDZ >= max(1,N).ISUPPZβISUPPZisINTEGER array, dimension ( 2*max(1,M) ).- The support of the eigenvectors in
Z, i.e., the indices indicating the nonzero elements inZ. Thei-th computed eigenvector is nonzero only in elementsISUPPZ( 2*i-1 )throughISUPPZ( 2*i ). This is relevant in the case when the matrix is split.ISUPPZis only accessed whenJOBZis'V'andN > 0.
- The support of the eigenvectors in
WORKβWORKisDOUBLE PRECISION array, dimension (LWORK). On exit, ifINFO = 0,WORK(1)returns the optimal (and minimal)LWORK.LWORKβLWORKisINTEGER.- The dimension of the array
WORK.LWORK >= max(1,18*N)ifJOBZ = 'V', andLWORK >= max(1,12*N)ifJOBZ = 'N'. - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
- The dimension of the array
IWORKβIWORKisINTEGER array, dimension (LIWORK). On exit, ifINFO = 0,IWORK(1)returns the optimalLIWORK.LIWORKβLIWORKisINTEGER.- The dimension of the array
IWORK.LIWORK >= max(1,10*N)if the eigenvectors are desired, andLIWORK >= max(1,8*N)if only the eigenvalues are to be computed. - If
LIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theIWORKarray, returns this value as the first entry of theIWORKarray, and no error message related toLIWORKis issued byXERBLA.
- The dimension of the array
INFOβINFOisINTEGER. On exit,INFO= 0:successful exit< 0:ifINFO = -i, thei-th argument had an illegal value> 0:ifINFO = 1X, internal error inDLARRE, ifINFO = 2X, internal error inDLARRV. Here, the digitX = ABS( IINFO ) < 10, whereIINFOis the nonzero error code returned byDLARREorDLARRV, respectively.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors: π
- Inderjit Dhillon, IBM Almaden, USA
- Osni Marques, LBNL/NERSC, USA
- Christof Voemel, LBNL/NERSC, USA
π Definition π
Definition at line 262 of file dstegr.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
π Final sign-off, bestie: this footer is giving LAPACK Version 3.12.0, with source path /home/abui...RC/dstegr.f(3). No date is printed on this page, so Iβm not inventing one β 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