TESTING/EIG/zhst01.f(3)
π TESTING/EIG/zhst01.f(3) β Library Functions Manual π
Ok bestie, welcome to the zhst01 page. It's giving test-ratio math, and honestly? Iconic. π
πΈ NAME πΈ
TESTING/EIG/zhst01.f β the manual page for the zhst01 subroutine. That's the name, periodt. β¨
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines π¦
There is exactly one star of the show here:
subroutine zhst01β yes bestie, that's the whole list. Signature incoming:
subroutine zhst01 (n, ilo, ihi, a, lda, h, ldh, q, ldq, work, lwork,
rwork, result)
ZHST01
π Function/Subroutine Documentation π
π«Ά subroutine zhst01 π«Ά
subroutine zhst01 (integer n, integer ilo, integer ihi, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( ldh, * ) h,
integer ldh, complex*16, dimension( ldq, * ) q, integer ldq, complex*16,
dimension( lwork ) work, integer lwork, double precision, dimension( * )
rwork, double precision, dimension( 2 ) result)
ZHST01
π Purpose π
So ZHST01 tests the reduction of a general matrix A to upper Hessenberg form: A = Q*H*Q'. Two test ratios get computed, and they are lowkey the whole point:
RESULT(1) = norm( A - Q*H*Q' ) / ( norm(A) * N * EPS )
RESULT(2) = norm( I - Q'*Q ) / ( N * EPS )
The matrix Q is assumed to be given explicitly, just like it would be following ZGEHRD + ZUNGHR. Slay. π
Also, in this version, ILO and IHI are not used, but they could be used to save some work if this is desired. Cute little future-vibe note. β¨
π Parameters π
NβNisINTEGER. It's the order of the matrixA, and the constraint isN >= 0. πILOβILOisINTEGER.IHIβIHIisINTEGER.Ais assumed to be upper triangular in rows and columns1:ILO-1andIHI+1:N, soQdiffers from the identity only in rows and columnsILO+1:IHI. That's the range tea. π«ΆAβAisCOMPLEX*16array, dimension(LDA,N). It's the originalnbynmatrixA.LDAβLDAisINTEGER, the leading dimension of the arrayA. Constraint:LDA >= max(1,N). No cap. π―HβHisCOMPLEX*16array, dimension(LDH,N). This is the upper Hessenberg matrixHfrom the reductionA = Q*H*Q'as computed byZGEHRD.His assumed to be zero below the first subdiagonal. πLDHβLDHisINTEGER, the leading dimension of the arrayH. Constraint:LDH >= max(1,N).QβQisCOMPLEX*16array, dimension(LDQ,N). It's the orthogonal matrixQfrom the reductionA = Q*H*Q'as computed byZGEHRD + ZUNGHR.LDQβLDQisINTEGER, the leading dimension of the arrayQ. Constraint:LDQ >= max(1,N).WORKβWORKisCOMPLEX*16array, dimension(LWORK). Just the work array, doing its thing. π¦LWORKβLWORKisINTEGER, the length of the arrayWORK. Constraint:LWORK >= 2*N*N. Respect the math. π₯RWORKβRWORKisDOUBLE PRECISIONarray, dimension(N).RESULTβRESULTisDOUBLE PRECISIONarray, dimension(2). Here's exactly what lands in it:
RESULT(1) = norm( A - Q*H*Q' ) / ( norm(A) * N * EPS )
RESULT(2) = norm( I - Q'*Q ) / ( N * EPS )
π Author π
The author squad is:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 138 of file zhst01.f.
π Author π
This page was generated automatically by Doxygen for LAPACK from the source code. Yes bestie, generated β I just added the sparkle. β¨
π Cute sign-off: this is LAPACK, Version 3.12.0, and the page is TESTING/EIG/zhst01.f(3). Bye bestie, go run those tests! π
β¨
π¦ 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