SRC/sgemqrt.f(3)
π¦ NAME
Okay so this page is SRC/sgemqrt.f, and it comes from the Library Functions Manual β yes bestie, it's Fortran linear algebra with main-character energy. π
β¨ SYNOPSIS
π Functions/Subroutines
Here's the quick "who dis" call shape:
subroutine sgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc,
work, info)
SGEMQRT
π§ Function/Subroutine Documentation
π SGEMQRT
Full signature, exactly as printed, no cap:
subroutine sgemqrt (character side, character trans, integer m, integer n,
integer k, integer nb, real, dimension( ldv, * ) v, integer ldv, real,
dimension( ldt, * ) t, integer ldt, real, dimension( ldc, * ) c, integer
ldc, real, dimension( * ) work, integer info)
SGEMQRT
πΈ Purpose
The source comment lays out the whole matrix transformation situation like this:
!>
!> SGEMQRT overwrites the general real M-by-N matrix C with
!>
!> SIDE = 'L' SIDE = 'R'
!> TRANS = 'N': Q C C Q
!> TRANS = 'T': Q**T C C Q**T
!>
!> where Q is a real orthogonal matrix defined as the product of K
!> elementary reflectors:
!>
!> Q = H(1) H(2) . . . H(K) = I - V T V**T
!>
!> generated using the compact WY representation as returned by SGEQRT.
!>
!> Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.
!>
π Parameters
Okay, parameter by parameter, because we're not skipping a single one:
SIDEβSIDE is CHARACTER*1.= 'L': apply Q or QT from the Left;= 'R': apply Q or QT from the Right.TRANSβTRANS is CHARACTER*1.= 'N': No transpose, apply Q;= 'T': Transpose, apply Q**T.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. IfSIDE = 'L',M >= K >= 0; ifSIDE = '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 inSGEQRT.VβV is REAL array, dimension (LDV,K). The i-th column must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned bySGEQRTin the first K columns of its array argument A.LDVβLDV is INTEGER. The leading dimension of the array V. IfSIDE = 'L',LDA >= max(1,M); ifSIDE = 'R',LDA >= max(1,N).TβT is REAL array, dimension (LDT,K). The upper triangular factors of the block reflectors as returned bySGEQRT, stored as aNB-by-Nmatrix.LDTβLDT is INTEGER. The leading dimension of the array T.LDT >= NB.CβC is REAL array, dimension (LDC,N). On entry, theM-by-Nmatrix C. On exit, C is overwritten byQ C,Q**T C,C Q**TorC Q.LDCβLDC is INTEGER. The leading dimension of the array C.LDC >= max(1,M).WORKβWORK is REAL array. The dimension of WORK isN*NBifSIDE = 'L', orM*NBifSIDE = 'R'.INFOβINFO is INTEGER.= 0: successful exit.< 0: ifINFO = -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 sgemqrt.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole page, bestie β LAPACK, Version 3.12.0, from SRC/sgemqrt.f(3). The footer doesn't print a separate date, so we're not inventing one; mwah πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms