SRC/sorgtsqr.f(3)
π¦ SRC/sorgtsqr.f π¦
okay so bestie, this page is from the Library Functions Manual β itβs the SRC/sorgtsqr.f(3) one, and itβs giving LAPACK subroutine main character energy. No cap, weβre covering every single detail together. π
β¨ NAME β¨
SRC/sorgtsqr.f β thatβs literally the name, bestie. No extra notes. π
πΈ SYNOPSIS πΈ
Hereβs the vibe check on how itβs called:
Functions/Subroutines
subroutine sorgtsqr (m, n, mb, nb, a, lda, t, ldt, work, lwork, info)
SORGTSQR
π Function/Subroutine Documentation π
This is the main character right here β SORGTSQR in all its subroutine glory:
subroutine sorgtsqr (integer m, integer n, integer mb, integer nb, real,
dimension( lda, * ) a, integer lda, real, dimension( ldt, * ) t, integer
ldt, real, dimension( * ) work, integer lwork, integer info)
SORGTSQR
π Purpose π
okay so what does it actually do? Obsessed that you asked:
SORGTSQR generates an M-by-N real matrix Q_out with orthonormal columns, which are the first N columns of a product of real orthogonal matrices of order M which are returned by SLATSQR.
Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ).
See the documentation for SLATSQR. β¨
π Parameters π
okay bestie, hereβs the full parameter vibe check. Every single one, no skips:
MβMisINTEGER. The number of rows of the matrixA.M >= 0. βNβNisINTEGER. The number of columns of the matrixA.M >= N >= 0. βMBβMBisINTEGER. The row block size used bySLATSQRto return arraysAandT.MB > N. (Note that ifMB > M, thenMis used instead ofMBas the row block size). π§±NBβNBisINTEGER. The column block size used bySLATSQRto return arraysAandT.NB >= 1. (Note that ifNB > N, thenNis used instead ofNBas the column block size). π§±AβAisREAL array, dimension (LDA,N). On entry:- The elements on and above the diagonal are not accessed.
- The elements below the diagonal represent the unit lower-trapezoidal blocked matrix
Vcomputed bySLATSQRthat defines the input matricesQ_in(k)(ones on the diagonal are not stored) (same format as the outputAbelow the diagonal inSLATSQR). On exit: - The array
Acontains anM-by-Northonormal matrixQ_out, i.e the columns ofAare orthogonal unit vectors.
LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).TβTisREAL array, dimension (LDT, N * NIRB)whereNIRB = Number_of_input_row_blocks = MAX( 1, CEIL((M-N)/(MB-N)) ). LetNICB = Number_of_input_col_blocks = CEIL(N/NB). The upper-triangular block reflectors used to define the input matricesQ_in(k),k=(1:NIRB*NICB). The block reflectors are stored in compact form inNIRBblock reflector sequences. Each ofNIRBblock reflector sequences is stored in a largerNB-by-Ncolumn block ofTand consists ofNICBsmallerNB-by-NBupper-triangular column blocks. (same format as the outputTinSLATSQR). β¨LDTβLDTisINTEGER. The leading dimension of the arrayT.LDT >= max(1,min(NB1,N)). (yes, bestie, it literally saysNB1β keep it exactly like that π )WORKβ (workspace)REAL array, dimension (MAX(2,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. The dimension of the arrayWORK.LWORK >= (M+NB)*N. IfLWORK = -1, then a workspace query is assumed. The routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.INFOβINFOisINTEGER.= 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.
π§ Contributors: π§
November 2019, Igor Kozachenko, Computer Science Division, University of California, Berkeley. π
Definition at line 174 of file sorgtsqr.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π Thatβs the whole page, bestie β LAPACK Version 3.12.0, source page SRC/sorgtsqr.f(3). Bye! π«Ά
π¦ 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