TESTING/EIG/zstt22.f(3)

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

πŸ’– TESTING/EIG/zstt22.f πŸ’–

okay bestie, this is the TESTING/EIG/zstt22.f page from the Library Functions Manual πŸ’… and it's literally all about the zstt22 subroutine. no cap, we're testing eigenpairs today. ✨

🌸 NAME 🌸

TESTING/EIG/zstt22.f

πŸŽ€ SYNOPSIS πŸŽ€

✨ Functions/Subroutines ✨

subroutine zstt22 (n, m, kband, ad, ae, sd, se, u, ldu, work, ldwork,
    rwork, result)
    ZSTT22

πŸ’… Function/Subroutine Documentation πŸ’…

🫢 subroutine zstt22 🫢

subroutine zstt22 (integer n, integer m, integer kband, double precision,
    dimension( * ) ad, double precision, dimension( * ) ae, double
    precision, dimension( * ) sd, double precision, dimension( * ) se,
    complex*16, dimension( ldu, * ) u, integer ldu, complex*16, dimension(
    ldwork, * ) work, integer ldwork, double precision, dimension( * )
    rwork, double precision, dimension( 2 ) result)
    ZSTT22

🌟 Purpose 🌟

okay so ZSTT22 checks a set of M eigenvalues and eigenvectors β€” the whole A U = U S situation:

ZSTT22  checks a set of M eigenvalues and eigenvectors,

    A U = U S

where A is Hermitian tridiagonal, the columns of U are unitary,
and S is diagonal (if KBAND=0) or Hermitian tridiagonal (if KBAND=1).
Two tests are performed:

   RESULT(1) = | U* A U - S | / ( |A| m ulp )

   RESULT(2) = | I - U*U | / ( m ulp )

where A is Hermitian tridiagonal, the columns of U are unitary, and S is diagonal (if KBAND=0) or Hermitian tridiagonal (if KBAND=1). Two tests are performed:

RESULT(1) = | U* A U - S | / ( |A| m ulp )

RESULT(2) = | I - U*U | / ( m ulp )

πŸ“ Parameters πŸ“

every parameter, no skipping, periodt:

  • N β€” N is INTEGER. The size of the matrix. If it is zero, ZSTT22 does nothing. It must be at least zero.
  • M β€” M is INTEGER. The number of eigenpairs to check. If it is zero, ZSTT22 does nothing. It must be at least zero.
  • KBAND β€” KBAND is INTEGER. The bandwidth of the matrix S. It may only be zero or one. If zero, then S is diagonal, and SE is not referenced. If one, then S is Hermitian tri-diagonal.
  • AD β€” AD is DOUBLE PRECISION array, dimension (N). The diagonal of the original (unfactored) matrix A. A is assumed to be Hermitian tridiagonal.
  • AE β€” AE is DOUBLE PRECISION array, dimension (N). The off-diagonal of the original (unfactored) matrix A. A is assumed to be Hermitian tridiagonal. AE(1) is ignored, AE(2) is the (1,2) and (2,1) element, etc.
  • SD β€” SD is DOUBLE PRECISION array, dimension (N). The diagonal of the (Hermitian tri-) diagonal matrix S.
  • SE β€” SE is DOUBLE PRECISION array, dimension (N). The off-diagonal of the (Hermitian tri-) diagonal matrix S. Not referenced if KBSND=0. If KBAND=1, then AE(1) is ignored, SE(2) is the (1,2) and (2,1) element, etc.
  • U β€” U is DOUBLE PRECISION array, dimension (LDU, N). The unitary matrix in the decomposition.
  • LDU β€” LDU is INTEGER. The leading dimension of U. LDU must be at least N.
  • WORK β€” WORK is COMPLEX*16 array, dimension (LDWORK, M+1).
  • LDWORK β€” LDWORK is INTEGER. The leading dimension of WORK. LDWORK must be at least max(1,M).
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N).
  • RESULT β€” RESULT is DOUBLE PRECISION array, dimension (2). The values computed by the two tests described above. The values are currently limited to 1/ulp, to avoid overflow.

πŸ‘‘ Author πŸ‘‘

shoutout to the institutions behind this β€” ily:

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 143 of file zstt22.f.

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code.


that's the whole page, bestie β€” mwah πŸ’‹ LAPACK Version 3.12.0 Β· TESTING/EIG/zstt22.f(3) Β· and the footer has no date line, so no made-up date from me πŸ™ˆπŸ’œ

πŸ“¦ where this page comes from