TESTING/EIG/zhst01.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸ’… 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 β€” N is INTEGER. It's the order of the matrix A, and the constraint is N >= 0. πŸ’–
  • ILO β€” ILO is INTEGER.
  • IHI β€” IHI is INTEGER. A is assumed to be upper triangular in rows and columns 1:ILO-1 and IHI+1:N, so Q differs from the identity only in rows and columns ILO+1:IHI. That's the range tea. 🫢
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). It's the original n by n matrix A.
  • LDA β€” LDA is INTEGER, the leading dimension of the array A. Constraint: LDA >= max(1,N). No cap. πŸ’―
  • H β€” H is COMPLEX*16 array, dimension (LDH,N). This is the upper Hessenberg matrix H from the reduction A = Q*H*Q' as computed by ZGEHRD. H is assumed to be zero below the first subdiagonal. πŸ’€
  • LDH β€” LDH is INTEGER, the leading dimension of the array H. Constraint: LDH >= max(1,N).
  • Q β€” Q is COMPLEX*16 array, dimension (LDQ,N). It's the orthogonal matrix Q from the reduction A = Q*H*Q' as computed by ZGEHRD + ZUNGHR.
  • LDQ β€” LDQ is INTEGER, the leading dimension of the array Q. Constraint: LDQ >= max(1,N).
  • WORK β€” WORK is COMPLEX*16 array, dimension (LWORK). Just the work array, doing its thing. πŸ¦‹
  • LWORK β€” LWORK is INTEGER, the length of the array WORK. Constraint: LWORK >= 2*N*N. Respect the math. πŸ”₯
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N).
  • RESULT β€” RESULT is DOUBLE PRECISION array, 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