SRC/dgebak.f(3)

๐ŸŒธ SRC/dgebak.f(3) โ€” like, the actual manual page for dgebak ๐ŸŒธ

okay bestie, so this is straight out of the Library Functions Manual and it's giving "BLAS/LAPACK internals, but make it readable" ๐Ÿ’…. Sit down, grab a strawberry ๐Ÿ“, and let's unbox what dgebak is actually doing, because it's lowkey iconic.


โœจ NAME โœจ

SRC/dgebak.f โ€” that's the file, that's the vibe. ๐ŸŽ€


โœจ SYNOPSIS โœจ

Functions/Subroutines

  • subroutine dgebak (job, side, n, ilo, ihi, scale, m, v, ldv, info) โ€” literally THE DGEBAK. main character energy fr fr ๐Ÿ‘‘

๐Ÿ’– Function/Subroutine Documentation ๐Ÿ’–

subroutine dgebak (character job, character side, integer n, integer ilo,
    integer ihi, double precision, dimension( * ) scale, integer m, double
    precision, dimension( ldv, * ) v, integer ldv, integer info)

DGEBAK โœจ โ€” yes that's the name, we're claiming it ๐Ÿซถ

๐ŸŒˆ Purpose (the whole point of her)

!> !> DGEBAK forms the right or left eigenvectors of a real general matrix !> by backward transformation on the computed eigenvectors of the !> balanced matrix output by DGEBAL. !>

Translation, bestie: DGEBAL gave you a balanced matrix (it shuffled and rescaled things so the math behaved ๐Ÿงš). DGEBAK is the glow-up reversal โ€” it takes the eigenvectors you computed for that balanced version and undoes the permutation and/or scaling so they're eigenvectors of the original matrix again. no cap, that's it ๐Ÿ’–


๐Ÿฆ‹ Parameters ๐Ÿฆ‹

  • JOB โ€” JOB is CHARACTER*1

tells us what kind of backward transformation we're doing:

= 'N': do nothing, return immediately;
= 'P': do backward transformation for permutation only;
= 'S': do backward transformation for scaling only;
= 'B': do backward transformations for both permutation and
       scaling.
โš ๏ธ periodt: JOB must be the same as the argument JOB supplied to DGEBAL. like, they have to match. don't play with her.
  • SIDE โ€” SIDE is CHARACTER*1
= 'R':  V contains right eigenvectors;
= 'L':  V contains left eigenvectors.

pick a side, any side ๐Ÿ˜Œ

  • N โ€” N is INTEGER The number of rows of the matrix V. N >= 0. ๐Ÿงฎ
  • ILO โ€” ILO is INTEGER (she's just an integer, but she matters, keep scrolling)
  • IHI โ€” IHI is INTEGER The integers ILO and IHI determined by DGEBAL. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. ๐Ÿ‘‘ ikyk: those bounds are not a suggestion, they're a lifestyle.
  • SCALE โ€” SCALE is DOUBLE PRECISION array, dimension (N) Details of the permutation and scaling factors, as returned by DGEBAL. ๐ŸŒธ this array is literally the recipe for undoing everything.
  • M โ€” M is INTEGER The number of columns of the matrix V. M >= 0. ๐Ÿ’ซ
  • V โ€” V is DOUBLE PRECISION array, dimension (LDV,M)

On entry, the matrix of right or left eigenvectors to be transformed, as returned by DHSEIN or DTREVC. On exit, V is overwritten by the transformed eigenvectors.

๐Ÿ”ฅ heads up: V gets overwritten. on exit it's a whole new matrix. if you needed the old oneโ€ฆ she's gone, sorry ๐Ÿ˜ญ
  • LDV โ€” LDV is INTEGER The leading dimension of the array V. LDV >= max(1,N). ๐ŸŽ€ classic Fortran leading-dimension moment.
  • INFO โ€” INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value.

so 0 is the slay, and anything negative means somebody handed over a bad argument ๐Ÿ’€


๐Ÿ‘‘ Author ๐Ÿ‘‘

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

Definition at line 128 of file dgebak.f. โญ


๐Ÿ’œ Author ๐Ÿ’œ

Generated automatically by Doxygen for LAPACK from the source code.

(not a human, just a robot doing her little documentation dance ๐Ÿค–โœจ)


and that's the whole thing bestie, every flag, every bound, every "must be the same as", all of it ๐Ÿ’…

๐ŸŒˆ this page is from LAPACK, Version 3.12.0, page SRC/dgebak.f(3). bye, drink water, and may all your INFO values be 0 ๐Ÿซถ๐Ÿ’–๐ŸŽ€
๐Ÿ“ฆ where this page comes from