/home/abui...RC/dsyev.f(3)
π NAME π
ok so this whole page is literally about /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsyev.f β that's the file, that's the name, that's the whole vibe. it lives in the Library Functions Manual, bestie, and it's out here documenting one (1) very iconic Fortran subroutine. π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines
subroutine DSYEV (jobz, uplo, n, a, lda, w, work, lwork, info)
DSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices β periodt. π
πΈ Function/Subroutine Documentation πΈ
π«Ά the actual signature (no cap, exactly this)
subroutine DSYEV (character jobz, character uplo, integer n, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( * ) w, double precision, dimension( * ) work, integer lwork,
integer info)
and what it does, one more time for the people in the back: DSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices. main character energy fr fr. π
π Purpose π
so the source has this as a doc block that starts with !> (that's just how the comments are written in the file, it's giving doxygen core):
!>DSYEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A.!>
that's it, that's the purpose. real symmetric matrix A, all the eigenvalues, and eigenvectors only if you ask nicely. lowkey obsessed. β
π§ Parameters π§
π JOBZ
JOBZisCHARACTER*1β it's one single character, choose wisely bestie:= 'N': Compute eigenvalues only;β eigenvalues only, we keep it chill.= 'V': Compute eigenvalues and eigenvectors.β go off, get the whole package. π
π UPLO
UPLOisCHARACTER*1β which triangle of the matrix you're actually storing:= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
π N
NisINTEGERβThe order of the matrix A. N >= 0.so like, zero is allowed, negative is not, do not test her.
β¨ A
AisDOUBLE PRECISION array, dimension (LDA, N)β the whole plot, honestly:On entry, the symmetric matrix A. If UPLO = 'U', theleading N-by-N upper triangular part of A contains theupper triangular part of the matrix A. If UPLO = 'L',the leading N-by-N lower triangular part of A containsthe lower triangular part of the matrix A.On exit, if JOBZ = 'V', then if INFO = 0, A contains theorthonormal eigenvectors of the matrix A.- > β οΈ heads up, this is the important part:
If JOBZ = 'N', then on exit the lower triangle (if UPLO='L')or the upper triangle (if UPLO='U') of A, including thediagonal, is destroyed.β literally destroyed, gone, delulu if you think your input survives. π
π¦ LDA
LDAisINTEGERβThe leading dimension of the array A. LDA >= max(1,N).that's the rule, respect it.
π W
WisDOUBLE PRECISION array, dimension (N)βIf INFO = 0, the eigenvalues in ascending order.cute, sorted, organized, unlike my tabs. π
πΈ WORK
WORKisDOUBLE PRECISION array, dimension (MAX(1,LWORK))β the workspace bestie, she works so the routine can vibe.On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
π§ LWORK
LWORKisINTEGERβThe length of the array WORK. LWORK >= max(1,3*N-1).For optimal efficiency, LWORK >= (NB+2)*N,βwhere NB is the blocksize for DSYTRD returned by ILAENV.β¨ efficiency era β¨If LWORK = -1, then a workspace query is assumed; the routineonly calculates the optimal size of the WORK array, returnsthis value as the first entry of the WORK array, and no errormessage related to LWORK is issued by XERBLA.β the-1trick, iykyk. π«Ά
π
INFOisINTEGERβ the vibe check at the end, read it carefully:= 0: successful exitβ slay, we ate. β< 0: if INFO = -i, the i-th argument had an illegal valueβ you passed something cursed, check your args. π> 0: if INFO = i, the algorithm failed to converge; ioff-diagonal elements of an intermediate tridiagonalform did not converge to zero.β it tried, it really did, but no convergence. π«
π also: Definition at line 131 of file dsyev.f. so that's where she lives in the source. no cap.
π Author π
the legends behind this:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
absolute icons, all four of them. π
π« Author (the other one) π«
Generated automatically by Doxygen for LAPACK from the source code. β not me writing this by hand, a robot did it, and she did great. π€π
ok that's the whole page bestie, drink some water. this one's from LAPACK, Version 3.12.0, served fresh from /home/abui...RC/dsyev.f(3) β mwah, ily, go compute some eigenvalues π¦ππ
π¦ 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