ZUNMR3(3)

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

okay so bestie, welcome to zunmr3.f(3) from the Library Functions Manual β€” this whole page is about one Fortran subroutine and it's lowkey iconic. Buckle up, we're getting into the LAPACK tea. πŸ’…βœ¨

πŸ’– NAME πŸ’–

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zunmr3.f β€” yep, that entire path is the NAME. That's the file, periodt. 🫢

✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

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

ZUNMR3 multiplies a general matrix by the unitary matrix from a RZ factorization determined by ctzrzf (unblocked algorithm). πŸ’«

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

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

ZUNMR3 multiplies a general matrix by the unitary matrix from a RZ factorization determined by ctzrzf (unblocked algorithm). No cap, that's literally what it does. πŸ¦‹

🌟 Purpose 🌟

ZUNMR3 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 ZTZRZF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. ✨

πŸ’… Parameters πŸ’…

  • SIDE β€” SIDE is CHARACTER*1
    • = 'L': apply Q or Q**H from the Left
    • = 'R': apply Q or Q**H from the Right
  • TRANS β€” TRANS is CHARACTER*1
    • = 'N': apply Q (No transpose)
    • = 'C': apply Q**H (Conjugate transpose)
  • 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.
  • L β€” L is INTEGER The number of columns of the matrix A containing the meaningful part of the Householder reflectors.
    • If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0.
  • A β€” A is COMPLEX*16 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 ZTZRZF in the last k rows of its array argument A. A is modified by the routine but restored on exit.
  • LDA β€” LDA is INTEGER The leading dimension of the array A. LDA >= max(1,K).
  • TAU β€” TAU is COMPLEX*16 array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by ZTZRZF.
  • 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 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*16 array, dimension
    • (N) if SIDE = 'L',
    • (M) if SIDE = 'R'
  • 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 🌈

The source has literally just an empty !> here, bestie β€” no extra details. 🫢

Definition at line 176 of file zunmr3.f.

πŸ™ˆ Author πŸ™ˆ

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page, bestie. Footer tea: LAPACK Version 3.12.0, and the file is /home/abui...RC/zunmr3.f(3). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from