TESTING/EIG/zhet22.f(3)
π TESTING/EIG/zhet22.f(3) π
okay bestie, welcome to the Library Functions Manual page for TESTING/EIG/zhet22.f(3). Buckle up, because this one is a whole little LAPACK test subroutine and we're gonna get into every single detail. π
β¨
πΈ NAME πΈ
TESTING/EIG/zhet22.f β that's the name, bestie. The whole page is literally this file. Periodt. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine zhet22 (itype, uplo, n, m, kband, a, lda, d, e, u, ldu, v,
ldv, tau, work, rwork, result)
ZHET22
π¦ Function/Subroutine Documentation π¦
ZHET22
subroutine zhet22 (integer itype, character uplo, integer n, integer m,
integer kband, complex*16, dimension( lda, * ) a, integer lda, double
precision, dimension( * ) d, double precision, dimension( * ) e,
complex*16, dimension( ldu, * ) u, integer ldu, complex*16, dimension(
ldv, * ) v, integer ldv, complex*16, dimension( * ) tau, complex*16,
dimension( * ) work, double precision, dimension( * ) rwork, double
precision, dimension( 2 ) result)
ZHET22
Purpose
okay so ZHET22 generally checks a decomposition of the form
A U = U S
where A is complex Hermitian, the columns of U are orthonormal, and S is diagonal (if KBAND=0) or symmetric tridiagonal (if KBAND=1). If ITYPE=1, then U is represented as a dense matrix, otherwise the U is expressed as a product of Householder transformations, whose vectors are stored in the array and whose scaling constants are in β and then the original says, literally, βwe shall use the letterβ to refer to the product of Householder transformations (which should be equal to U). π«Ά
Specifically, if ITYPE=1, then:
RESULT(1) = | U**H A U - S | / ( |A| m ulp ) and
RESULT(2) = | I - U**H U | / ( m ulp )
okay bestie, argument time β every single one, no skipping:
ITYPEINTEGERβ Specifies the type of tests to be performed.1:Uexpressed as a dense orthogonal matrix:
RESULT(1) = | A - U S U**H | / ( |A| n ulp ) *and
RESULT(2) = | I - U U**H | / ( n ulp )
(Yes, the original has *and β iconic, and Iβm not fixing it. π)
UPLOCHARACTERβ IfUPLO='U', the upper triangle ofAwill be used and the (strictly) lower triangle will not be referenced. IfUPLO='L', the lower triangle ofAwill be used and the (strictly) upper triangle will not be referenced. Not modified.NINTEGERβ The size of the matrix. If it is zero,ZHET22does nothing. It must be at least zero. Not modified.MINTEGERβ The number of columns ofU. If it is zero,ZHET22does nothing. It must be at least zero. Not modified.KBANDINTEGERβ The bandwidth of the matrix. It may only be zero or one. If zero, thenSis diagonal, andEis not referenced. If one, thenSis symmetric tri-diagonal. Not modified.ACOMPLEX*16 array, dimension (LDA , N)β The original (unfactored) matrix. It is assumed to be symmetric, and only the upper (UPLO='U') or only the lower (UPLO='L') will be referenced. Not modified.LDAINTEGERβ The leading dimension ofA. It must be at least 1 and at leastN. Not modified.DDOUBLE PRECISION array, dimension (N)β The diagonal of the (symmetric tri-) diagonal matrix. Not modified.EDOUBLE PRECISION array, dimension (N)β The off-diagonal of the (symmetric tri-) diagonal matrix.E(1)is ignored,E(2)is the(1,2)and(2,1)element, etc. Not referenced ifKBAND=0. Not modified.UCOMPLEX*16 array, dimension (LDU, N)β IfITYPE=1, this contains the orthogonal matrix in the decomposition, expressed as a dense matrix. Not modified.LDUINTEGERβ The leading dimension ofU.LDUmust be at leastNand at least 1. Not modified.VCOMPLEX*16 array, dimension (LDV, N)β IfITYPE=2or3, the lower triangle of this array contains the Householder vectors used to describe the orthogonal matrix in the decomposition. IfITYPE=1, then it is not referenced. Not modified.LDVINTEGERβ The leading dimension ofV.LDVmust be at leastNand at least 1. Not modified.TAUCOMPLEX*16 array, dimension (N)β IfITYPE >= 2, thenTAU(j)is the scalar factor ofv(j) v(j)**Hin the Householder transformationH(j)of the productU = H(1)...H(n-2). IfITYPE < 2, thenTAUis not referenced. Not modified.WORKCOMPLEX*16 array, dimension (2*N**2)β Workspace. Modified.RWORKDOUBLE PRECISION array, dimension (N)β Workspace. Modified.RESULTDOUBLE PRECISION array, dimension (2)β The values computed by the two tests described above. The values are currently limited to1/ulp, to avoid overflow.RESULT(1)is always modified.RESULT(2)is modified only ifLDUis at leastN. Modified.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 159 of file zhet22.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie! π Cute sign-off: this is from LAPACK, Version 3.12.0, and the footer page is TESTING/EIG/zhet22.f(3). No date is shown in this footer, so Iβm not inventing one β 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