SLASQ3(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ¦‹ SLASQ3(3) β€” the deflation-checker bestie πŸ’…

okay so before we even start: this page lives in the Library Functions Manual section of your system, and the file it's documenting is this absolute journey of a path:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slasq3.f

like, that's the whole NAME section. that's it. she's just a girl in a build directory πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines 🌈

subroutine SLASQ3 (i0, n0, z, pp, dmin, sigma, desig, qmax, nfail, iter,
    ndiv, ieee, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau)

SLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr.

fr fr that's the whole elevator pitch πŸ’–


🫢 Function/Subroutine Documentation 🫢

subroutine SLASQ3 (integer i0, integer n0, real, dimension( * ) z, integer
    pp, real dmin, real sigma, real desig, real qmax, integer nfail, integer
    iter, integer ndiv, logical ieee, integer ttype, real dmin1, real dmin2,
    real dn, real dn1, real dn2, real g, real tau)

SLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr. (yes bestie i said it twice, it's important 😌)

🌸 Purpose 🌸

SLASQ3 checks for deflation, computes a shift (TAU) and calls dqds. In case of failure it changes shifts, and tries again until output is positive.

so she's lowkey persistent. fails once? changes the shift. tries again. until the output is positive. that's main character energy honestly πŸ‘‘

🧚 Parameters 🧚

like there are SO many of them, buckle up:

  • I0 β€” INTEGER. First index. (where it starts, periodt ✨)
  • N0 β€” INTEGER. Last index. (where it ends 🫢)
  • Z β€” REAL array, dimension ( 4*N0 ). Z holds the qd array. that's the whole vibe of Z, she just holds it πŸ’œ
  • PP β€” INTEGER. PP=0 for ping, PP=1 for pong. PP=2 indicates that flipping was applied to the Z array and that the initial tests for deflation should not be performed. yes we really said ping and pong, i'm not joking 😭
  • DMIN β€” REAL. Minimum value of d.
  • SIGMA β€” REAL. Sum of shifts used in current segment.
  • DESIG β€” REAL. Lower order part of SIGMA.
  • QMAX β€” REAL. Maximum value of q.
  • NFAIL β€” INTEGER. Increment NFAIL by 1 each time the shift was too big. (we're keeping receipts πŸ“)
  • ITER β€” INTEGER. Increment ITER by 1 for each iteration.
  • NDIV β€” INTEGER. Increment NDIV by 1 for each division.
  • IEEE β€” LOGICAL. Flag for IEEE or non IEEE arithmetic (passed to SLASQ5). iykyk
  • TTYPE β€” INTEGER. Shift type.
  • DMIN1 β€” REAL. (no description, she's mysterious πŸ™ˆ)
  • DMIN2 β€” REAL. (also mysterious)
  • DN β€” REAL. (mysterious)
  • DN1 β€” REAL. (mysterious)
  • DN2 β€” REAL. (mysterious)
  • G β€” REAL. (mysterious)
  • TAU β€” REAL.
and for the whole little group from DMIN1 down through TAU: these are passed as arguments in order to save their values between calls to SLASQ3. that's literally their whole job. carrying memories between calls. so valid πŸ’€

πŸ‘‘ Author πŸ‘‘

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

an absolute squad 🫢

Definition at line 179 of file slasq3.f.


⭐ Author (again) ⭐

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a robot doing her best πŸ€–βœ¨)


LAPACK Β· Version 3.12.0 Β· source file slasq3.f in /home/abui...RC/ β€” and that's the whole page bestie, go forth and deflate responsibly πŸ’–πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from