/home/abui.../zgemlqt.f(3)

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

πŸ’… ZGEMLQT β€” like, the manual page, bestie ✨

okay so this is a page from the Library Functions Manual for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgemlqt.f β€” yes that's the whole path, she's long, she's iconic, we respect her 🫢


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine ZGEMLQT (side, trans, m, n, k, mb, v, ldv, t, ldt, c, ldc,
    work, info)

ZGEMLQT β€” that's her name, that's the whole thing πŸ’«


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

subroutine ZGEMLQT (character side, character trans, integer m, integer n,
    integer k, integer mb, complex*16, dimension( ldv, * ) v, integer ldv,
    complex*16, dimension( ldt, * ) t, integer ldt, complex*16, dimension(
    ldc, * ) c, integer ldc, complex*16, dimension( * ) work, integer info)

ZGEMLQT πŸŽ€

🌸 Purpose 🌸

!> !> ZGEMLQT overwrites the general complex M-by-N matrix C with !> !> SIDE = 'L' SIDE = 'R' !> TRANS = 'N': Q C C Q !> TRANS = 'C': QH C C QH !> !> where Q is a complex unitary matrix defined as the product of K !> elementary reflectors: !> !> Q = H(1) H(2) . . . H(K) = I - V T V**H !> !> generated using the compact WY representation as returned by ZGELQT. !> !> Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. !>

so basically, bestie, she takes your matrix C β€” general, complex, M-by-N β€” and overwrites it with the product of Q or Q**H on whichever side you asked for. Q itself is this complex unitary matrix built from K elementary reflectors, Q = H(1) H(2) . . . H(K) = I - V T V**H, assembled via the compact WY representation that ZGELQT hands you. Q is order M when SIDE = 'L', and order N when SIDE = 'R'. no cap πŸ’…


✨ Parameters ✨

  • SIDE β€” SIDE is CHARACTER*1. it's giving "which side are we coming from": = 'L' β†’ apply Q or Q**H from the Left; = 'R' β†’ apply Q or Q**H from the Right. pick one, she needs to know 🫢
  • TRANS β€” TRANS is CHARACTER*1. = 'N' β†’ No transpose, apply Q; = 'C' β†’ Conjugate transpose, apply Q**H. literally just tell her if you want the conjugate transpose or not.
  • M β€” M is INTEGER. the number of rows of the matrix C. M >= 0.
  • N β€” N is INTEGER. the number of columns of the matrix C. N >= 0.
  • K β€” K is INTEGER. the number of elementary reflectors whose product defines the matrix Q. if SIDE = 'L', then M >= K >= 0; if SIDE = 'R', then N >= K >= 0. rules are rules 🌸
  • MB β€” MB is INTEGER. the block size used for the storage of T. K >= MB >= 1. and listen πŸ‘€ this must be the same value of MB used to generate T in ZGELQT β€” like, they have to match, fr fr.
  • V β€” V is COMPLEX*16 array, dimension (LDV,M) if SIDE = 'L', or (LDV,N) if SIDE = 'R'. the i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by ZGELQT in the first K rows of its array argument A. yes the rows, not the columns β€” read her carefully πŸ™ˆ
  • LDV β€” LDV is INTEGER. the leading dimension of the array V. LDV >= max(1,K).
  • T β€” T is COMPLEX*16 array, dimension (LDT,K). the upper triangular factors of the block reflectors as returned by ZGELQT, stored as a MB-by-K matrix πŸ‘‘
  • LDT β€” LDT is INTEGER. the leading dimension of the array T. LDT >= MB.
  • C β€” C is COMPLEX*16 array, dimension (LDC,N). on entry, the M-by-N matrix C. on exit, C is overwritten by Q C, Q**H C, C Q**H or C Q. she will overwrite it, that's the whole vibe πŸ”₯
  • LDC β€” LDC is INTEGER. the leading dimension of the array C. LDC >= max(1,M).
  • WORK β€” WORK is COMPLEX*16 array. the dimension of WORK is N*MB if SIDE = 'L', or M*MB if SIDE = 'R'. size her right or it's not gonna be cute 😭
  • INFO β€” INFO is INTEGER. = 0 β†’ successful exit, slay ✨; < 0 β†’ if INFO = -i, the i-th argument had an illegal value. so if you see a negative number, one of your arguments was not it, and you know exactly which one πŸ’€

🧚 Author 🧚

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

Definition at line 166 of file zgemlqt.f. πŸ“


πŸ’œ Author (again) πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. she's self-writing, main character energy fr


okay that's the whole page bestie, mwah 🫢 and for the cute sign-off: this beauty comes to you from LAPACK, Version 3.12.0, dated /home/abui.../zgemlqt.f(3) β€” go forth and apply your Q's correctly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from