ZTZRZF(3)
πΈ NAME πΈ
Hey bestie! Welcome to the ZTZRZF(3) page in the Library Functions Manual β yes, you found the right one. π
This page is all about this file:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ztzrzf.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZTZRZF (m, n, a, lda, tau, work, lwork, info)
ZTZRZF
π¦ Function/Subroutine Documentation π¦
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 here's the glow-up: ZTZRZF reduces the M-by-N (M<=N) complex upper trapezoidal matrix A to upper triangular form by means of unitary transformations. Periodt. π
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. Thatβs the whole assignment, bestie. β¨
π§Έ Parameters π§Έ
MβM is INTEGER; this is the number of rows of the matrixA.M >= 0.NβN is INTEGER; this is the number of columns of the matrixA.N >= M.AβA is COMPLEX*16 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 unitary matrixZas a product ofMelementary reflectors.LDAβLDA is INTEGER; this is the leading dimension of the arrayA.LDA >= max(1,M).TAUβTAU is COMPLEX*16 array, dimension (M); these are the scalar factors of the elementary reflectors.WORKβWORK is COMPLEX*16 array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORK is INTEGER; this is 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.INFOβINFO is INTEGER;= 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 tea, fr fr: LAPACK Version 3.12.0, file /home/abui...RC/ztzrzf.f(3). Bye bestie β go slay those unitary transformations! π
β¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms