CUNMRZ(3)

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

πŸ’… CUNMRZ(3) β€” cunmrz.f, from the Library Functions Manual πŸŽ€

okay bestie, so this little icon lives at /home/abuild/rpmbuild/BUILD/lapack-3.12.0-build/lapack-3.12.0/SRC/cunmrz.f and honestly? it's giving "quietly doing the most important math in the room." come sit with me 🫢


✨ SYNOPSIS ✨

Functions/Subroutines 🌸

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

CUNMRZ β€” that's her name, that's her whole brand πŸ’œ


πŸ”₯ Function/Subroutine Documentation πŸ”₯

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

CUNMRZ ✨ (yes she's spelled all-caps, we respect the drama)

🌈 Purpose 🌈

okay so listen β€” CUNMRZ overwrites the general complex M-by-N matrix C with:

                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(2) . . . H(k)

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

πŸ¦‹ Parameters πŸ¦‹

  • SIDE β€” SIDE is CHARACTER*1, no cap:
    • = 'L': apply Q or Q**H from the Left;
    • = 'R': apply Q or Q**H from the Right.
  • TRANS β€” TRANS is CHARACTER*1:
    • = 'N': No transpose, apply Q;
    • = 'C': Conjugate transpose, apply Q**H.
  • M β€” M is INTEGER. the number of rows of the matrix C. literally M >= 0.
  • N β€” N is INTEGER. the number of columns of the matrix C. N >= 0, always.
  • K β€” K is INTEGER. the number of elementary reflectors whose product defines the matrix Q. so like:
    • If SIDE = 'L', M >= K >= 0;
    • if SIDE = 'R', N >= K >= 0.
  • L β€” L is INTEGER. the number of columns of the matrix A containing the meaningful part of the Householder reflectors. aka:
    • If SIDE = 'L', M >= L >= 0,
    • if SIDE = 'R', N >= L >= 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 CTZRZF in the last k rows of its array argument A. heads up bestie: A is modified by the routine but restored on exit. iconic behavior honestly, she cleans up after herself 🧚

  • 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 CTZRZF.
  • 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.
  • 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. slay, she tells you what she wanted πŸ’–
  • 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. ngl, give her room to breathe.
    • 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.
  • 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.

πŸ“ Contributors: πŸ“

A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA

⭐ Further Details: ⭐

(yes the original really is just an empty !> here β€” she's mysterious like that, no notes, no cap πŸ™ˆ)

Definition at line 185 of file cunmrz.f. that's her address, go say hi πŸ’œ


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code. (a bot wrote this one, but like respectfully)


and that's the whole page bestie!! 🌈✨ this is LAPACK Version 3.12.0, and the whole thing lives at /home/abui...RC/cunmrz.f(3) β€” mwah, go forth and multiply your unitary matrices πŸ’…πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from