SRC/zungql.f(3)

✨ SRC/zungql.f ✨

okay bestie, welcome to the glow-up zone πŸ’… this is a Library Functions Manual page from LAPACK and honestly? she's an icon. lowkey a whole queen of orthonormal columns. let's get into it 🫢


🌸 SYNOPSIS 🌸

✨ Functions/Subroutines ✨

  • subroutine zungql (m, n, k, a, lda, tau, work, lwork, info) β€” the one and only ZUNGQL, no cap πŸ’–

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

πŸ’œ subroutine zungql (integer m, integer n, integer k, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * ) work, integer lwork, integer info)

ZUNGQL β€” literally her name, she ate πŸ”₯

πŸŽ€ Purpose:

!>
!> ZUNGQL generates an M-by-N complex matrix Q with orthonormal columns,
!> which is defined as the last N columns of a product of K elementary
!> reflectors of order M
!>
!>       Q  =  H(k) . . . H(2) H(1)
!>
!> as returned by ZGEQLF.
!>

so like, she builds you a matrix Q with orthonormal columns β€” the last N columns of a product of K elementary reflectors of order M, exactly as ZGEQLF handed them back to you. it's giving assemble-the-queen energy πŸ‘‘βœ¨


πŸ’– Parameters πŸ’–

okay this is the part where you actually pay attention, bestie. every single one matters πŸ™ˆ

  • M β€” ngl this one's important:
!>          M is INTEGER
!>          The number of rows of the matrix Q. M >= 0.
!>
  • N β€” also important, keep up:
!>          N is INTEGER
!>          The number of columns of the matrix Q. M >= N >= 0.
!>
  • K β€” the reflector count, slay:
!>          K is INTEGER
!>          The number of elementary reflectors whose product defines the
!>          matrix Q. N >= K >= 0.
!>
  • A β€” the main character array:
!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the (n-k+i)-th column must contain the vector which
!>          defines the elementary reflector H(i), for i = 1,2,...,k, as
!>          returned by ZGEQLF in the last k columns of its array
!>          argument A.
!>          On exit, the M-by-N matrix Q.
!>

so on entry, that (n-k+i)-th column holds the vector defining the elementary reflector H(i) for i = 1,2,...,k, straight from ZGEQLF's last k columns of its array argument A. on exit? she's the M-by-N matrix Q. transformation, literally πŸ¦‹

  • LDA β€” the dimension bestie:
!>          LDA is INTEGER
!>          The first dimension of the array A. LDA >= max(1,M).
!>
  • TAU β€” the scalar factor queen:
!>          TAU is COMPLEX*16 array, dimension (K)
!>          TAU(i) must contain the scalar factor of the elementary
!>          reflector H(i), as returned by ZGEQLF.
!>
  • WORK β€” the workspace:
!>          WORK is COMPLEX*16 array, dimension (MAX(1,LWORK))
!>          On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
!>
  • LWORK β€” okay this one has a whole monologue:
!>          LWORK is INTEGER
!>          The dimension of the array WORK. LWORK >= max(1,N).
!>          For optimum performance LWORK >= N*NB, where NB is the
!>          optimal blocksize.
!>
!>          If LWORK = -1, then a workspace query is assumed; the routine
!>          only calculates the optimal size of the WORK array, returns
!>          this value as the first entry of the WORK array, and no error
!>          message related to LWORK is issued by XERBLA.
!>
πŸ’€ heads up: if you set LWORK = -1, it's a workspace query β€” she only calculates the optimal size of the WORK array, returns that value as the first entry of WORK, and XERBLA stays quiet, no error message about LWORK at all. iykyk ✨
  • INFO β€” the vibe check:
!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument has an illegal value
!>

πŸ‘‘ Author πŸ‘‘

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

Definition at line 127 of file zungql.f. πŸ“


🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. (yes, the machine wrote it, and she still served πŸ’…)


mwah, that's the whole page bestie β€” go forth and generate those orthonormal columns πŸ’œβœ¨

LAPACK Β· Version 3.12.0 Β· SRC/zungql.f(3) πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from