ZUNMHR(3)

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

πŸ’… ZUNMHR(3) β€” Library Functions Manual πŸ’…

Bestie, welcome to the <hotpink>ZUNMHR</hotpink> glow-up page. It’s giving β€œcomplex linear algebra but make it group-chat.” No cap, every detail is staying. πŸŽ€

✨ NAME ✨

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

That’s the file this page is about, and yes, the path is long enough to need its own emotional support water bottle. πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

🧚 Functions/Subroutines 🧚

subroutine ZUNMHR (side, trans, m, n, ilo, ihi, a, lda, tau, c, ldc,
    work, lwork, info)
    ZUNMHR

πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine ZUNMHR (character side, character trans, integer m, integer n,
    integer ilo, integer ihi, complex*16, dimension( lda, * ) a, integer
    lda, complex*16, dimension( * ) tau, complex*16, dimension( ldc, * ) c,
    integer ldc, complex*16, dimension( * ) work, integer lwork, integer
    info)
    ZUNMHR

🌟 Purpose 🌟

Okay so here’s the actual mission statement, copied exactly because we do not mess with the math:

!> ZUNMHR 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 of order nq, with nq = m if
!> SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
!> IHI-ILO elementary reflectors, as returned by ZGEHRD:
!>
!> Q = H(ilo) H(ilo+1) . . . H(ihi-1).

Translation, bestie: it takes C and overwrites it with Q * C, C * Q, Q**H * C, or C * Q**H, depending on SIDE and TRANS. The Q is a complex unitary matrix of order nq, where nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is built from IHI-ILO elementary reflectors, as returned by ZGEHRD, and it’s exactly Q = H(ilo) H(ilo+1) . . . H(ihi-1). Slay. πŸ’…

🌸 Parameters 🌸

Every parameter, every constraint, zero skipped β€” because the vibes are cute but the math is not negotiable. 🫢

  • 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.
  • ILO β€” ILO is INTEGER. That’s the whole note for this one; the range rules are chilling in IHI below. 🫢
  • IHI β€” IHI is INTEGER. ILO and IHI must have the same values as in the previous call of ZGEHRD. Q is equal to the unit matrix except in the submatrix Q(ilo+1:ihi,ilo+1:ihi). If SIDE = 'L', then 1 <= ILO <= IHI <= M, if M > 0, and ILO = 1 and IHI = 0, if M = 0; if SIDE = 'R', then 1 <= ILO <= IHI <= N, if N > 0, and ILO = 1 and IHI = 0, if N = 0.
  • A β€” A is COMPLEX*16 array, dimension (LDA,M) if SIDE = 'L'; (LDA,N) if SIDE = 'R'. The vectors which define the elementary reflectors, as returned by ZGEHRD.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,M) if SIDE = 'L'; LDA >= max(1,N) if SIDE = 'R'.
  • TAU β€” TAU is COMPLEX*16 array, dimension (M-1) if SIDE = 'L'; (N-1) if SIDE = 'R'. TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by ZGEHRD.
  • 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 (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 optimum performance LWORK >= N*NB if SIDE = 'L', and LWORK >= M*NB if SIDE = 'R', where NB is the optimal blocksize. 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.

Definition at line 176 of file zunmhr.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– cute sign-off πŸ’– This page is from LAPACK Version 3.12.0, and the footer path is /home/abui...RC/zunmhr.f(3). Stay slay, bestie. πŸŽ€βœ¨

πŸ“¦ where this page comes from