ZUNM2R(3)

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

πŸ’– NAME πŸ’–

okay bestie, this is the zunm2r.f(3) page from the Library Functions Manual, and the source file path is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zunm2r.f. it’s giving LAPACK internals, no cap 🫢

✨ SYNOPSIS ✨

under Functions/Subroutines we have this icon:

subroutine ZUNM2R (side, trans, m, n, k, a, lda, tau, c, ldc, work,
           info)

ZUNM2R multiplies a general matrix by the unitary matrix from a QR factorization determined by cgeqrf (unblocked algorithm). periodt πŸ’…

🌸 Function/Subroutine Documentation 🌸

here’s the full signature, bestie:

subroutine ZUNM2R (character side, character trans, integer m, integer n,
       integer k, complex*16, dimension( lda, * ) a, integer lda, complex*16,
       dimension( * ) tau, complex*16, dimension( ldc, * ) c, integer ldc,
       complex*16, dimension( * ) work, integer info)

ZUNM2R multiplies a general matrix by the unitary matrix from a QR factorization determined by cgeqrf (unblocked algorithm). same energy, still iconic ✨

🎯 Purpose:

ZUNM2R overwrites the general complex m-by-n matrix C with

Q * C  if SIDE = 'L' and TRANS = 'N', or

Q**H* C  if SIDE = 'L' and TRANS = 'C', or

C * Q  if SIDE = 'R' and TRANS = 'N', or

C * Q**H if SIDE = 'R' and TRANS = 'C',

where Q is a complex unitary matrix defined as the product of k elementary reflectors

Q = H(1) H(2) . . . H(k)

as returned by ZGEQRF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. πŸ’–

🌈 Parameters

  • SIDE β€” is CHARACTER*1; = 'L': apply Q or Q**H from the Left; = 'R': apply Q or Q**H from the Right. choose your main character side wisely πŸ’…
  • TRANS β€” is CHARACTER*1; = 'N': apply Q (No transpose); = 'C': apply Q**H (Conjugate transpose). yes bestie, we’re conjugating and transposing, stay with me πŸ¦‹
  • M β€” is INTEGER; the number of rows of the matrix C. M >= 0. no negative row vibes allowed 🚫
  • N β€” is INTEGER; the number of columns of the matrix C. N >= 0. again, keep it non-negative, queen πŸ‘‘
  • K β€” is INTEGER; the number of elementary reflectors whose product defines the matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0. the math is mathing πŸ”₯
  • A β€” is a COMPLEX*16 array, dimension (LDA,K). The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by ZGEQRF in the first k columns of its array argument A. A is modified by the routine but restored on exit. it gets temporarily messed with and then fixed β€” we love a comeback ✨
  • LDA β€” is INTEGER; the leading dimension of the array A. If SIDE = 'L', LDA >= max(1,M); if SIDE = 'R', LDA >= max(1,N). respect the leading dimension, bestie πŸ’œ
  • TAU β€” is a COMPLEX*16 array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by ZGEQRF. iconic scalar-factor behavior πŸŽ€
  • C β€” is a COMPLEX*16 array, dimension (LDC,N). On entry, the m-by-n matrix C. On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. she gets overwritten, that’s just her journey 😭
  • LDC β€” is INTEGER; the leading dimension of the array C. LDC >= max(1,M). leading dimension check, always πŸ’…
  • WORK β€” is a COMPLEX*16 array, dimension (N) if SIDE = 'L', (M) if SIDE = 'R'. workspace but make it cute 🧚
  • INFO β€” is INTEGER; = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value. if INFO is negative, somebody’s argument was not invited to the function πŸ’€

πŸ‘‘ Author

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

πŸ“Œ Definition at line 157 of file zunm2r.f.

πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code.


byeee bestie πŸ’‹ β€” this footer sign-off is brought to you by LAPACK Version 3.12.0 and the path /home/abui...RC/zunm2r.f(3); no separate date is printed on the page, just so you know 🫢✨

πŸ“¦ where this page comes from