TESTING/EIG/dsyt22.f(3)
Hey bestie!! π You just opened TESTING/EIG/dsyt22.f from the Library Functions Manual. Itβs a LAPACK test routine, and itβs lowkey iconic. Letβs get into it. π«Ά
πΈ NAME πΈ
TESTING/EIG/dsyt22.f β thatβs the name, thatβs the whole name, no notes. π
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine dsyt22 (itype, uplo, n, m, kband, a, lda, d, e, u, ldu, v,
ldv, tau, work, result)
DSYT22
π¦ Function/Subroutine Documentation π¦
Okay bestie, hereβs the full signature. Donβt let the long line scare you β itβs serving exactly what it needs to serve:
subroutine dsyt22 (integer itype, character uplo, integer n, integer m,
integer kband, double precision, dimension( lda, * ) a, integer lda,
double precision, dimension( * ) d, double precision, dimension( * ) e,
double precision, dimension( ldu, * ) u, integer ldu, double precision,
dimension( ldv, * ) v, integer ldv, double precision, dimension( * )
tau, double precision, dimension( * ) work, double precision, dimension(
2 ) result)
DSYT22
π Purpose π
DSYT22 generally checks a decomposition of the form
A U = U S
where A is symmetric, 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 β 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**T A U - S | / ( |A| m ulp ) and
RESULT(2) = | I - U**T U | / ( m ulp )
π₯ Arguments π₯
ITYPEβ INTEGER. Specifies the type of tests to be performed.1: U expressed as a dense orthogonal matrix:RESULT(1) = | A - U S U**T | / ( |A| n ulp )andRESULT(2) = | I - U U**T | / ( n ulp ).UPLOβ CHARACTER. 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.Nβ INTEGER. The size of the matrix. If it is zero,DSYT22does nothing. It must be at least zero. Not modified.Mβ INTEGER. The number of columns ofU. If it is zero,DSYT22does nothing. It must be at least zero. Not modified.KBANDβ INTEGER. 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.Aβ DOUBLE PRECISION 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.LDAβ INTEGER. The leading dimension ofA. It must be at least 1 and at leastN. Not modified.Dβ DOUBLE PRECISION array, dimension(N). The diagonal of the (symmetric tri-) diagonal matrix. Not modified.Eβ DOUBLE 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.Uβ DOUBLE PRECISION array, dimension(LDU, N). IfITYPE=1or3, this contains the orthogonal matrix in the decomposition, expressed as a dense matrix. IfITYPE=2, then it is not referenced. Not modified.LDUβ INTEGER. The leading dimension ofU.LDUmust be at leastNand at least 1. Not modified.Vβ DOUBLE PRECISION 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.LDVβ INTEGER. The leading dimension ofV.LDVmust be at leastNand at least 1. Not modified.TAUβ DOUBLE PRECISION array, dimension(N). IfITYPE >= 2, thenTAU(j)is the scalar factor ofv(j) v(j)**Tin the Householder transformationH(j)of the productU = H(1)...H(n-2). IfITYPE < 2, thenTAUis not referenced. Not modified.WORKβ DOUBLE PRECISION array, dimension(2*N**2). Workspace. Modified.RESULTβ DOUBLE 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 155 of file dsyt22.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
xoxo, LAPACK Version 3.12.0 π (the footer didnβt hand us a date, bestie, but this page is TESTING/EIG/dsyt22.f(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