SRC/dlasq3.f(3)

πŸ’… SRC/dlasq3.f(3)

okay so this is from the Library Functions Manual, and it’s giving β€œdeep LAPACK internals but make it group-chat.” The page is literally called SRC/dlasq3.f, and bestie, we’re about to read the whole thing together. 🫢✨


🌸 NAME

SRC/dlasq3.f β€” that’s the whole name slot, no extra subtitle energy here. πŸ’–


✨ SYNOPSIS

πŸ› οΈ Functions/Subroutines

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

DLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr. That’s the vibe check: deflation detective work, shift math, and then it hands off to dqds. πŸ¦‹


πŸ’… Function/Subroutine Documentation

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

DLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr. Iconic behavior, honestly. πŸ‘‘

πŸŽ€ Purpose

DLASQ3 checks for deflation, computes a shift (TAU) and calls dqds. If something fails, it changes shifts and tries again until the output is positive. So it’s not just one-and-done β€” it’s giving β€œwe regroup and run it back” energy. πŸ”₯

πŸ“ Parameters

  • I0 β€” I0 is INTEGER. First index.
  • N0 β€” N0 is INTEGER. Last index.
  • Z β€” Z is DOUBLE PRECISION array, dimension ( 4*N0 ). Z holds the qd array.
  • PP β€” PP is 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.
  • DMIN β€” DMIN is DOUBLE PRECISION. Minimum value of d.
  • SIGMA β€” SIGMA is DOUBLE PRECISION. Sum of shifts used in current segment.
  • DESIG β€” DESIG is DOUBLE PRECISION. Lower order part of SIGMA.
  • QMAX β€” QMAX is DOUBLE PRECISION. Maximum value of q.
  • NFAIL β€” NFAIL is INTEGER. Increment NFAIL by 1 each time the shift was too big.
  • ITER β€” ITER is INTEGER. Increment ITER by 1 for each iteration.
  • NDIV β€” NDIV is INTEGER. Increment NDIV by 1 for each division.
  • IEEE β€” IEEE is LOGICAL. Flag for IEEE or non IEEE arithmetic (passed to DLASQ5).
  • TTYPE β€” TTYPE is INTEGER. Shift type.
  • DMIN1 β€” DMIN1 is DOUBLE PRECISION.
  • DMIN2 β€” DMIN2 is DOUBLE PRECISION.
  • DN β€” DN is DOUBLE PRECISION.
  • DN1 β€” DN1 is DOUBLE PRECISION.
  • DN2 β€” DN2 is DOUBLE PRECISION.
  • G β€” G is DOUBLE PRECISION.
  • TAU β€” TAU is DOUBLE PRECISION. These are passed as arguments in order to save their values between calls to DLASQ3.

πŸ‘‘ Author

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

Definition at line 179 of file dlasq3.f.


🌈 Author

Generated automatically by Doxygen for LAPACK from the source code.

LAPACK Version 3.12.0 Β· SRC/dlasq3.f(3) β€” that’s the footer tea, bestie (no date listed in this footer, just pure LAPACK energy) πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from