CUNMRQ(3)

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

🌸 NAME 🌸

okay bestie, this page is cunmrq.f(3) from the Library Functions Manual β€” and the NAME line is literally this path, no cap:

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

✨ SYNOPSIS ✨

🫢 Functions/Subroutines 🫢

here’s the subroutine drop, bestie:

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

πŸ’… Function/Subroutine Documentation πŸ’…

full signature vibes:

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

πŸŽ€ Purpose πŸŽ€

okay so CUNMRQ overwrites the general complex M-by-N matrix C with the table below β€” yes, this is the whole plot:

                 SIDE = 'L'     SIDE = 'R'
TRANS = 'N':      Q * C          C * Q
TRANS = 'C':      Q**H * C       C * Q**H

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

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

as returned by CGERQF. Q is of order M if SIDE = 'L', and of order N if SIDE = 'R'. slay πŸ’…

πŸ“ Parameters πŸ“

  • SIDE β€” SIDE is CHARACTER*1. = 'L': apply Q or Q**H from the Left; = 'R': apply Q or Q**H from the Right. pick your side ✨
  • TRANS β€” TRANS is CHARACTER*1. = 'N': No transpose, apply Q; = 'C': Conjugate transpose, apply Q**H. it’s giving transpose realness πŸ¦‹
  • 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', M >= K >= 0; if SIDE = 'R', N >= K >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,M) if SIDE = 'L', (LDA,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 CGERQF in the last k rows of its array argument A.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,K).
  • TAU β€” TAU is COMPLEX array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by CGERQF.
  • C β€” C is COMPLEX 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. not me checking my matrix twice 😭
  • LDC β€” LDC is INTEGER. The leading dimension of the array C. LDC >= max(1,M).
  • WORK β€” WORK is COMPLEX array, dimension (MAX(1,LWORK)). On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  • LWORK β€” LWORK is INTEGER. The dimension of the array WORK. If SIDE = 'L', LWORK >= max(1,N); if SIDE = 'R', LWORK >= max(1,M). For good performance, LWORK should generally be larger. 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. iykyk 🧚
  • INFO β€” INFO is 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.

Definition at line 166 of file cunmrq.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


and that’s the page, bestie πŸ’– β€” it came from LAPACK Version 3.12.0 and the page path is /home/abui...RC/cunmrq.f(3). vibe check complete, periodt 🫢✨

πŸ“¦ where this page comes from