TESTING/EIG/cstt22.f(3)

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

πŸ’… TESTING/EIG/cstt22.f πŸ’…

okay bestie, welcome to the TESTING/EIG/cstt22.f(3) page from the Library Functions Manual β€” this is the little test routine that checks a Hermitian tridiagonal eigen-decomposition, and we are obsessed with the details βœ¨πŸ’–

🌸 NAME 🌸

TESTING/EIG/cstt22.f

✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

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

πŸ’– Function/Subroutine Documentation πŸ’–

🫢 subroutine cstt22 🫢

       subroutine cstt22 (integer n, integer m, integer kband, real, dimension( * )
           ad, real, dimension( * ) ae, real, dimension( * ) sd, real, dimension( *
           ) se, complex, dimension( ldu, * ) u, integer ldu, complex, dimension(
           ldwork, * ) work, integer ldwork, real, dimension( * ) rwork, real,
           dimension( 2 ) result)

CSTT22

πŸŽ€ Purpose πŸŽ€

CSTT22 checks a set of M eigenvalues and eigenvectors, like this:

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 )

πŸ’œ Parameters πŸ’œ

  • N β€” N is INTEGER. It's the size of the matrix. If it is zero, CSTT22 does nothing. It must be at least zero.
  • M β€” M is INTEGER. The number of eigenpairs to check. If it is zero, CSTT22 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 REAL array, dimension (N). The diagonal of the original (unfactored) matrix A. A is assumed to be Hermitian tridiagonal.
  • AE β€” AE is REAL 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 REAL array, dimension (N). The diagonal of the (Hermitian tri-) diagonal matrix S.
  • SE β€” SE is REAL 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 REAL 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 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 REAL array, dimension (N).
  • RESULT β€” RESULT is REAL array, dimension (2). The values computed by the two tests described above. The values are currently limited to 1/ulp, to avoid overflow.

πŸ‘‘ Author πŸ‘‘

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

Definition at line 143 of file cstt22.f.

πŸͺ„ Author πŸͺ„

Generated automatically by Doxygen for LAPACK from the source code.


mwah πŸ’‹ this page is LAPACK Version 3.12.0 for TESTING/EIG/cstt22.f(3), and the footer doesn't list a date β€” so no fake date from me, bestie 🫢✨

πŸ“¦ where this page comes from