/home/abui.../cgemqrt.f(3)

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

🌸 NAME 🌸

okay so this is from the Library Functions Manual, and the page is /home/abui.../cgemqrt.f(3) β€” header folded in cute-style, bestie.

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


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

subroutine CGEMQRT (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc,
    work, info)
    CGEMQRT

🫢 Function/Subroutine Documentation 🫢

subroutine CGEMQRT (character side, character trans, integer m, integer n,
    integer k, integer nb, complex, dimension( ldv, * ) v, integer ldv,
    complex, dimension( ldt, * ) t, integer ldt, complex, dimension( ldc, *
    ) c, integer ldc, complex, dimension( * ) work, integer info)
CGEMQRT

πŸ’– Purpose πŸ’–

okay so CGEMQRT 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 orthogonal matrix defined as the product of K elementary reflectors:

Q = H(1) H(2) . . . H(K) = I - V T V**H

generated using the compact WY representation as returned by CGEQRT. Not me being obsessed with compact WY representation, it's just literally what the page says. πŸ’…

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': No transpose, apply Q.
  • = 'C': Conjugate transpose, apply Q**H.

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.

NB

NB is INTEGER.

The block size used for the storage of T. K >= NB >= 1. This must be the same value of NB used to generate T in CGEQRT.

V

V is COMPLEX array, dimension (LDV,K).

The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by CGEQRT in the first K columns of its array argument A.

LDV

LDV is INTEGER.

The leading dimension of the array V.

If SIDE = 'L', LDA >= max(1,M); if SIDE = 'R', LDA >= max(1,N).

yes, bestie, the page literally says LDA right there for LDV β€” I'm reading it exactly, no edits, no cap. 🫢

T

T is COMPLEX array, dimension (LDT,K).

The upper triangular factors of the block reflectors as returned by CGEQRT, stored as a NB-by-N matrix.

LDT

LDT is INTEGER.

The leading dimension of the array T. LDT >= NB.

C

C is COMPLEX array, dimension (LDC,N).

On entry, the M-by-N matrix C.

On exit, C is overwritten by Q C, Q**H C, 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.

The dimension of WORK is N*NB if SIDE = 'L', or M*NB 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.

Definition at line 166 of file cgemqrt.f.


🧚 Author (generated edition) 🧚

Generated automatically by Doxygen for LAPACK from the source code.


Source/version check: LAPACK and Version 3.12.0, page /home/abui.../cgemqrt.f(3). The footer doesn't show a date, so I'm not making one up β€” periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from