TESTING/EIG/dslect.f(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸ’… TESTING/EIG/dslect.f ✨

okay so bestie, gather round, because this page is from LAPACK, and the file we're talking about is TESTING/EIG/dslect.f β€” like, the header up there literally says TESTING/EIG/dslect.f(3), and the manual it lives in is Library Functions Manual πŸŽ€ so that's the whole vibe. she's a testing-file girlie and she's here to sort eigenvalues. no cap.


🌸 SYNOPSIS 🌸

Functions/Subroutines πŸ¦‹

  • logical function dslect (zr, zi) β€” DSLECT, that's her 🫢

✨ Function/Subroutine Documentation ✨

logical function dslect (double precision zr, double precision zi)

DSLECT πŸ’– (yes, again, she's the whole moment)

πŸŽ€ Purpose πŸŽ€

fortran !> !> 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 the girl-talk: our bestie DSLECT returns .TRUE. if the eigenvalue ZR+sqrt(-1)*ZI is supposed to be selected, and .FALSE. if she's not the one πŸ’…. she gets called up by DCHK41 to check whether DGEES actually sorts eigenvalues correctly, and by DCHK43 to check the same thing for DGEESX β€” she's the vibe-checker for the sorting, literally.

the common block /SSLCT/ is what tells her how eigenvalues get selected 🧚:

  • if SELOPT = 0, she returns .TRUE. when ZR is less than zero, and .FALSE. otherwise.
  • if SELOPT is at least 1, she returns SELVAL(SELOPT) and adds 1 to SELOPT, cycling back to 1 at SELMAX. iconic behavior honestly, she just keeps looping πŸ”₯

⭐ Parameters ⭐

ZR

fortran !> ZR is DOUBLE PRECISION !> The real part of a complex eigenvalue ZR + i*ZI. !>

ZR is DOUBLE PRECISION, and she's the real part of the complex eigenvalue ZR + i*ZI 😌

ZI

fortran !> ZI is DOUBLE PRECISION !> The imaginary part of a complex eigenvalue ZR + i*ZI. !>

ZI is also DOUBLE PRECISION, and she's the imaginary part of that same complex eigenvalue ZR + i*ZI πŸ’œ

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad came through for this one, fr fr 🌈

Definition at line 61 of file dslect.f. πŸ“


🌸 Author 🌸

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this, the machine did it, and honestly? she ate πŸ€–πŸ’…


okay that's the whole page bestie, love that for us πŸ’– and for the cute sign-off: this is LAPACK Version 3.12.0, dated with that TESTING/EIG/dslect.f(3) footer energy at the very bottom, iykyk πŸ«Άβœ¨πŸŽ€

πŸ“¦ where this page comes from