tzrzf(3)
π NAME π
okay so, bestie, welcome to the Library Functions Manual page for tzrzf β the RZ factor routine. That's the whole name section, short and sweet, but the rest of this page? It's giving long. Buckle in. π
β¨ SYNOPSIS β¨
Here's the whole squad of routines on this page, all with the exact same argument list (m, n, a, lda, tau, work, lwork, info) β just different precisions and real-vs-complex. Iconic.
subroutine ctzrzf (m, n, a, lda, tau, work, lwork, info)β CTZRZF, the complex onesubroutine dtzrzf (m, n, a, lda, tau, work, lwork, info)β DTZRZF, the double precision onesubroutine stzrzf (m, n, a, lda, tau, work, lwork, info)β STZRZF, the single precision real onesubroutine ztzrzf (m, n, a, lda, tau, work, lwork, info)β ZTZRZF, the double complex one (more on that one later π)
πΈ Detailed Description πΈ
This is the "Detailed Description" zone, and then under it we get into the actual Function Documentation for each and every routine. Let's go, one at a time. π«Ά
π Function Documentation π
π ctzrzf β CTZRZF
subroutine ctzrzf (integer m, integer n, complex, dimension( lda, * ) a,
integer lda, complex, dimension( * ) tau, complex, dimension( * ) work,
integer lwork, integer info)
β Purpose
okay so CTZRZF reduces the M-by-N ( M<=N ) complex upper trapezoidal matrix A to upper triangular form by means of unitary transformations. No cap.
The upper trapezoidal matrix A is factored as
A = ( R 0 ) * Z,
where Z is an N-by-N unitary matrix and R is an M-by-M upper triangular matrix. Slay. π₯
π¦ Parameters
MβMisINTEGER. It's the number of rows of the matrixA.M >= 0.NβNisINTEGER. It's the number of columns of the matrixA.N >= M.AβAisCOMPLEXarray, dimension(LDA,N). On entry, the leading M-by-N upper trapezoidal part of the arrayAmust contain the matrix to be factorized. On exit, the leading M-by-M upper triangular part ofAcontains the upper triangular matrixR, and elementsM+1toNof the firstMrows ofA, with the arrayTAU, represent the unitary matrixZas a product ofMelementary reflectors. π«LDAβLDAisINTEGER. It's the leading dimension of the arrayA.LDA >= max(1,M).TAUβTAUisCOMPLEXarray, dimension(M). These are the scalar factors of the elementary reflectors.WORKβWORKisCOMPLEXarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. It's the dimension of the arrayWORK.LWORK >= max(1,M). For optimum performanceLWORK >= M*NB, whereNBis the optimal blocksize.
okay this next bit matters, bestie: 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:
- 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)**H
with 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 CTZRZF, and tau(k) is the kth element of the array TAU. π
Definition at line 150 of file ctzrzf.f.
π dtzrzf β DTZRZF
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)
β Purpose
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. Same energy, different field type. π
π¦ Parameters
MβMisINTEGER. The number of rows of the matrixA.M >= 0.NβNisINTEGER. The number of columns of the matrixA.N >= M.AβAisDOUBLE PRECISIONarray, dimension(LDA,N). On entry, the leading M-by-N upper trapezoidal part of the arrayAmust contain the matrix to be factorized. On exit, the leading M-by-M upper triangular part ofAcontains the upper triangular matrixR, and elementsM+1toNof the firstMrows ofA, with the arrayTAU, represent the orthogonal matrixZas a product ofMelementary reflectors. β¨LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).TAUβTAUisDOUBLE PRECISIONarray, dimension(M). The scalar factors of the elementary reflectors.WORKβWORKisDOUBLE PRECISIONarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. The dimension of the arrayWORK.LWORK >= max(1,M). For optimum performanceLWORK >= M*NB, whereNBis the optimal blocksize.
again, important: 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:
- 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
with 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. π
tiny detail check, bestie: this one's the transpose**T, not the conjugate**H. The complex one gets**H. ikyk. π
Definition at line 150 of file dtzrzf.f.
π stzrzf β STZRZF
subroutine stzrzf (integer m, integer n, real, dimension( lda, * ) a,
integer lda, real, dimension( * ) tau, real, dimension( * ) work,
integer lwork, integer info)
β Purpose
STZRZF 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. Bestie this is literally the single-precision twin of DTZRZF. π₯
π¦ Parameters
MβMisINTEGER. The number of rows of the matrixA.M >= 0.NβNisINTEGER. The number of columns of the matrixA.N >= M.AβAisREALarray, dimension(LDA,N). On entry, the leading M-by-N upper trapezoidal part of the arrayAmust contain the matrix to be factorized. On exit, the leading M-by-M upper triangular part ofAcontains the upper triangular matrixR, and elementsM+1toNof the firstMrows ofA, with the arrayTAU, represent the orthogonal matrixZas a product ofMelementary reflectors. πΈLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).TAUβTAUisREALarray, dimension(M). The scalar factors of the elementary reflectors.WORKβWORKisREALarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. The dimension of the arrayWORK.LWORK >= max(1,M). For optimum performanceLWORK >= M*NB, whereNBis the optimal blocksize.
say it with me: 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:
- 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
with 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 STZRZF, and tau(k) is the kth element of the array TAU. π
Definition at line 150 of file stzrzf.f.
okay and there's still ztzrzf waiting for us β keep scrolling bestie, it's coming up next π
β¨
subroutine ztzrzf (integer m, integer n, complex*16, dimension( lda, * ) a,
integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * )
work, integer lwork, integer info)
π ZTZRZF π
π Purpose π
okay so ZTZRZF reduces the M-by-N ( M<=N ) complex upper trapezoidal matrix A to upper triangular form by means of unitary transformations. literally iconic behavior.
The upper trapezoidal matrix A is factored as
A = ( R 0 ) * Z,
where Z is an N-by-N unitary matrix and R is an M-by-M upper triangular matrix. slay. π
π Parameters π
MβMisINTEGER. the number of rows of the matrixA.M >= 0. βNβNisINTEGER. the number of columns of the matrixA.N >= M. πΈAβAisCOMPLEX*16array, dimension(LDA,N).- On entry, the leading
M-by-Nupper trapezoidal part of the arrayAmust contain the matrix to be factorized. - On exit, the leading
M-by-Mupper triangular part ofAcontains the upper triangular matrixR, and elementsM+1toNof the firstMrows ofA, with the arrayTAU, represent the unitary matrixZas a product ofMelementary reflectors. π¦
- On entry, the leading
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,M). πTAUβTAUisCOMPLEX*16array, dimension(M). the scalar factors of the elementary reflectors. πWORKβWORKisCOMPLEX*16array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. β¨LWORKβLWORKisINTEGER. 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. bestie thatβs a whole mood, but itβs important. π
INFOβINFOisINTEGER.= 0: successful exit. π< 0: ifINFO = -i, thei-th argument had an illegal value. π
π 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)**H
with 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 ZTZRZF, and tau(k) is the kth element of the array TAU. π§β¨
Definition at line 150 of file ztzrzf.f.
π€ Author π€
Generated automatically by Doxygen for LAPACK from the source code.
β¨ thatβs the whole page, bestie β source/version: LAPACK, version 3.12.0, page tzrzf(3). periodt. π
π
π¦ 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