ZUNGR2(3)

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

πŸ¦‹ ZUNGR2(3) β€” like, the RQ unitary matrix generator, bestie

okay so first things first: this lil page lives in the Library Functions Manual section, and the file it's yapping about is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zungr2.f β€” yes that's the whole path, no I'm not shortening it, she's iconic like that πŸ’…


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zungr2.f β€” that's the file, that's the whole name, we don't do nicknames here πŸŽ€


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine ZUNGR2 (m, n, k, a, lda, tau, work, info)

ZUNGR2 generates all or part of the unitary matrix Q from an RQ factorization determined by cgerqf (unblocked algorithm). periodt. πŸ’–


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine ZUNGR2 (integer m, integer n, integer k, complex*16, dimension(
    lda, * ) a, integer lda, complex*16, dimension( * ) tau, complex*16,
    dimension( * ) work, integer info)

ZUNGR2 generates all or part of the unitary matrix Q from an RQ factorization determined by cgerqf (unblocked algorithm). literally the whole plot of this subroutine, right there 🫢

πŸ’œ Purpose:

!>
!> ZUNGR2 generates an m by n complex matrix Q with orthonormal rows,
!> which is defined as the last m rows of a product of k elementary
!> reflectors of order n
!>
!>       Q  =  H(1)**H H(2)**H . . . H(k)**H
!>
!> as returned by ZGERQF.
!>

so she builds an m-by-n complex matrix Q, orthonormal rows and all, and Q is defined as the last m rows of a product of k elementary reflectors of order n. slay ✨

🌈 Parameters

  • M β€” no cap, this one matters:
!>          M is INTEGER
!>          The number of rows of the matrix Q. M >= 0.
!>

the number of rows of Q. M >= 0. πŸ’–

  • N β€” the width queen:
!>          N is INTEGER
!>          The number of columns of the matrix Q. N >= M.
!>

the number of columns of Q. N >= M. note that, it's N greater than or equal to M, not the other way around πŸŽ€

  • K β€” the reflector count:
!>          K is INTEGER
!>          The number of elementary reflectors whose product defines the
!>          matrix Q. M >= K >= 0.
!>

the number of elementary reflectors whose product defines Q. M >= K >= 0. yes bestie, sandwiched between M and 0 πŸ¦‹

  • A β€” main character energy, honestly:
!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the (m-k+i)-th row must contain the vector which
!>          defines the elementary reflector H(i), for i = 1,2,...,k, as
!>          returned by ZGERQF in the last k rows of its array argument
!>          A.
!>          On exit, the m-by-n matrix Q.
!>

COMPLEX*16 array, dimension (LDA,N). on entry, the (m-k+i)-th row has GOT to contain the vector defining the elementary reflector H(i), for i = 1,2,...,k, exactly as ZGERQF returned it in the last k rows of its array argument A. on exit? boom, she's the m-by-n matrix Q now. glow-up πŸ’…

  • LDA β€” the leading dimension baddie:
!>          LDA is INTEGER
!>          The first dimension of the array A. LDA >= max(1,M).
!>

INTEGER, the first dimension of the array A. LDA >= max(1,M). don't skip the max(1,M) part, iykyk πŸ”₯

  • TAU β€” the scalar factor stash:
!>          TAU is COMPLEX*16 array, dimension (K)
!>          TAU(i) must contain the scalar factor of the elementary
!>          reflector H(i), as returned by ZGERQF.
!>

COMPLEX*16 array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by ZGERQF. πŸ’œ

  • WORK β€” the workspace, she's just vibing:
!>          WORK is COMPLEX*16 array, dimension (M)
!>

COMPLEX*16 array, dimension (M). that's it. that's the whole description. sometimes less is more 🧚

  • INFO β€” the vibe check:
!>          INFO is INTEGER
!>          = 0: successful exit
!>          < 0: if INFO = -i, the i-th argument has an illegal value
!>

INTEGER. = 0: successful exit, we love to see it 🌸. < 0: if INFO = -i, the i-th argument has an illegal value β€” and you KNOW which one it is because she tells you the index, respectful king 😭


⭐ Author ⭐

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

all four of them, credited, together, as it should be πŸ‘‘

Definition at line 113 of file zungr2.f. πŸ“


πŸ“ Author (yes, again, different author block, don't @ me)

Generated automatically by Doxygen for LAPACK from the source code. she didn't write her own bio, a robot did πŸ€–βœ¨


fr fr though: the array bounds, the dimension declarations, and every >= in here are load-bearing. treat them like the rules of the group chat β€” break them and it's chaos πŸ’€

and that's the whole page bestie!! this lil slice of the LAPACK docs is Version 3.12.0, and yes, the footer still points at /home/abui...RC/zungr2.f(3) β€” same file, same energy, mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from