ZGGBAK(3)

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

✨ ZGGBAK(3) ✨ β€” it's in the Library Functions Manual, bestie, section 3, and the file is zggbak.f πŸŽ€

okay so picture this: a whole manpage whose NAME section is literally just a path 😭 and that path is:

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

no cap, that's the whole NAME line. she's lowkey mysterious like that πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine ZGGBAK (job, side, n, ilo, ihi, lscale, rscale, m, v, ldv,
    info)
    ZGGBAK

🌸 Function/Subroutine Documentation 🌸

subroutine ZGGBAK (character job, character side, integer n, integer ilo,
    integer ihi, double precision, dimension( * ) lscale, double precision,
    dimension( * ) rscale, integer m, complex*16, dimension( ldv, * ) v,
    integer ldv, integer info)

ZGGBAK β€” that's her name, that's her whole vibe ✨

πŸ’œ Purpose:

ZGGBAK forms the right or left eigenvectors of a complex generalized eigenvalue problem A*x = lambda*B*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by ZGGBAL.

like, iconic behaviour honestly β€” it takes the eigenvectors that got computed for the balanced pair (the one ZGGBAL handed you) and undoes the balancing so they match your original problem 🫢 main character energy fr fr.

πŸ“ Parameters

  • JOB β€” dis is CHARACTER*1 and she specifies the type of backward transformation required, okay?
    • '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.
⚠️ and listen β€” JOB must be the same as the argument JOB supplied to ZGGBAL. no mixing and matching bestie, iykyk.
  • SIDE β€” CHARACTER*1, telling us whose eigenvectors we're dealing with:
    • 'R': V contains right eigenvectors;
    • 'L': V contains left eigenvectors.
  • N β€” INTEGER, the number of rows of the matrix V. N >= 0 πŸ’«
  • ILO β€” INTEGER. that's it. that's the description. she's brief πŸ™ˆ
  • IHI β€” INTEGER, and together ILO and IHI are the integers determined by ZGGBAL. the rules: 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. periodt πŸ’…
  • LSCALE β€” DOUBLE PRECISION array, dimension (N). details of the permutations and/or scaling factors applied to the left side of A and B, as returned by ZGGBAL 🌈
  • RSCALE β€” DOUBLE PRECISION array, dimension (N). details of the permutations and/or scaling factors applied to the right side of A and B, as returned by ZGGBAL 🌸 (yes she's the mirror twin of LSCALE, we stan a symmetrical duo)
  • M β€” INTEGER, the number of columns of the matrix V. M >= 0 ✨
  • V β€” COMPLEX*16 array, dimension (LDV,M).
    • On entry: the matrix of right or left eigenvectors to be transformed, as returned by ZTGEVC.
    • On exit: V is overwritten by the transformed eigenvectors. πŸ‘€ yes that's your data getting replaced, that's the whole point, no cap.
  • LDV β€” INTEGER, the leading dimension of the matrix V. LDV >= max(1,N) πŸ”₯
  • INFO β€” INTEGER:
    • = 0: successful exit.
    • < 0: if INFO = -i, the i-th argument had an illegal value. πŸ’€

πŸ‘‘ Author

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

a whole friend group wrote this one, we love a collab 🫢

πŸ’– Further Details:

See R.C. Ward, Balancing the generalized eigenvalue problem, SIAM J. Sci. Stat. Comp. 2 (1981), 141-152.

giving academic citation realness, respect the source material πŸ“šβœ¨

⭐ Definition at line 146 of file zggbak.f.


🧚 Author (the meta one)

Generated automatically by Doxygen for LAPACK from the source code. not a human, just a robot doing her little documentation slay πŸ€–πŸ’…


and that's the whole page, bestie β€” no notes, she ate πŸ’–

signed off with love: this was LAPACK, Version 3.12.0, served fresh from /home/abui...RC/zggbak.f(3) β€” catch you in section 3 πŸŒΈπŸŽ€

πŸ“¦ where this page comes from