DSLECT(3)
π DSLECT (3) π
okay bestie, welcome to the dslect.f(3) page β yeah the full tag at the top of the original is literally /home/abui...IG/dslect.f(3) and it lives in the Library Functions Manual, which is a whole vibe. this is a LAPACK test helper, not a main-character routine, but it's lowkey iconic in its own way π
β¨ NAME β¨
honestly the "name" here is just the whole ass path, no cap:
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/TESTING/EIG/dslect.f
so like. that's the file. that's the name. slay π
π¦ SYNOPSIS π¦
Functions/Subroutines
logical function DSLECT (zr, zi)β the one and only, and yeah its whole personality is "DSLECT"
πΈ Function/Subroutine Documentation πΈ
logical function DSLECT (double precision zr, double precision zi)
DSLECT. that's it. that's the routine. (the docs literally just repeat "DSLECT" here and honestly? confidence. π)
π Purpose π
okay so here's the tea, and it's written in that classic !> comment-block style so i'm keeping it exactly:
!>
!> DSLECT returns .TRUE. if the eigenvalue ZR+sqrt(-1)*ZI is to be
!> selected, and otherwise it returns .FALSE.
!> It is used by DCHK41 to test if DGEES successfully sorts eigenvalues,
!> and by DCHK43 to test if DGEESX successfully sorts eigenvalues.
!>
!> The common block /SSLCT/ controls how eigenvalues are selected.
!> If SELOPT = 0, then DSLECT return .TRUE. when ZR is less than zero,
!> and .FALSE. otherwise.
!> If SELOPT is at least 1, DSLECT returns SELVAL(SELOPT) and adds 1
!> to SELOPT, cycling back to 1 at SELMAX.
!>
so like, to translate into bestie-speak: it's a little bouncer for eigenvalues π it says .TRUE. if the eigenvalue ZR+sqrt(-1)*ZI gets to come in, and .FALSE. if not. it's the hired help for DCHK41 (checking whether DGEES actually sorts eigenvalues correctly) and for DCHK43 (checking whether DGEESX does the sorting). the whole selection policy lives in the common block /SSLCT/, and here's how it vibes:
- if
SELOPT = 0, DSLECT returns .TRUE. whenZRis less than zero, and .FALSE. otherwise - if
SELOPTis at least 1, DSLECT returnsSELVAL(SELOPT)and adds 1 toSELOPT, cycling back to 1 atSELMAXπ (roster rotation, honestly)
ngl that cycling detail is the whole plot. do not forget it. it's giving "the queue resets at SELMAX" β¨
π Parameters π
ZRβ straight from the source:!> ZR is DOUBLE PRECISION !> The real part of a complex eigenvalue ZR + i*ZI. !>so yeah,ZRis aDOUBLE PRECISIONand it's the real part of the complex eigenvalueZR + i*ZIπZIβ and again, verbatim:!> ZI is DOUBLE PRECISION !> The imaginary part of a complex eigenvalue ZR + i*ZI. !>soZIis aDOUBLE PRECISIONtoo, and it's the imaginary part of that same eigenvalue π
π§ Author π§
the whole squad gets credit, fr fr:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition β
Definition at line 61 of file dslect.f. β line 61, bestie. write it down. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
(the docs wrote themselves, i just put a bow on it π)
and that's the whole page, bestie! π«Ά nothing hidden, nothing skipped, every single detail present and accounted for.
sign-off szn: this page came from LAPACK, Version 3.12.0, and the footer on the original is literally /home/abui...IG/dslect.f(3) with that same LAPACK Version 3.12.0 tagging along. mwah. πβ¨
π¦ 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