SRC/dtzrzf.f(3)
π NAME π
Okay so welcome to SRC/dtzrzf.f(3), bestie β it's a Library Functions Manual page, and the whole vibe is SRC/dtzrzf.f. The main character? DTZRZF. Periodt. π
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine dtzrzf (m, n, a, lda, tau, work, lwork, info)
DTZRZF β the subroutine name, living its best life. π¦
πΈ Function/Subroutine Documentation πΈ
subroutine dtzrzf (integer m, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) tau, double precision, dimension( * ) work, integer lwork, integer info)
DTZRZF β that's the routine, no cap. π₯
π Purpose π
Okay so DTZRZF reduces the M-by-N ( M<=N ) real upper trapezoidal matrix A to upper triangular form by means of orthogonal transformations.
The upper trapezoidal matrix A is factored as
A = ( R 0 ) * Z
where Z is an N-by-N orthogonal matrix and R is an M-by-M upper triangular matrix. Obsessed with the structure, honestly. β¨
π Parameters π
Mβ it's givingM is INTEGER; the number of rows of the matrixA.M >= 0.Nβ the column count, icon behaviorN is INTEGER; the number of columns of the matrixA.N >= M.AβA is DOUBLE PRECISION array, dimension (LDA,N). On entry, the leadingM-by-Nupper trapezoidal part of the arrayAmust contain the matrix to be factorized. On exit, the leadingM-by-Mupper triangular part ofAcontains the upper triangular matrixR, and elementsM+1toNof the firstMrows ofA, with the arrayTAU, represent the orthogonal matrixZas a product ofMelementary reflectors. Main character array fr fr. πLDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,M).TAUβTAU is DOUBLE PRECISION array, dimension (M); the scalar factors of the elementary reflectors. Little scalars, big plot. πWORKβWORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORK is INTEGER; the dimension of the arrayWORK.LWORK >= max(1,M). For optimum performanceLWORK >= M*NB, whereNBis the optimal blocksize. 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. Workspace query realness. π«ΆINFOβINFO is INTEGER;= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value. Illegal value? Not the vibe. π
π 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 N-by-N matrix Z can be computed by
Z = Z(1)*Z(2)* ... *Z(M)
where each N-by-N Z(k) is given by
Z(k) = I - tau(k)*v(k)*v(k)**T
where v(k) is the kth row vector of the M-by-N matrix
V = ( I A(:,M+1:N) )
I is the M-by-M identity matrix, A(:,M+1:N) is the output stored in A on exit from DTZRZF, and tau(k) is the kth element of the array TAU. This math is lowkey iconic. π
Definition at line 150 of file dtzrzf.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, that's the whole page β footer sign-off: LAPACK Version 3.12.0, SRC/dtzrzf.f(3), and the manual-page source/version energy is immaculate. πβ¨
π¦ 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